From 08041bcf54ac4da7e3c775dcc3fa1c059ddc7e8b Mon Sep 17 00:00:00 2001 From: Sebastian Molenda Date: Mon, 5 May 2025 19:32:04 +0200 Subject: [PATCH 1/3] Introduce limit and next to ListFiles endpoint --- .pubnub.yml | 58 +- pubnub/endpoints/entities/endpoint.py | 13 +- .../endpoints/file_operations/list_files.py | 23 +- pubnub/models/consumer/file.py | 1 - pubnub/pubnub_core.py | 4 +- .../native_sync/file_upload/list_files.json | 207 +++++++- .../file_upload/list_files_with_limit.json | 444 ++++++++++++++++ .../file_upload/list_files_with_page.json | 497 ++++++++++++++++++ ...publish_file_message_with_custom_type.json | 6 +- .../send_and_download_encrypted_file.json | 325 ------------ ...wnload_encrypted_file_fallback_decode.json | 64 --- ..._and_download_file_using_bytes_object.json | 62 ++- .../send_and_download_gcm_encrypted_file.json | 64 --- .../native_sync/test_file_upload.py | 67 ++- 14 files changed, 1292 insertions(+), 543 deletions(-) create mode 100644 tests/integrational/fixtures/native_sync/file_upload/list_files_with_limit.json create mode 100644 tests/integrational/fixtures/native_sync/file_upload/list_files_with_page.json delete mode 100644 tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file.json delete mode 100644 tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file_fallback_decode.json delete mode 100644 tests/integrational/fixtures/native_sync/file_upload/send_and_download_gcm_encrypted_file.json diff --git a/.pubnub.yml b/.pubnub.yml index 3d09d2fa..ceadf511 100644 --- a/.pubnub.yml +++ b/.pubnub.yml @@ -24,10 +24,11 @@ sdks: supported-operating-systems: Linux: runtime-version: - - Python 3.7 - - Python 3.8 - Python 3.9 - Python 3.10 + - Python 3.11 + - Python 3.12 + - Python 3.13 minimum-os-version: - Ubuntu 12.04 maximum-os-version: @@ -37,10 +38,11 @@ sdks: - x86-64 macOS: runtime-version: - - Python 3.7 - - Python 3.8 - Python 3.9 - Python 3.10 + - Python 3.11 + - Python 3.12 + - Python 3.13 minimum-os-version: - macOS 10.12 maximum-os-version: @@ -49,10 +51,11 @@ sdks: - x86-64 Windows: runtime-version: - - Python 3.7 - - Python 3.8 - Python 3.9 - Python 3.10 + - Python 3.11 + - Python 3.12 + - Python 3.13 minimum-os-version: - Windows Vista Ultimate maximum-os-version: @@ -97,10 +100,11 @@ sdks: supported-operating-systems: Linux: runtime-version: - - Python 3.7 - - Python 3.8 - Python 3.9 - Python 3.10 + - Python 3.11 + - Python 3.12 + - Python 3.13 minimum-os-version: - Ubuntu 12.04 maximum-os-version: @@ -110,10 +114,11 @@ sdks: - x86-64 macOS: runtime-version: - - Python 3.7 - - Python 3.8 - Python 3.9 - Python 3.10 + - Python 3.11 + - Python 3.12 + - Python 3.13 minimum-os-version: - macOS 10.12 maximum-os-version: @@ -122,10 +127,11 @@ sdks: - x86-64 Windows: runtime-version: - - Python 3.7 - - Python 3.8 - Python 3.9 - Python 3.10 + - Python 3.11 + - Python 3.12 + - Python 3.13 minimum-os-version: - Windows Vista Ultimate maximum-os-version: @@ -772,19 +778,6 @@ supported-platforms: - python 3.5.2 - python 3.6.0 - pypy - - - version: PubNub Python Tornado SDK - platforms: - - FreeBSD 8-STABLE or later, amd64, 386 - - Linux 2.6 or later, amd64, 386. - - Mac OS X 10.8 or later, amd64 - - Windows 7 or later, amd64, 386 - editors: - - python 2.7.13 - - python 3.4.5 - - python 3.5.2 - - python 3.6.0 - - pypy - version: PubNub Python Asyncio SDK platforms: @@ -793,12 +786,9 @@ supported-platforms: - Mac OS X 10.8 or later, amd64 - Windows 7 or later, amd64, 386 editors: - - python 3.4.5 - - python 3.5.2 - - python 3.6.0 - - - version: PubNub Python Twisted SDK - platforms: - - Linux 2.6 or later, amd64, 386. - editors: - - python 2.7.13 + - python 3.9.21 + - python 3.10.16 + - python 3.11.11 + - python 3.12.9 + - python 3.13.2 + diff --git a/pubnub/endpoints/entities/endpoint.py b/pubnub/endpoints/entities/endpoint.py index eb5501f5..7153dacb 100644 --- a/pubnub/endpoints/entities/endpoint.py +++ b/pubnub/endpoints/entities/endpoint.py @@ -164,12 +164,13 @@ def spaces(self, spaces): class ListEndpoint: __metaclass__ = ABCMeta - def __init__(self): - self._limit = None - self._filter = None - self._include_total_count = None - self._sort_keys = None - self._page = None + def __init__(self, limit: int = None, filter: str = None, include_total_count: bool = None, + sort_keys: list = None, page: str = None): + self._limit = limit + self._filter = filter + self._include_total_count = include_total_count + self._sort_keys = sort_keys + self._page = page def limit(self, limit): self._limit = int(limit) diff --git a/pubnub/endpoints/file_operations/list_files.py b/pubnub/endpoints/file_operations/list_files.py index 05d09d9a..147c3791 100644 --- a/pubnub/endpoints/file_operations/list_files.py +++ b/pubnub/endpoints/file_operations/list_files.py @@ -14,10 +14,14 @@ class PNGetFilesResultEnvelope(Envelope): class ListFiles(FileOperationEndpoint): LIST_FILES_URL = "/v1/files/%s/channels/%s/files" _channel: str + _limit: int + _next: str - def __init__(self, pubnub, channel: str = None): + def __init__(self, pubnub, channel: str = None, *, limit: int = None, next: str = None): FileOperationEndpoint.__init__(self, pubnub) self._channel = channel + self._limit = limit + self._next = next def build_path(self): return ListFiles.LIST_FILES_URL % ( @@ -25,15 +29,28 @@ def build_path(self): utils.url_encode(self._channel) ) - def channel(self, channel) -> 'ListFiles': + def channel(self, channel: str) -> 'ListFiles': self._channel = channel return self + def limit(self, limit: int) -> 'ListFiles': + self._limit = limit + return self + + def next(self, next: str) -> 'ListFiles': + self._next = next + return self + def http_method(self): return HttpMethod.GET def custom_params(self): - return {} + params = {} + if self._limit: + params["limit"] = str(self._limit) + if self._next: + params["next"] = str(self._next) + return params def is_auth_required(self): return True diff --git a/pubnub/models/consumer/file.py b/pubnub/models/consumer/file.py index 705f8205..ed43d070 100644 --- a/pubnub/models/consumer/file.py +++ b/pubnub/models/consumer/file.py @@ -3,7 +3,6 @@ def __init__(self, result): self.data = result['data'] self.count = result.get('count', None) self.next = result.get('next', None) - self.prev = result.get('prev', None) def __str__(self): return "Get files success with data: %s" % self.data diff --git a/pubnub/pubnub_core.py b/pubnub/pubnub_core.py index 74eafc43..1822c430 100644 --- a/pubnub/pubnub_core.py +++ b/pubnub/pubnub_core.py @@ -466,8 +466,8 @@ def download_file(self): else: raise NotImplementedError - def list_files(self, channel: str = None) -> ListFiles: - return ListFiles(self, channel=channel) + def list_files(self, channel: str = None, *, limit: int = None, next: str = None) -> ListFiles: + return ListFiles(self, channel=channel, limit=limit, next=next) def get_file_url(self, channel: str = None, file_name: str = None, file_id: str = None) -> GetFileDownloadUrl: return GetFileDownloadUrl(self, channel=channel, file_name=file_name, file_id=file_id) diff --git a/tests/integrational/fixtures/native_sync/file_upload/list_files.json b/tests/integrational/fixtures/native_sync/file_upload/list_files.json index 3183220a..97174dcc 100644 --- a/tests/integrational/fixtures/native_sync/file_upload/list_files.json +++ b/tests/integrational/fixtures/native_sync/file_upload/list_files.json @@ -20,7 +20,7 @@ "keep-alive" ], "user-agent": [ - "PubNub-Python/9.1.0" + "PubNub-Python/10.3.0" ] } }, @@ -31,13 +31,74 @@ }, "headers": { "Date": [ - "Wed, 11 Dec 2024 18:05:29 GMT" + "Mon, 05 May 2025 17:29:23 GMT" ], "Content-Type": [ "application/json" ], "Content-Length": [ - "159" + "46" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVPgAAAAAAAAB9lIwGc3RyaW5nlIwueyJzdGF0dXMiOjIwMCwiZGF0YSI6W10sIm5leHQiOm51bGwsImNvdW50IjowfZRzLg==" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/generate-upload-url?uuid=files_native_sync_uuid", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:29:23 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" ], "Connection": [ "keep-alive" @@ -50,7 +111,139 @@ ] }, "body": { - "pickle": "gASVrwAAAAAAAAB9lIwGc3RyaW5nlIyfeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiZmY3MmY1OTktNmQ5MS00YWY2LWFkZDYtNGU3MjFiZGVkYzkwIiwic2l6ZSI6NDgsImNyZWF0ZWQiOiIyMDI0LTEyLTExVDEzOjIyOjEzWiJ9XSwibmV4dCI6bnVsbCwiY291bnQiOjF9lHMu" + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6ImEyMDEyNWFlLTRiZmUtNDNmMC04ZmYzLWZjNDBiMzg3NWEzMSIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTc6MzA6MjNaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS9hMjAxMjVhZS00YmZlLTQzZjAtOGZmMy1mYzQwYjM4NzVhMzEva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTczMDIzWiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk16QTZNak5hSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZZVEl3TVRJMVlXVXROR0ptWlMwME0yWXdMVGhtWmpNdFptTTBNR0l6T0RjMVlUTXhMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3pNREl6V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiJhNzA0OGVkNGFhZTRmYWNlNzA5NzY4MmEwY2JmYTNjY2IyYjc0YmU1ZmRkNTk5MTJjYzZhNjhlOWJmZDI5MGNjIn1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tNWY0YTU2NGYyMGYzYzY3ZTVhODBkOTEzNTZjNjBkMmENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tNWY0YTU2NGYyMGYzYzY3ZTVhODBkOTEzNTZjNjBkMmENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS9hMjAxMjVhZS00YmZlLTQzZjAtOGZmMy1mYzQwYjM4NzVhMzEva2luZ19hcnRodXIudHh0DQotLTVmNGE1NjRmMjBmM2M2N2U1YTgwZDkxMzU2YzYwZDJhDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS01ZjRhNTY0ZjIwZjNjNjdlNWE4MGQ5MTM1NmM2MGQyYQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTVmNGE1NjRmMjBmM2M2N2U1YTgwZDkxMzU2YzYwZDJhDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tNWY0YTU2NGYyMGYzYzY3ZTVhODBkOTEzNTZjNjBkMmENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTVmNGE1NjRmMjBmM2M2N2U1YTgwZDkxMzU2YzYwZDJhDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE3MzAyM1oNCi0tNWY0YTU2NGYyMGYzYzY3ZTVhODBkOTEzNTZjNjBkMmENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk16QTZNak5hSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZZVEl3TVRJMVlXVXROR0ptWlMwME0yWXdMVGhtWmpNdFptTTBNR0l6T0RjMVlUTXhMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3pNREl6V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS01ZjRhNTY0ZjIwZjNjNjdlNWE4MGQ5MTM1NmM2MGQyYQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCmE3MDQ4ZWQ0YWFlNGZhY2U3MDk3NjgyYTBjYmZhM2NjYjJiNzRiZTVmZGQ1OTkxMmNjNmE2OGU5YmZkMjkwY2MNCi0tNWY0YTU2NGYyMGYzYzY3ZTVhODBkOTEzNTZjNjBkMmENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS01ZjRhNTY0ZjIwZjNjNjdlNWE4MGQ5MTM1NmM2MGQyYS0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=5f4a564f20f3c67e5a80d91356c60d2a" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "KMWhuIpgJTAb1ZLozNB+BrdYpNLkzhIhIldKdlh8O/sF2KE8m2hkURX1ejYmHSk0lf1vsHKoj74=" + ], + "x-amz-request-id": [ + "5XGCS2TGTHN2BEH6" + ], + "Date": [ + "Mon, 05 May 2025 17:29:24 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2Ff-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ%2Fa20125ae-4bfe-43f0-8ff3-fc40b3875a31%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_native_sync_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%22a20125ae-4bfe-43f0-8ff3-fc40b3875a31%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222&uuid=files_native_sync_uuid", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:29:23 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDY2MTYzNTg5OTc3NCJdlHMu" } } }, @@ -73,7 +266,7 @@ "keep-alive" ], "user-agent": [ - "PubNub-Python/9.1.0" + "PubNub-Python/10.3.0" ] } }, @@ -84,7 +277,7 @@ }, "headers": { "Date": [ - "Wed, 11 Dec 2024 18:05:30 GMT" + "Mon, 05 May 2025 17:29:23 GMT" ], "Content-Type": [ "application/json" @@ -103,7 +296,7 @@ ] }, "body": { - "pickle": "gASVrwAAAAAAAAB9lIwGc3RyaW5nlIyfeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiZmY3MmY1OTktNmQ5MS00YWY2LWFkZDYtNGU3MjFiZGVkYzkwIiwic2l6ZSI6NDgsImNyZWF0ZWQiOiIyMDI0LTEyLTExVDEzOjIyOjEzWiJ9XSwibmV4dCI6bnVsbCwiY291bnQiOjF9lHMu" + "pickle": "gASVrwAAAAAAAAB9lIwGc3RyaW5nlIyfeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiYTIwMTI1YWUtNGJmZS00M2YwLThmZjMtZmM0MGIzODc1YTMxIiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjI5OjI0WiJ9XSwibmV4dCI6bnVsbCwiY291bnQiOjF9lHMu" } } } diff --git a/tests/integrational/fixtures/native_sync/file_upload/list_files_with_limit.json b/tests/integrational/fixtures/native_sync/file_upload/list_files_with_limit.json new file mode 100644 index 00000000..0babf704 --- /dev/null +++ b/tests/integrational/fixtures/native_sync/file_upload/list_files_with_limit.json @@ -0,0 +1,444 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/generate-upload-url?uuid=files_native_sync_uuid", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:43 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6IjBiN2YxOWI4LWZkYTItNGQ2ZC05NDE1LWVmMjg2Y2Y4NzZkNiIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTc6Mjc6NDNaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS8wYjdmMTliOC1mZGEyLTRkNmQtOTQxNS1lZjI4NmNmODc2ZDYva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTcyNzQzWiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORE5hSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZNR0kzWmpFNVlqZ3RabVJoTWkwMFpEWmtMVGswTVRVdFpXWXlPRFpqWmpnM05tUTJMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelF6V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiIzNDlhYTc5NTMzZjkwNTM0MjM5NTU0OTNiYmU4ZDlmNDE5NWU2Njk3NzdkYTRhNTY0ZjUzNTYxZTYyNTBkZTE0In1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tNGI0YzY5ODFiMmQ1ZGI4YjZlNWFjN2MxNjg3MjJlZGQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tNGI0YzY5ODFiMmQ1ZGI4YjZlNWFjN2MxNjg3MjJlZGQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS8wYjdmMTliOC1mZGEyLTRkNmQtOTQxNS1lZjI4NmNmODc2ZDYva2luZ19hcnRodXIudHh0DQotLTRiNGM2OTgxYjJkNWRiOGI2ZTVhYzdjMTY4NzIyZWRkDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS00YjRjNjk4MWIyZDVkYjhiNmU1YWM3YzE2ODcyMmVkZA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTRiNGM2OTgxYjJkNWRiOGI2ZTVhYzdjMTY4NzIyZWRkDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tNGI0YzY5ODFiMmQ1ZGI4YjZlNWFjN2MxNjg3MjJlZGQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTRiNGM2OTgxYjJkNWRiOGI2ZTVhYzdjMTY4NzIyZWRkDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE3Mjc0M1oNCi0tNGI0YzY5ODFiMmQ1ZGI4YjZlNWFjN2MxNjg3MjJlZGQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORE5hSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZNR0kzWmpFNVlqZ3RabVJoTWkwMFpEWmtMVGswTVRVdFpXWXlPRFpqWmpnM05tUTJMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelF6V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS00YjRjNjk4MWIyZDVkYjhiNmU1YWM3YzE2ODcyMmVkZA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjM0OWFhNzk1MzNmOTA1MzQyMzk1NTQ5M2JiZThkOWY0MTk1ZTY2OTc3N2RhNGE1NjRmNTM1NjFlNjI1MGRlMTQNCi0tNGI0YzY5ODFiMmQ1ZGI4YjZlNWFjN2MxNjg3MjJlZGQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS00YjRjNjk4MWIyZDVkYjhiNmU1YWM3YzE2ODcyMmVkZC0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=4b4c6981b2d5db8b6e5ac7c168722edd" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "amer7xRKmC2SYEwmNrozPyNOU4OvHiPC2Sm+NzOCwO0RJXek26HFEEFwjkge29S/H5G+FEjcUc4=" + ], + "x-amz-request-id": [ + "S4GTWC6QP161RQCH" + ], + "Date": [ + "Mon, 05 May 2025 17:26:44 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2Ff-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ%2F0b7f19b8-fda2-4d6d-9415-ef286cf876d6%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_native_sync_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%220b7f19b8-fda2-4d6d-9415-ef286cf876d6%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222&uuid=files_native_sync_uuid", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:43 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDY2MDAzOTM4ODkyNyJdlHMu" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/generate-upload-url?uuid=files_native_sync_uuid", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:43 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6IjVlOWYzY2IwLWE1MTMtNDM1OC1hNjY4LTM3ZmY2MzU0ODI3NiIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTc6Mjc6NDNaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS81ZTlmM2NiMC1hNTEzLTQzNTgtYTY2OC0zN2ZmNjM1NDgyNzYva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTcyNzQzWiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORE5hSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZOV1U1WmpOallqQXRZVFV4TXkwME16VTRMV0UyTmpndE16ZG1aall6TlRRNE1qYzJMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelF6V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiI2NjVmN2UyZjI0ODYyZDM0MzFlYTY1OWQ3M2NmN2IyYTQ5OWFlMmY2YjZlZTY4ZDAxNWM0YmE3MDE2NTdiYWY0In1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tMWM4NjU1NzllYzE3OWU5NTBkZTY0NDgwMGYzNzY4YWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tMWM4NjU1NzllYzE3OWU5NTBkZTY0NDgwMGYzNzY4YWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS81ZTlmM2NiMC1hNTEzLTQzNTgtYTY2OC0zN2ZmNjM1NDgyNzYva2luZ19hcnRodXIudHh0DQotLTFjODY1NTc5ZWMxNzllOTUwZGU2NDQ4MDBmMzc2OGFiDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS0xYzg2NTU3OWVjMTc5ZTk1MGRlNjQ0ODAwZjM3NjhhYg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTFjODY1NTc5ZWMxNzllOTUwZGU2NDQ4MDBmMzc2OGFiDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tMWM4NjU1NzllYzE3OWU5NTBkZTY0NDgwMGYzNzY4YWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTFjODY1NTc5ZWMxNzllOTUwZGU2NDQ4MDBmMzc2OGFiDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE3Mjc0M1oNCi0tMWM4NjU1NzllYzE3OWU5NTBkZTY0NDgwMGYzNzY4YWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORE5hSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZOV1U1WmpOallqQXRZVFV4TXkwME16VTRMV0UyTmpndE16ZG1aall6TlRRNE1qYzJMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelF6V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS0xYzg2NTU3OWVjMTc5ZTk1MGRlNjQ0ODAwZjM3NjhhYg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjY2NWY3ZTJmMjQ4NjJkMzQzMWVhNjU5ZDczY2Y3YjJhNDk5YWUyZjZiNmVlNjhkMDE1YzRiYTcwMTY1N2JhZjQNCi0tMWM4NjU1NzllYzE3OWU5NTBkZTY0NDgwMGYzNzY4YWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS0xYzg2NTU3OWVjMTc5ZTk1MGRlNjQ0ODAwZjM3NjhhYi0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=1c865579ec179e950de644800f3768ab" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "g+i9m3kwWzjk5lB3Zpx4XFoPALFHP4B01by9UIZXnwluSFKG9kx+7y2BgdJ9cTTfnSoRTrCwv9g=" + ], + "x-amz-request-id": [ + "DQ5KRDG47JK00YJ1" + ], + "Date": [ + "Mon, 05 May 2025 17:26:45 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2Ff-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ%2F5e9f3cb0-a513-4358-a668-37ff63548276%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_native_sync_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%225e9f3cb0-a513-4358-a668-37ff63548276%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222&uuid=files_native_sync_uuid", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:44 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDY2MDA0MTY1NzU2OCJdlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/files?limit=2&uuid=files_native_sync_uuid", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:44 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "528" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVIwIAAAAAAAB9lIwGc3RyaW5nlFgQAgAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMGI3ZjE5YjgtZmRhMi00ZDZkLTk0MTUtZWYyODZjZjg3NmQ2Iiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjI2OjQ0WiJ9LHsibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiNWU5ZjNjYjAtYTUxMy00MzU4LWE2NjgtMzdmZjYzNTQ4Mjc2Iiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjI2OjQ1WiJ9XSwibmV4dCI6IjFIYXQxa3pmRDdEOFFPWm90UDlfZEtOWDE1VW5YblBaaEd3d0ZYeFotZ3BYUnVfQnkyT1JjOUF1bDhlSU9iVU9vZnJWQ01HT2hxaXZodUV4Ul9pSEo1dFJCVy1yQ1IyeGctTzNUM3RKcVQ5X2VMTzgxQVo4SkRoT0xKQjJuTV91c2ZzR2J6azE5SFlVcFBCNzVEYU91Wi1WWUtVOUluMTRSSWtnWnF0anBTZ2NiVFItM1NpOVNTZHk4dllfOUticmlkRjhMQzQ2cWJOSmd3cng5XzF5ekJMbGl6THNXTWxCS25MU0FMcVhxZ09CMEh1Ym9RVDVMS3Y0N2E5MEEyOVVzIiwiY291bnQiOjJ9lHMu" + } + } + } + ] +} diff --git a/tests/integrational/fixtures/native_sync/file_upload/list_files_with_page.json b/tests/integrational/fixtures/native_sync/file_upload/list_files_with_page.json new file mode 100644 index 00000000..78d58476 --- /dev/null +++ b/tests/integrational/fixtures/native_sync/file_upload/list_files_with_page.json @@ -0,0 +1,497 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/generate-upload-url?uuid=files_native_sync_uuid", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:44 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6IjRkYzk3ODQ5LWUwYjktNDY5My05M2JmLWY1NzUwOGU4YThiOSIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTc6Mjc6NDRaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS80ZGM5Nzg0OS1lMGI5LTQ2OTMtOTNiZi1mNTc1MDhlOGE4Yjkva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTcyNzQ0WiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORFJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZOR1JqT1RjNE5Ea3RaVEJpT1MwME5qa3pMVGt6WW1ZdFpqVTNOVEE0WlRoaE9HSTVMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelEwV2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiIxZDUxNDM1NTJkNThiODkyNzVhODMwYjYxODQ2ZjY4N2RiYmY0ZTFkMGI0NmI4NmVkMGQwMDZkOGVkZTMxNTEzIn1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tMDBkMmU1Zjk1Mzk3ZThmZGEwMGM5Y2UzMmYwOGVmMjANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tMDBkMmU1Zjk1Mzk3ZThmZGEwMGM5Y2UzMmYwOGVmMjANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS80ZGM5Nzg0OS1lMGI5LTQ2OTMtOTNiZi1mNTc1MDhlOGE4Yjkva2luZ19hcnRodXIudHh0DQotLTAwZDJlNWY5NTM5N2U4ZmRhMDBjOWNlMzJmMDhlZjIwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS0wMGQyZTVmOTUzOTdlOGZkYTAwYzljZTMyZjA4ZWYyMA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTAwZDJlNWY5NTM5N2U4ZmRhMDBjOWNlMzJmMDhlZjIwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tMDBkMmU1Zjk1Mzk3ZThmZGEwMGM5Y2UzMmYwOGVmMjANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTAwZDJlNWY5NTM5N2U4ZmRhMDBjOWNlMzJmMDhlZjIwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE3Mjc0NFoNCi0tMDBkMmU1Zjk1Mzk3ZThmZGEwMGM5Y2UzMmYwOGVmMjANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORFJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZOR1JqT1RjNE5Ea3RaVEJpT1MwME5qa3pMVGt6WW1ZdFpqVTNOVEE0WlRoaE9HSTVMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelEwV2lJZ2ZRb0pYUXA5Q2c9PQ0KLS0wMGQyZTVmOTUzOTdlOGZkYTAwYzljZTMyZjA4ZWYyMA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjFkNTE0MzU1MmQ1OGI4OTI3NWE4MzBiNjE4NDZmNjg3ZGJiZjRlMWQwYjQ2Yjg2ZWQwZDAwNmQ4ZWRlMzE1MTMNCi0tMDBkMmU1Zjk1Mzk3ZThmZGEwMGM5Y2UzMmYwOGVmMjANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS0wMGQyZTVmOTUzOTdlOGZkYTAwYzljZTMyZjA4ZWYyMC0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=00d2e5f95397e8fda00c9ce32f08ef20" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "OJZfFnASui1ViIXZF7IT1c1ZcbpFRPNcStxcsu4JbHMYynJCzlDqnK32rZqulxs319ufL831F/Q=" + ], + "x-amz-request-id": [ + "DQ5GHR7WMGHGXSF6" + ], + "Date": [ + "Mon, 05 May 2025 17:26:45 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2Ff-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ%2F4dc97849-e0b9-4693-93bf-f57508e8a8b9%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_native_sync_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%224dc97849-e0b9-4693-93bf-f57508e8a8b9%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222&uuid=files_native_sync_uuid", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:44 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDY2MDA0NTcyNDg4MyJdlHMu" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/generate-upload-url?uuid=files_native_sync_uuid", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:44 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6ImU3NDI2MGMwLTY5NjAtNDczZS1iNzQ5LWNiMzMzZGE0ZWViMCIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTc6Mjc6NDRaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS9lNzQyNjBjMC02OTYwLTQ3M2UtYjc0OS1jYjMzM2RhNGVlYjAva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTcyNzQ0WiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORFJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZaVGMwTWpZd1l6QXROamsyTUMwME56TmxMV0kzTkRrdFkySXpNek5rWVRSbFpXSXdMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelEwV2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiJlMGYxM2FlNjhjZTJhOGIwNzNjNDhjYjYwMzA1ODI0Y2U3ZTJhZGU0MjA2N2E5YmQ5NzBmMDk4ZGIzOGFmMTdhIn1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tODdjOTgwZDAxYzZjZTcyNmRkMzhlZjY5ODk0OWI2NTENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tODdjOTgwZDAxYzZjZTcyNmRkMzhlZjY5ODk0OWI2NTENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS9lNzQyNjBjMC02OTYwLTQ3M2UtYjc0OS1jYjMzM2RhNGVlYjAva2luZ19hcnRodXIudHh0DQotLTg3Yzk4MGQwMWM2Y2U3MjZkZDM4ZWY2OTg5NDliNjUxDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS04N2M5ODBkMDFjNmNlNzI2ZGQzOGVmNjk4OTQ5YjY1MQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTg3Yzk4MGQwMWM2Y2U3MjZkZDM4ZWY2OTg5NDliNjUxDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tODdjOTgwZDAxYzZjZTcyNmRkMzhlZjY5ODk0OWI2NTENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTg3Yzk4MGQwMWM2Y2U3MjZkZDM4ZWY2OTg5NDliNjUxDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE3Mjc0NFoNCi0tODdjOTgwZDAxYzZjZTcyNmRkMzhlZjY5ODk0OWI2NTENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORFJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZaVGMwTWpZd1l6QXROamsyTUMwME56TmxMV0kzTkRrdFkySXpNek5rWVRSbFpXSXdMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelEwV2lJZ2ZRb0pYUXA5Q2c9PQ0KLS04N2M5ODBkMDFjNmNlNzI2ZGQzOGVmNjk4OTQ5YjY1MQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCmUwZjEzYWU2OGNlMmE4YjA3M2M0OGNiNjAzMDU4MjRjZTdlMmFkZTQyMDY3YTliZDk3MGYwOThkYjM4YWYxN2ENCi0tODdjOTgwZDAxYzZjZTcyNmRkMzhlZjY5ODk0OWI2NTENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS04N2M5ODBkMDFjNmNlNzI2ZGQzOGVmNjk4OTQ5YjY1MS0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=87c980d01c6ce726dd38ef698949b651" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "9BuW9puKcB8Hmdv0kff0uvWXFmgksd6UT/eCqvF3exF24OdzO6GNCHZ5cJT1PDCqHBTv/wLy3TE=" + ], + "x-amz-request-id": [ + "DQ5GGJNF0JYG9ZXG" + ], + "Date": [ + "Mon, 05 May 2025 17:26:45 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2Ff-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ%2Fe74260c0-6960-473e-b749-cb333da4eeb0%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_native_sync_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%22e74260c0-6960-473e-b749-cb333da4eeb0%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222&uuid=files_native_sync_uuid", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:44 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDY2MDA0ODA5Nzc5NSJdlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/files?limit=2&uuid=files_native_sync_uuid", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:44 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "528" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVIwIAAAAAAAB9lIwGc3RyaW5nlFgQAgAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMGI3ZjE5YjgtZmRhMi00ZDZkLTk0MTUtZWYyODZjZjg3NmQ2Iiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjI2OjQ0WiJ9LHsibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiNGRjOTc4NDktZTBiOS00NjkzLTkzYmYtZjU3NTA4ZThhOGI5Iiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjI2OjQ1WiJ9XSwibmV4dCI6IjFjOTQwOXdCZUd3cWpsVjd2cFFHbFBHd1dLSm9EYXNMVWNId3FuaERZdGMzdkphcXRXZndKMmJid1lMQkM4YXlQOHYtZzJFSThVaXhQVEMyNFBCeEZOS3JMdzU1OTctd3MtTWZIQnV6WGhFclp2NTVMWE5HbEp1N2N5VEpRSFhlUUotUm5sQk83bnlVS3Y1LWYxMTJocVFxOWk3ZWpSS3pPa1BfZUk3ZnRqQTI0NVltZ2dpdzhLZy15RTU5akFLdUlrSHFzRk1KSGM2WWZyQzc5QUxTclhwa0NrZ082dGJ4RVpPZHZwbl8tdWk4XzlwalhtRGhKXy1ZZHFzREpJMGtHIiwiY291bnQiOjJ9lHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/files?limit=2&next=1c9409wBeGwqjlV7vpQGlPGwWKJoDasLUcHwqnhDYtc3vJaqtWfwJ2bbwYLBC8ayP8v-g2EI8UixPTC24PBxFNKrLw5597-ws-MfHBuzXhErZv55LXNGlJu7cyTJQHXeQJ-RnlBO7nyUKv5-f112hqQq9i7ejRKzOkP_eI7ftjA245Ymggiw8Kg-yE59jAKuIkHqsFMJHc6YfrC79ALSrXpkCkgO6tbxEZOdvpn_-ui8_9pjXmDhJ_-YdqsDJI0kG&uuid=files_native_sync_uuid", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 17:26:45 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "528" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVIwIAAAAAAAB9lIwGc3RyaW5nlFgQAgAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiNWU5ZjNjYjAtYTUxMy00MzU4LWE2NjgtMzdmZjYzNTQ4Mjc2Iiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjI2OjQ1WiJ9LHsibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiODM1MDk1ZWItZWRjNi00ZjUyLTk0ZDktMjQ5Mzc1NmNmNWFhIiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE0OjM1OjQzWiJ9XSwibmV4dCI6IjFvX1RfNFVrQ3F6eUdYb0xjSzhSajIwRmY1TGdVUnZ3VGpuQzNUNFZjZ3lCbXBUNVg4WUdsTjFEdXlPRVFEZ0lxa05NZ3ZTelJRTFJ5d1JzSUdzYkVIU0NiaVJTM1hDdnBPSHY0Z1d2aHpuakNxSDNySkdZcjg4dFgtZDRtdGRuOEQzNUdxdldiZTlUNThoMXM2N0h0al9GU1lCLTZpUWk0QzhULUtKQU9wYkNGNExONHkybk5ocE1HdXViMEZYWjFfcmhWUmVhQU56Q1ZoVlY5V2lqTmtZR2ZkVUF2eTIxS080Wkl2TDRpbC1RNXZ5S3B5eFRaakEyUk9xeURGNnlMIiwiY291bnQiOjJ9lHMu" + } + } + } + ] +} diff --git a/tests/integrational/fixtures/native_sync/file_upload/publish_file_message_with_custom_type.json b/tests/integrational/fixtures/native_sync/file_upload/publish_file_message_with_custom_type.json index b70d9957..6b291b86 100644 --- a/tests/integrational/fixtures/native_sync/file_upload/publish_file_message_with_custom_type.json +++ b/tests/integrational/fixtures/native_sync/file_upload/publish_file_message_with_custom_type.json @@ -20,7 +20,7 @@ "keep-alive" ], "user-agent": [ - "PubNub-Python/9.1.0" + "PubNub-Python/10.3.0" ] } }, @@ -31,7 +31,7 @@ }, "headers": { "Date": [ - "Wed, 11 Dec 2024 18:00:04 GMT" + "Mon, 05 May 2025 17:26:52 GMT" ], "Content-Type": [ "text/javascript; charset=\"UTF-8\"" @@ -56,7 +56,7 @@ ] }, "body": { - "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzMzOTQwMDA0NzgzMTU4NSJdlHMu" + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDY2MDEyMDg5OTY2MyJdlHMu" } } } diff --git a/tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file.json b/tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file.json deleted file mode 100644 index bc0b8821..00000000 --- a/tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file.json +++ /dev/null @@ -1,325 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/generate-upload-url?uuid=files_native_sync_uuid", - "body": { - "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" - }, - "headers": { - "host": [ - "ps.pndsn.com" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "PubNub-Python/9.1.0" - ], - "content-type": [ - "application/json" - ], - "content-length": [ - "27" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Date": [ - "Wed, 11 Dec 2024 18:09:34 GMT" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1982" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - }, - "body": { - "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6ImViZTYzODk1LWVlZmItNGIzYS1iMWM5LTdmNjUwMzZjZmM1NCIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjQtMTItMTFUMTg6MTA6MzRaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS9lYmU2Mzg5NS1lZWZiLTRiM2EtYjFjOS03ZjY1MDM2Y2ZjNTQva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjQxMjExL3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNDEyMTFUMTgxMDM0WiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpRdE1USXRNVEZVTVRnNk1UQTZNelJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZaV0psTmpNNE9UVXRaV1ZtWWkwMFlqTmhMV0l4WXprdE4yWTJOVEF6Tm1ObVl6VTBMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpReE1qRXhMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOREV5TVRGVU1UZ3hNRE0wV2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiJlZWEwZGM1Yzk2NTA3YmRiNmJmMmQzYmY4YTEyYjM1MTg5ZjI1NWZhOWYxMGYyOGEyNTQ1ZmRjZmY1YWQ1ODM4In1dfX2Ucy4=" - } - } - }, - { - "request": { - "method": "POST", - "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", - "body": { - "pickle": "gASVPQkAAAAAAABCNgkAAC0tYzhmM2E3ODFiY2NkODA3ZGQzMWRjNzdiMDNkMjJhMGYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tYzhmM2E3ODFiY2NkODA3ZGQzMWRjNzdiMDNkMjJhMGYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS9lYmU2Mzg5NS1lZWZiLTRiM2EtYjFjOS03ZjY1MDM2Y2ZjNTQva2luZ19hcnRodXIudHh0DQotLWM4ZjNhNzgxYmNjZDgwN2RkMzFkYzc3YjAzZDIyYTBmDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS1jOGYzYTc4MWJjY2Q4MDdkZDMxZGM3N2IwM2QyMmEwZg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI0MTIxMS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLWM4ZjNhNzgxYmNjZDgwN2RkMzFkYzc3YjAzZDIyYTBmDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tYzhmM2E3ODFiY2NkODA3ZGQzMWRjNzdiMDNkMjJhMGYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLWM4ZjNhNzgxYmNjZDgwN2RkMzFkYzc3YjAzZDIyYTBmDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjQxMjExVDE4MTAzNFoNCi0tYzhmM2E3ODFiY2NkODA3ZGQzMWRjNzdiMDNkMjJhMGYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpRdE1USXRNVEZVTVRnNk1UQTZNelJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZaV0psTmpNNE9UVXRaV1ZtWWkwMFlqTmhMV0l4WXprdE4yWTJOVEF6Tm1ObVl6VTBMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpReE1qRXhMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOREV5TVRGVU1UZ3hNRE0wV2lJZ2ZRb0pYUXA5Q2c9PQ0KLS1jOGYzYTc4MWJjY2Q4MDdkZDMxZGM3N2IwM2QyMmEwZg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCmVlYTBkYzVjOTY1MDdiZGI2YmYyZDNiZjhhMTJiMzUxODlmMjU1ZmE5ZjEwZjI4YTI1NDVmZGNmZjVhZDU4MzgNCi0tYzhmM2E3ODFiY2NkODA3ZGQzMWRjNzdiMDNkMjJhMGYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KREWuym67nuVjBCNZjphL+Z370w1rl4BqzO46IemrhzYdR8wt/BuPP2+ln3puUGyJDQotLWM4ZjNhNzgxYmNjZDgwN2RkMzFkYzc3YjAzZDIyYTBmLS0NCpQu" - }, - "headers": { - "host": [ - "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "PubNub-Python/9.1.0" - ], - "content-length": [ - "2358" - ], - "content-type": [ - "multipart/form-data; boundary=c8f3a781bccd807dd31dc77b03d22a0f" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "No Content" - }, - "headers": { - "x-amz-id-2": [ - "8fc1Vq/xhadzRf738YxDz092BrVVm5WppIWtWGHp/H0q/9NV45cZsx/8Dn8WidracRhCZ5CUZ5s=" - ], - "x-amz-request-id": [ - "ERF2JDZK7A8VTG35" - ], - "Date": [ - "Wed, 11 Dec 2024 18:09:36 GMT" - ], - "x-amz-expiration": [ - "expiry-date=\"Fri, 13 Dec 2024 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" - ], - "x-amz-server-side-encryption": [ - "AES256" - ], - "ETag": [ - "\"bf4d8ce78234cc7e984a5ca6ad6dc641\"" - ], - "Location": [ - "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2Ff-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ%2Febe63895-eefb-4b3a-b1c9-7f65036cfc54%2Fking_arthur.txt" - ], - "Server": [ - "AmazonS3" - ] - }, - "body": { - "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" - } - } - }, - { - "request": { - "method": "GET", - "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_native_sync_ch/0/%22xaV64cWsa2P3j5u5piKvm%2FbdHdLnqJ9P8kAsuQ7tehjctPjw2ctuX4JiyomF8bbGdjOle0mVKkoQXOAotxpwhWMBeQWVHx%2FiwU1LWfxjoXCD9CB%2BJKf6Bsep8TUZRkjHAitmDtigGGXTTh8iTEg437rfTftA%2BGjKwkehoXbcRkpidsCzMeMyqTL6yB5dsd8g%22?meta=null&store=1&ttl=222&uuid=files_native_sync_uuid", - "body": "", - "headers": { - "host": [ - "ps.pndsn.com" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "PubNub-Python/9.1.0" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Date": [ - "Wed, 11 Dec 2024 18:09:35 GMT" - ], - "Content-Type": [ - "text/javascript; charset=\"UTF-8\"" - ], - "Content-Length": [ - "30" - ], - "Connection": [ - "keep-alive" - ], - "Cache-Control": [ - "no-cache" - ], - "Access-Control-Allow-Methods": [ - "GET" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - }, - "body": { - "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzMzOTQwNTc1NDc3NTA1NiJdlHMu" - } - } - }, - { - "request": { - "method": "GET", - "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/files/ebe63895-eefb-4b3a-b1c9-7f65036cfc54/king_arthur.txt?uuid=files_native_sync_uuid", - "body": "", - "headers": { - "host": [ - "ps.pndsn.com" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "PubNub-Python/9.1.0" - ] - } - }, - "response": { - "status": { - "code": 307, - "message": "Temporary Redirect" - }, - "headers": { - "Date": [ - "Wed, 11 Dec 2024 18:09:35 GMT" - ], - "Content-Length": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Cache-Control": [ - "public, max-age=3265, immutable" - ], - "Location": [ - "https://files-us-east-1.pndsn.com/{PN_KEY_SUBSCRIBE}/f-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ/ebe63895-eefb-4b3a-b1c9-7f65036cfc54/king_arthur.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY7AU6GQDV5LCPVEX%2F20241211%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241211T180000Z&X-Amz-Expires=3900&X-Amz-SignedHeaders=host&X-Amz-Signature=a60a6ce22d6785a958fb2317f9b55d8f523362eba5a5a079f2992df13b499e81" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - }, - "body": { - "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" - } - } - }, - { - "request": { - "method": "GET", - "uri": "https://files-us-east-1.pndsn.com/{PN_KEY_SUBSCRIBE}/f-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ/ebe63895-eefb-4b3a-b1c9-7f65036cfc54/king_arthur.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY7AU6GQDV5LCPVEX%2F20241211%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241211T180000Z&X-Amz-Expires=3900&X-Amz-Signature=a60a6ce22d6785a958fb2317f9b55d8f523362eba5a5a079f2992df13b499e81&X-Amz-SignedHeaders=host", - "body": "", - "headers": { - "host": [ - "files-us-east-1.pndsn.com" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "PubNub-Python/9.1.0" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Content-Type": [ - "text/plain; charset=utf-8" - ], - "Content-Length": [ - "48" - ], - "Connection": [ - "keep-alive" - ], - "Date": [ - "Wed, 11 Dec 2024 18:09:36 GMT" - ], - "Last-Modified": [ - "Wed, 11 Dec 2024 18:09:36 GMT" - ], - "x-amz-expiration": [ - "expiry-date=\"Fri, 13 Dec 2024 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" - ], - "ETag": [ - "\"bf4d8ce78234cc7e984a5ca6ad6dc641\"" - ], - "x-amz-server-side-encryption": [ - "AES256" - ], - "Accept-Ranges": [ - "bytes" - ], - "Server": [ - "AmazonS3" - ], - "X-Cache": [ - "Miss from cloudfront" - ], - "Via": [ - "1.1 a44d1ad097088acd1fcfb2c987944ab8.cloudfront.net (CloudFront)" - ], - "X-Amz-Cf-Pop": [ - "MRS52-C1" - ], - "X-Amz-Cf-Id": [ - "Qy9rpgmy00XsdVoVbZ-PT3mizm0bPS-LUBigjjuqsDYFd9daW0J8GQ==" - ] - }, - "body": { - "pickle": "gASVQAAAAAAAAAB9lIwGc3RyaW5nlEMwREWuym67nuVjBCNZjphL+Z370w1rl4BqzO46IemrhzYdR8wt/BuPP2+ln3puUGyJlHMu" - } - } - } - ] -} diff --git a/tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file_fallback_decode.json b/tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file_fallback_decode.json deleted file mode 100644 index d6a953f7..00000000 --- a/tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file_fallback_decode.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/generate-upload-url?uuid=uuid-mock", - "body": "{\"name\": \"king_arthur.txt\"}", - "headers": { - "host": [ - "ps.pndsn.com" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "PubNub-Python/9.1.0" - ], - "content-type": [ - "application/json" - ], - "content-length": [ - "27" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Date": [ - "Fri, 06 Dec 2024 23:08:26 GMT" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1982" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - }, - "body": { - "string": "{\"status\":200,\"data\":{\"id\":\"6fad526d-ab5f-4941-8d01-5a2630b34ab1\",\"name\":\"king_arthur.txt\"},\"file_upload_request\":{\"url\":\"https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/\",\"method\":\"POST\",\"expiration_date\":\"2024-12-06T23:09:26Z\",\"form_fields\":[{\"key\":\"tagging\",\"value\":\"\\u003cTagging\\u003e\\u003cTagSet\\u003e\\u003cTag\\u003e\\u003cKey\\u003eObjectTTLInDays\\u003c/Key\\u003e\\u003cValue\\u003e1\\u003c/Value\\u003e\\u003c/Tag\\u003e\\u003c/TagSet\\u003e\\u003c/Tagging\\u003e\"},{\"key\":\"key\",\"value\":\"{PN_KEY_SUBSCRIBE}/f-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ/6fad526d-ab5f-4941-8d01-5a2630b34ab1/king_arthur.txt\"},{\"key\":\"Content-Type\",\"value\":\"text/plain; charset=utf-8\"},{\"key\":\"X-Amz-Credential\",\"value\":\"AKIAY7AU6GQDV5LCPVEX/20241206/us-east-1/s3/aws4_request\"},{\"key\":\"X-Amz-Security-Token\",\"value\":\"\"},{\"key\":\"X-Amz-Algorithm\",\"value\":\"AWS4-HMAC-SHA256\"},{\"key\":\"X-Amz-Date\",\"value\":\"20241206T230926Z\"},{\"key\":\"Policy\",\"value\":\"CnsKCSJleHBpcmF0aW9uIjogIjIwMjQtMTItMDZUMjM6MDk6MjZaIiwKCSJjb25kaXRpb25zIjogWwoJCXsiYnVja2V0IjogInB1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZCJ9LAoJCVsiZXEiLCAiJHRhZ2dpbmciLCAiPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4iXSwKCQlbImVxIiwgIiRrZXkiLCAic3ViLWMtZDBiOGU1NDItMTJhMC00MWM0LTk5OWYtYTJkNTY5ZGM0MjU1L2YtdElBY05YSk85bTgxZldWVl9vLWZTUS12ZXVwTnJUbG9WQVVQYmVVUVEvNmZhZDUyNmQtYWI1Zi00OTQxLThkMDEtNWEyNjMwYjM0YWIxL2tpbmdfYXJ0aHVyLnR4dCJdLAoJCVsiY29udGVudC1sZW5ndGgtcmFuZ2UiLCAwLCA1MjQyODgwXSwKCQlbInN0YXJ0cy13aXRoIiwgIiRDb250ZW50LVR5cGUiLCAiIl0sCgkJeyJ4LWFtei1jcmVkZW50aWFsIjogIkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjQxMjA2L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSwKCQl7IngtYW16LXNlY3VyaXR5LXRva2VuIjogIiJ9LAoJCXsieC1hbXotYWxnb3JpdGhtIjogIkFXUzQtSE1BQy1TSEEyNTYifSwKCQl7IngtYW16LWRhdGUiOiAiMjAyNDEyMDZUMjMwOTI2WiIgfQoJXQp9Cg==\"},{\"key\":\"X-Amz-Signature\",\"value\":\"c80dc1a774e80a5c2545944e21b935d5191a58e4471ae872ea88e4d375eaa702\"}]}}" - } - } - } - ] -} diff --git a/tests/integrational/fixtures/native_sync/file_upload/send_and_download_file_using_bytes_object.json b/tests/integrational/fixtures/native_sync/file_upload/send_and_download_file_using_bytes_object.json index 0a096440..ee722417 100644 --- a/tests/integrational/fixtures/native_sync/file_upload/send_and_download_file_using_bytes_object.json +++ b/tests/integrational/fixtures/native_sync/file_upload/send_and_download_file_using_bytes_object.json @@ -22,7 +22,7 @@ "keep-alive" ], "user-agent": [ - "PubNub-Python/9.1.0" + "PubNub-Python/10.3.0" ], "content-type": [ "application/json" @@ -39,7 +39,7 @@ }, "headers": { "Date": [ - "Wed, 11 Dec 2024 18:09:02 GMT" + "Mon, 05 May 2025 17:26:45 GMT" ], "Content-Type": [ "application/json" @@ -58,7 +58,7 @@ ] }, "body": { - "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6ImNmNWMwOTdkLWMzMDEtNGU5NS04NmFjLWFkYWY3MmMxNzNmZSIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjQtMTItMTFUMTg6MTA6MDJaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS9jZjVjMDk3ZC1jMzAxLTRlOTUtODZhYy1hZGFmNzJjMTczZmUva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjQxMjExL3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNDEyMTFUMTgxMDAyWiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpRdE1USXRNVEZVTVRnNk1UQTZNREphSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZZMlkxWXpBNU4yUXRZek13TVMwMFpUazFMVGcyWVdNdFlXUmhaamN5WXpFM00yWmxMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpReE1qRXhMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOREV5TVRGVU1UZ3hNREF5V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiI1NmRjZDllZjY2OGUzNTk2ZGZmZGViNWRmNmUwYzc2MjgzNzgwYWQ0OTllYzM1NDY5ODZlZTllY2M1MzUzZjA1In1dfX2Ucy4=" + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6IjVhZGE1ZTMyLTdhZjItNDA1ZS1hNjg5LTM3YzQ5OWE3MmY3NCIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTc6Mjc6NDVaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS81YWRhNWUzMi03YWYyLTQwNWUtYTY4OS0zN2M0OTlhNzJmNzQva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTcyNzQ1WiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORFZhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZOV0ZrWVRWbE16SXROMkZtTWkwME1EVmxMV0UyT0RrdE16ZGpORGs1WVRjeVpqYzBMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelExV2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiIwNzAyZGNmYzkwNDlmYmZhOWI0ZTFmYmZhNTg3NTNkNWM5NjBiNjk0MTEzOTVjYjM0OTU0Mzg2OThhYjg3YjgzIn1dfX2Ucy4=" } } }, @@ -67,7 +67,7 @@ "method": "POST", "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", "body": { - "pickle": "gASVIAkAAAAAAABYGQkAAC0tODAyYWU4Zjc0NTNiMzIxOTcxOGNlZTRmNWIyNThmOGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tODAyYWU4Zjc0NTNiMzIxOTcxOGNlZTRmNWIyNThmOGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS9jZjVjMDk3ZC1jMzAxLTRlOTUtODZhYy1hZGFmNzJjMTczZmUva2luZ19hcnRodXIudHh0DQotLTgwMmFlOGY3NDUzYjMyMTk3MThjZWU0ZjViMjU4ZjhiDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS04MDJhZThmNzQ1M2IzMjE5NzE4Y2VlNGY1YjI1OGY4Yg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI0MTIxMS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTgwMmFlOGY3NDUzYjMyMTk3MThjZWU0ZjViMjU4ZjhiDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tODAyYWU4Zjc0NTNiMzIxOTcxOGNlZTRmNWIyNThmOGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTgwMmFlOGY3NDUzYjMyMTk3MThjZWU0ZjViMjU4ZjhiDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjQxMjExVDE4MTAwMloNCi0tODAyYWU4Zjc0NTNiMzIxOTcxOGNlZTRmNWIyNThmOGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpRdE1USXRNVEZVTVRnNk1UQTZNREphSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZZMlkxWXpBNU4yUXRZek13TVMwMFpUazFMVGcyWVdNdFlXUmhaamN5WXpFM00yWmxMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpReE1qRXhMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOREV5TVRGVU1UZ3hNREF5V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS04MDJhZThmNzQ1M2IzMjE5NzE4Y2VlNGY1YjI1OGY4Yg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjU2ZGNkOWVmNjY4ZTM1OTZkZmZkZWI1ZGY2ZTBjNzYyODM3ODBhZDQ5OWVjMzU0Njk4NmVlOWVjYzUzNTNmMDUNCi0tODAyYWU4Zjc0NTNiMzIxOTcxOGNlZTRmNWIyNThmOGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS04MDJhZThmNzQ1M2IzMjE5NzE4Y2VlNGY1YjI1OGY4Yi0tDQqULg==" + "pickle": "gASVIAkAAAAAAABYGQkAAC0tNzU1ZDZmNTBhZWY1NjgwZWIwOTRkNTk2NTg1Yjg2MTINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tNzU1ZDZmNTBhZWY1NjgwZWIwOTRkNTk2NTg1Yjg2MTINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvZi10SUFjTlhKTzltODFmV1ZWX28tZlNRLXZldXBOclRsb1ZBVVBiZVVRUS81YWRhNWUzMi03YWYyLTQwNWUtYTY4OS0zN2M0OTlhNzJmNzQva2luZ19hcnRodXIudHh0DQotLTc1NWQ2ZjUwYWVmNTY4MGViMDk0ZDU5NjU4NWI4NjEyDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS03NTVkNmY1MGFlZjU2ODBlYjA5NGQ1OTY1ODViODYxMg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTc1NWQ2ZjUwYWVmNTY4MGViMDk0ZDU5NjU4NWI4NjEyDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tNzU1ZDZmNTBhZWY1NjgwZWIwOTRkNTk2NTg1Yjg2MTINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTc1NWQ2ZjUwYWVmNTY4MGViMDk0ZDU5NjU4NWI4NjEyDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE3Mjc0NVoNCi0tNzU1ZDZmNTBhZWY1NjgwZWIwOTRkNTk2NTg1Yjg2MTINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRjNk1qYzZORFZhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMMll0ZEVsQlkwNVlTazg1YlRneFpsZFdWbDl2TFdaVFVTMTJaWFZ3VG5KVWJHOVdRVlZRWW1WVlVWRXZOV0ZrWVRWbE16SXROMkZtTWkwME1EVmxMV0UyT0RrdE16ZGpORGs1WVRjeVpqYzBMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1UY3lOelExV2lJZ2ZRb0pYUXA5Q2c9PQ0KLS03NTVkNmY1MGFlZjU2ODBlYjA5NGQ1OTY1ODViODYxMg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjA3MDJkY2ZjOTA0OWZiZmE5YjRlMWZiZmE1ODc1M2Q1Yzk2MGI2OTQxMTM5NWNiMzQ5NTQzODY5OGFiODdiODMNCi0tNzU1ZDZmNTBhZWY1NjgwZWIwOTRkNTk2NTg1Yjg2MTINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS03NTVkNmY1MGFlZjU2ODBlYjA5NGQ1OTY1ODViODYxMi0tDQqULg==" }, "headers": { "host": [ @@ -83,13 +83,13 @@ "keep-alive" ], "user-agent": [ - "PubNub-Python/9.1.0" + "PubNub-Python/10.3.0" ], "content-length": [ "2329" ], "content-type": [ - "multipart/form-data; boundary=802ae8f7453b3219718cee4f5b258f8b" + "multipart/form-data; boundary=755d6f50aef5680eb094d596585b8612" ] } }, @@ -100,16 +100,16 @@ }, "headers": { "x-amz-id-2": [ - "fV5MzRnZKaf6N20hgK1u/NDp8LJHLYE/39ZoxyNm3kmc13HBpCGAzuySWZ29vYd4Qy+aXNUvj5k=" + "rm37yK+XDaYKTBgd07v9YFziOhWVqA4IES8sVnGkBx19MS81My8D4Gupv8MFHwO7KHK1JsFY+XU=" ], "x-amz-request-id": [ - "BQ2ZJCE1H7YXJ87D" + "PG9EWRZY678V3C32" ], "Date": [ - "Wed, 11 Dec 2024 18:09:04 GMT" + "Mon, 05 May 2025 17:26:46 GMT" ], "x-amz-expiration": [ - "expiry-date=\"Fri, 13 Dec 2024 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" ], "x-amz-server-side-encryption": [ "AES256" @@ -117,8 +117,14 @@ "ETag": [ "\"3676cdb7a927db43c846070c4e7606c7\"" ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], "Location": [ - "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2Ff-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ%2Fcf5c097d-c301-4e95-86ac-adaf72c173fe%2Fking_arthur.txt" + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2Ff-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ%2F5ada5e32-7af2-405e-a689-37c499a72f74%2Fking_arthur.txt" ], "Server": [ "AmazonS3" @@ -132,7 +138,7 @@ { "request": { "method": "GET", - "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_native_sync_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%22cf5c097d-c301-4e95-86ac-adaf72c173fe%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222&uuid=files_native_sync_uuid", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_native_sync_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%225ada5e32-7af2-405e-a689-37c499a72f74%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222&uuid=files_native_sync_uuid", "body": "", "headers": { "host": [ @@ -148,7 +154,7 @@ "keep-alive" ], "user-agent": [ - "PubNub-Python/9.1.0" + "PubNub-Python/10.3.0" ] } }, @@ -159,7 +165,7 @@ }, "headers": { "Date": [ - "Wed, 11 Dec 2024 18:09:03 GMT" + "Mon, 05 May 2025 17:26:45 GMT" ], "Content-Type": [ "text/javascript; charset=\"UTF-8\"" @@ -184,14 +190,14 @@ ] }, "body": { - "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzMzOTQwNTQzMTM4MTIyMiJdlHMu" + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDY2MDA1MzcyMzAxOSJdlHMu" } } }, { "request": { "method": "GET", - "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/files/cf5c097d-c301-4e95-86ac-adaf72c173fe/king_arthur.txt?uuid=files_native_sync_uuid", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/files/5ada5e32-7af2-405e-a689-37c499a72f74/king_arthur.txt?uuid=files_native_sync_uuid", "body": "", "headers": { "host": [ @@ -207,7 +213,7 @@ "keep-alive" ], "user-agent": [ - "PubNub-Python/9.1.0" + "PubNub-Python/10.3.0" ] } }, @@ -218,7 +224,7 @@ }, "headers": { "Date": [ - "Wed, 11 Dec 2024 18:09:03 GMT" + "Mon, 05 May 2025 17:26:45 GMT" ], "Content-Length": [ "0" @@ -227,10 +233,10 @@ "keep-alive" ], "Cache-Control": [ - "public, max-age=3297, immutable" + "public, max-age=2235, immutable" ], "Location": [ - "https://files-us-east-1.pndsn.com/{PN_KEY_SUBSCRIBE}/f-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ/cf5c097d-c301-4e95-86ac-adaf72c173fe/king_arthur.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY7AU6GQDV5LCPVEX%2F20241211%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241211T180000Z&X-Amz-Expires=3900&X-Amz-SignedHeaders=host&X-Amz-Signature=3824c1c7fc58f5b8081736b0682927dc3295a34f49cc8979739fa2fea961dfd8" + "https://files-us-east-1.pndsn.com/{PN_KEY_SUBSCRIBE}/f-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ/5ada5e32-7af2-405e-a689-37c499a72f74/king_arthur.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY7AU6GQDV5LCPVEX%2F20250505%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250505T170000Z&X-Amz-Expires=3900&X-Amz-SignedHeaders=host&X-Amz-Signature=5bf956d706948317e4a273e9d72aa73ad53280083ec0652869771b1c4f9ea496" ], "Access-Control-Allow-Credentials": [ "true" @@ -247,7 +253,7 @@ { "request": { "method": "GET", - "uri": "https://files-us-east-1.pndsn.com/{PN_KEY_SUBSCRIBE}/f-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ/cf5c097d-c301-4e95-86ac-adaf72c173fe/king_arthur.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY7AU6GQDV5LCPVEX%2F20241211%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241211T180000Z&X-Amz-Expires=3900&X-Amz-Signature=3824c1c7fc58f5b8081736b0682927dc3295a34f49cc8979739fa2fea961dfd8&X-Amz-SignedHeaders=host", + "uri": "https://files-us-east-1.pndsn.com/{PN_KEY_SUBSCRIBE}/f-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ/5ada5e32-7af2-405e-a689-37c499a72f74/king_arthur.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY7AU6GQDV5LCPVEX%2F20250505%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250505T170000Z&X-Amz-Expires=3900&X-Amz-Signature=5bf956d706948317e4a273e9d72aa73ad53280083ec0652869771b1c4f9ea496&X-Amz-SignedHeaders=host", "body": "", "headers": { "host": [ @@ -263,7 +269,7 @@ "keep-alive" ], "user-agent": [ - "PubNub-Python/9.1.0" + "PubNub-Python/10.3.0" ] } }, @@ -283,13 +289,13 @@ "keep-alive" ], "Date": [ - "Wed, 11 Dec 2024 18:09:04 GMT" + "Mon, 05 May 2025 17:26:46 GMT" ], "Last-Modified": [ - "Wed, 11 Dec 2024 18:09:04 GMT" + "Mon, 05 May 2025 17:26:46 GMT" ], "x-amz-expiration": [ - "expiry-date=\"Fri, 13 Dec 2024 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" ], "ETag": [ "\"3676cdb7a927db43c846070c4e7606c7\"" @@ -307,13 +313,13 @@ "Miss from cloudfront" ], "Via": [ - "1.1 a44d1ad097088acd1fcfb2c987944ab8.cloudfront.net (CloudFront)" + "1.1 befaf84d2b5b5495b5f5f2179d57efc0.cloudfront.net (CloudFront)" ], "X-Amz-Cf-Pop": [ - "MRS52-C1" + "WAW51-P1" ], "X-Amz-Cf-Id": [ - "3C2JK-vEpWXvubW2yarshDe4ZIjeFHByRyoXqjOW0geUqR_LoEMCjg==" + "f5rE8L4uRFLL_vg_09WRUbOJrGXmI1S4VAIujMN4AY4GlkAxcF18PA==" ] }, "body": { diff --git a/tests/integrational/fixtures/native_sync/file_upload/send_and_download_gcm_encrypted_file.json b/tests/integrational/fixtures/native_sync/file_upload/send_and_download_gcm_encrypted_file.json deleted file mode 100644 index edd94631..00000000 --- a/tests/integrational/fixtures/native_sync/file_upload/send_and_download_gcm_encrypted_file.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_native_sync_ch/generate-upload-url?uuid=uuid-mock", - "body": "{\"name\": \"king_arthur.txt\"}", - "headers": { - "host": [ - "ps.pndsn.com" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "PubNub-Python/9.1.0" - ], - "content-type": [ - "application/json" - ], - "content-length": [ - "27" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Date": [ - "Fri, 06 Dec 2024 23:08:25 GMT" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1982" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - }, - "body": { - "string": "{\"status\":200,\"data\":{\"id\":\"0c1cd496-4371-4d12-b4ec-3cce862430df\",\"name\":\"king_arthur.txt\"},\"file_upload_request\":{\"url\":\"https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/\",\"method\":\"POST\",\"expiration_date\":\"2024-12-06T23:09:25Z\",\"form_fields\":[{\"key\":\"tagging\",\"value\":\"\\u003cTagging\\u003e\\u003cTagSet\\u003e\\u003cTag\\u003e\\u003cKey\\u003eObjectTTLInDays\\u003c/Key\\u003e\\u003cValue\\u003e1\\u003c/Value\\u003e\\u003c/Tag\\u003e\\u003c/TagSet\\u003e\\u003c/Tagging\\u003e\"},{\"key\":\"key\",\"value\":\"{PN_KEY_SUBSCRIBE}/f-tIAcNXJO9m81fWVV_o-fSQ-veupNrTloVAUPbeUQQ/0c1cd496-4371-4d12-b4ec-3cce862430df/king_arthur.txt\"},{\"key\":\"Content-Type\",\"value\":\"text/plain; charset=utf-8\"},{\"key\":\"X-Amz-Credential\",\"value\":\"AKIAY7AU6GQDV5LCPVEX/20241206/us-east-1/s3/aws4_request\"},{\"key\":\"X-Amz-Security-Token\",\"value\":\"\"},{\"key\":\"X-Amz-Algorithm\",\"value\":\"AWS4-HMAC-SHA256\"},{\"key\":\"X-Amz-Date\",\"value\":\"20241206T230925Z\"},{\"key\":\"Policy\",\"value\":\"CnsKCSJleHBpcmF0aW9uIjogIjIwMjQtMTItMDZUMjM6MDk6MjVaIiwKCSJjb25kaXRpb25zIjogWwoJCXsiYnVja2V0IjogInB1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZCJ9LAoJCVsiZXEiLCAiJHRhZ2dpbmciLCAiPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4iXSwKCQlbImVxIiwgIiRrZXkiLCAic3ViLWMtZDBiOGU1NDItMTJhMC00MWM0LTk5OWYtYTJkNTY5ZGM0MjU1L2YtdElBY05YSk85bTgxZldWVl9vLWZTUS12ZXVwTnJUbG9WQVVQYmVVUVEvMGMxY2Q0OTYtNDM3MS00ZDEyLWI0ZWMtM2NjZTg2MjQzMGRmL2tpbmdfYXJ0aHVyLnR4dCJdLAoJCVsiY29udGVudC1sZW5ndGgtcmFuZ2UiLCAwLCA1MjQyODgwXSwKCQlbInN0YXJ0cy13aXRoIiwgIiRDb250ZW50LVR5cGUiLCAiIl0sCgkJeyJ4LWFtei1jcmVkZW50aWFsIjogIkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjQxMjA2L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSwKCQl7IngtYW16LXNlY3VyaXR5LXRva2VuIjogIiJ9LAoJCXsieC1hbXotYWxnb3JpdGhtIjogIkFXUzQtSE1BQy1TSEEyNTYifSwKCQl7IngtYW16LWRhdGUiOiAiMjAyNDEyMDZUMjMwOTI1WiIgfQoJXQp9Cg==\"},{\"key\":\"X-Amz-Signature\",\"value\":\"13f8bebac2c91148fc71ec50aaefd3b9f03150b2b969f45f82a0e6c3484395eb\"}]}}" - } - } - } - ] -} diff --git a/tests/integrational/native_sync/test_file_upload.py b/tests/integrational/native_sync/test_file_upload.py index e90cf4cf..a594f134 100644 --- a/tests/integrational/native_sync/test_file_upload.py +++ b/tests/integrational/native_sync/test_file_upload.py @@ -55,13 +55,15 @@ def send_file(file_for_upload, cipher_key=None, pass_binary=False, timetoken_ove "tests/integrational/fixtures/native_sync/file_upload/list_files.json", serializer="pn_json", filter_query_parameters=('pnsdk',) ) -def test_list_files(file_upload_test_data): +def test_list_files(file_upload_test_data, file_for_upload): envelope = pubnub.list_files().channel(CHANNEL).sync() files = envelope.result.data for i in range(len(files) - 1): file = files[i] pubnub.delete_file().channel(CHANNEL).file_id(file["id"]).file_name(file["name"]).sync() + envelope = send_file(file_for_upload, pass_binary=True) + envelope = pubnub.list_files().channel(CHANNEL).sync() assert isinstance(envelope.result, PNGetFilesResult) @@ -69,10 +71,45 @@ def test_list_files(file_upload_test_data): assert file_upload_test_data["UPLOADED_FILENAME"] == envelope.result.data[0]["name"] -# @pn_vcr.use_cassette( -# "tests/integrational/fixtures/native_sync/file_upload/send_and_download_file_using_bytes_object.json", -# filter_query_parameters=('pnsdk',), serializer="pn_json" -# ) +@pn_vcr.use_cassette( + "tests/integrational/fixtures/native_sync/file_upload/list_files_with_limit.json", serializer="pn_json", + filter_query_parameters=('pnsdk',) +) +def test_list_files_with_limit(file_for_upload, file_upload_test_data): + envelope = send_file(file_for_upload, pass_binary=True) + envelope = send_file(file_for_upload, pass_binary=True) + envelope = pubnub.list_files().channel(CHANNEL).limit(2).sync() + assert isinstance(envelope.result, PNGetFilesResult) + assert envelope.result.count == 2 + assert file_upload_test_data["UPLOADED_FILENAME"] == envelope.result.data[0]["name"] + + +@pn_vcr.use_cassette( + "tests/integrational/fixtures/native_sync/file_upload/list_files_with_page.json", serializer="pn_json", + filter_query_parameters=('pnsdk',) +) +def test_list_files_with_page(file_for_upload, file_upload_test_data): + envelope = send_file(file_for_upload, pass_binary=True) + envelope = send_file(file_for_upload, pass_binary=True) + envelope = pubnub.list_files().channel(CHANNEL).limit(2).sync() + assert isinstance(envelope.result, PNGetFilesResult) + assert envelope.result.count == 2 + assert envelope.result.next is not None + next_page = envelope.result.next + file_ids = [envelope.result.data[0]['id'], envelope.result.data[1]['id']] + envelope = pubnub.list_files().channel(CHANNEL).limit(2).next(next_page).sync() + assert isinstance(envelope.result, PNGetFilesResult) + assert envelope.result.count == 2 + assert envelope.result.next is not None + assert envelope.result.data[0]['id'] not in file_ids + assert envelope.result.data[1]['id'] not in file_ids + assert file_upload_test_data["UPLOADED_FILENAME"] == envelope.result.data[0]["name"] + + +@pn_vcr.use_cassette( + "tests/integrational/fixtures/native_sync/file_upload/send_and_download_file_using_bytes_object.json", + filter_query_parameters=('pnsdk',), serializer="pn_json" +) def test_send_and_download_file_using_bytes_object(file_for_upload, file_upload_test_data): envelope = send_file(file_for_upload, pass_binary=True) @@ -86,6 +123,7 @@ def test_send_and_download_file_using_bytes_object(file_for_upload, file_upload_ assert data == bytes(file_upload_test_data["FILE_CONTENT"], "utf-8") +# TODO: fix VCR to handle utf-8 properly # @pn_vcr.use_cassette( # "tests/integrational/fixtures/native_sync/file_upload/send_and_download_encrypted_file.json", # filter_query_parameters=('pnsdk',), serializer="pn_json" @@ -105,10 +143,11 @@ def test_send_and_download_encrypted_file(file_for_upload, file_upload_test_data assert data == bytes(file_upload_test_data["FILE_CONTENT"], "utf-8") +# TODO: fix VCR to handle utf-8 properly # @pn_vcr_with_empty_body_request.use_cassette( # "tests/integrational/fixtures/native_sync/file_upload/file_size_exceeded_maximum_size.json", serializer="pn_json", # filter_query_parameters=('pnsdk',) -# # ) +# ) def test_file_exceeded_maximum_size(file_for_upload_10mb_size): with pytest.raises(PubNubException) as exception: send_file(file_for_upload_10mb_size) @@ -297,6 +336,10 @@ def test_send_and_download_encrypted_file_fallback_decode(file_for_upload, file_ assert data == bytes(file_upload_test_data["FILE_CONTENT"], "utf-8") +@pn_vcr.use_cassette( + "tests/integrational/fixtures/native_sync/file_upload/publish_file_message_with_custom_type.json", + filter_query_parameters=('pnsdk',), serializer='pn_json' +) def test_publish_file_message_with_custom_type(): with pn_vcr.use_cassette( "tests/integrational/fixtures/native_sync/file_upload/publish_file_message_with_custom_type.json", @@ -318,3 +361,15 @@ def test_publish_file_message_with_custom_type(): query = parse_qs(uri.query) assert 'custom_message_type' in query.keys() assert query['custom_message_type'] == ['test_message'] + + +def test_delete_all_files(): + envelope = pubnub.list_files().channel(CHANNEL).sync() + files = envelope.result.data + for i in range(len(files)): + file = files[i] + pubnub.delete_file().channel(CHANNEL).file_id(file["id"]).file_name(file["name"]).sync() + envelope = pubnub.list_files().channel(CHANNEL).sync() + + assert isinstance(envelope.result, PNGetFilesResult) + assert envelope.result.count == 0 From bf61bf7ce3a438cbfc5fda6daf442907bac57905 Mon Sep 17 00:00:00 2001 From: Sebastian Molenda Date: Mon, 5 May 2025 21:15:47 +0200 Subject: [PATCH 2/3] Asyncio tests --- .../integrational/asyncio/test_file_upload.py | 79 ++- .../asyncio/file_upload/list_files.json | 429 ++++++++++++++- .../file_upload/list_files_with_limit.json | 444 ++++++++++++++++ .../file_upload/list_files_with_page.json | 497 ++++++++++++++++++ 4 files changed, 1441 insertions(+), 8 deletions(-) create mode 100644 tests/integrational/fixtures/asyncio/file_upload/list_files_with_limit.json create mode 100644 tests/integrational/fixtures/asyncio/file_upload/list_files_with_page.json diff --git a/tests/integrational/asyncio/test_file_upload.py b/tests/integrational/asyncio/test_file_upload.py index cd7d8c5c..c4832cd8 100644 --- a/tests/integrational/asyncio/test_file_upload.py +++ b/tests/integrational/asyncio/test_file_upload.py @@ -57,12 +57,87 @@ async def test_delete_file(file_for_upload): filter_query_parameters=['uuid', 'l_file', 'pnsdk'] ) @pytest.mark.asyncio(loop_scope="module") -async def test_list_files(): +async def test_list_files(file_for_upload, file_upload_test_data): pubnub = PubNubAsyncio(pnconf_env_copy()) + pubnub.config.uuid = "files_asyncio_uuid" + + # Clear existing files first to ensure a clean state + envelope = await pubnub.list_files().channel(CHANNEL).future() + files = envelope.result.data + for i in range(len(files)): + file = files[i] + await pubnub.delete_file().channel(CHANNEL).file_id(file["id"]).file_name(file["name"]).future() + + envelope = await send_file(pubnub, file_for_upload) + + envelope = await pubnub.list_files().channel(CHANNEL).future() + + assert isinstance(envelope.result, PNGetFilesResult) + assert envelope.result.count == 1 + assert file_upload_test_data["UPLOADED_FILENAME"] == envelope.result.data[0]["name"] + await pubnub.stop() + + +@pn_vcr.use_cassette( + "tests/integrational/fixtures/asyncio/file_upload/list_files_with_limit.json", serializer="pn_json", + filter_query_parameters=['uuid', 'l_file', 'pnsdk'] +) +@pytest.mark.asyncio(loop_scope="module") +async def test_list_files_with_limit(file_for_upload, file_upload_test_data): + pubnub = PubNubAsyncio(pnconf_env_copy()) + pubnub.config.uuid = "files_asyncio_uuid" + await send_file(pubnub, file_for_upload) + await send_file(pubnub, file_for_upload) + envelope = await pubnub.list_files().channel(CHANNEL).limit(2).future() + assert isinstance(envelope.result, PNGetFilesResult) + assert envelope.result.count == 2 + assert file_upload_test_data["UPLOADED_FILENAME"] == envelope.result.data[0]["name"] + await pubnub.stop() + + +@pn_vcr.use_cassette( + "tests/integrational/fixtures/asyncio/file_upload/list_files_with_page.json", serializer="pn_json", + filter_query_parameters=['uuid', 'l_file', 'pnsdk'] +) +@pytest.mark.asyncio(loop_scope="module") +async def test_list_files_with_page(file_for_upload, file_upload_test_data): + pubnub = PubNubAsyncio(pnconf_env_copy()) + pubnub.config.uuid = "files_asyncio_uuid" + await send_file(pubnub, file_for_upload) + await send_file(pubnub, file_for_upload) + envelope = await pubnub.list_files().channel(CHANNEL).limit(2).future() + assert isinstance(envelope.result, PNGetFilesResult) + assert envelope.result.count == 2 + assert envelope.result.next is not None + next_page = envelope.result.next + file_ids = [envelope.result.data[0]['id'], envelope.result.data[1]['id']] + envelope = await pubnub.list_files().channel(CHANNEL).limit(2).next(next_page).future() + assert isinstance(envelope.result, PNGetFilesResult) + assert envelope.result.count == 2 + assert envelope.result.next is not None + assert envelope.result.data[0]['id'] not in file_ids + assert envelope.result.data[1]['id'] not in file_ids + assert file_upload_test_data["UPLOADED_FILENAME"] == envelope.result.data[0]["name"] + await pubnub.stop() + + +# @pn_vcr.use_cassette( # Needs new recording for asyncio +# "tests/integrational/fixtures/asyncio/file_upload/delete_all_files.json", serializer="pn_json", +# filter_query_parameters=['uuid', 'l_file', 'pnsdk'] +# ) +@pytest.mark.asyncio(loop_scope="module") +async def test_delete_all_files(): + pubnub = PubNubAsyncio(pnconf_env_copy()) + pubnub.config.uuid = "files_asyncio_uuid" + envelope = await pubnub.list_files().channel(CHANNEL).future() + files = envelope.result.data + for i in range(len(files)): + file = files[i] + await pubnub.delete_file().channel(CHANNEL).file_id(file["id"]).file_name(file["name"]).future() envelope = await pubnub.list_files().channel(CHANNEL).future() assert isinstance(envelope.result, PNGetFilesResult) - assert envelope.result.count == 7 + assert envelope.result.count == 0 await pubnub.stop() diff --git a/tests/integrational/fixtures/asyncio/file_upload/list_files.json b/tests/integrational/fixtures/asyncio/file_upload/list_files.json index 4b96c037..e9ee2e92 100644 --- a/tests/integrational/fixtures/asyncio/file_upload/list_files.json +++ b/tests/integrational/fixtures/asyncio/file_upload/list_files.json @@ -5,10 +5,427 @@ "request": { "method": "GET", "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/files", - "body": null, + "body": "", "headers": { - "User-Agent": [ - "PubNub-Python-Asyncio/9.1.0" + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:12:38 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "387" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVlgEAAAAAAAB9lIwGc3RyaW5nlFiDAQAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMzgzOWQwZTgtMTZhMi00YWQ3LWIzOWYtYTNiZTFlZWVjNDc5Iiwic2l6ZSI6NDgsImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE5OjEyOjE0WiJ9LHsibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiNjc1YzEyNzAtZDhlNC00Y2I5LTg3ODctNzg4ZTZhYzExNmMzIiwic2l6ZSI6NDgsImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE5OjEyOjEzWiJ9LHsibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiZTc5NzJiYjMtYjNjNC00ZGNhLWI3ZGEtZTc1NWViNzlhOThiIiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE5OjEyOjEyWiJ9XSwibmV4dCI6bnVsbCwiY291bnQiOjN9lHMu" + } + } + }, + { + "request": { + "method": "DELETE", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/files/3839d0e8-16a2-4ad7-b39f-a3be1eeec479/king_arthur.txt", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:12:38 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "14" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVHgAAAAAAAAB9lIwGc3RyaW5nlIwOeyJzdGF0dXMiOjIwMH2Ucy4=" + } + } + }, + { + "request": { + "method": "DELETE", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/files/675c1270-d8e4-4cb9-8787-788e6ac116c3/king_arthur.txt", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:12:38 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "14" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVHgAAAAAAAAB9lIwGc3RyaW5nlIwOeyJzdGF0dXMiOjIwMH2Ucy4=" + } + } + }, + { + "request": { + "method": "DELETE", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/files/e7972bb3-b3c4-4dca-b7da-e755eb79a98b/king_arthur.txt", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:12:39 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "14" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVHgAAAAAAAAB9lIwGc3RyaW5nlIwOeyJzdGF0dXMiOjIwMH2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/generate-upload-url", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:12:39 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6ImQyZTliZjZiLTVjMTAtNDNmMC1hMDJjLThiNTQzNWE5Y2E4MiIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTk6MTM6MzlaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC9kMmU5YmY2Yi01YzEwLTQzZjAtYTAyYy04YjU0MzVhOWNhODIva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTkxMzM5WiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1UTTZNemxhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZaREpsT1dKbU5tSXROV014TUMwME0yWXdMV0V3TW1NdE9HSTFORE0xWVRsallUZ3lMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNek01V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiI4Y2MwNzY3ZmUwYjNjNzY2YWI2ODAyZmY2YTc3ODYzZmFhNDAzMzc5MDlkZGE0YTI4MGFjYmZmN2Y0NmU4ODhhIn1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tNmM3MDQxNjQwNDQ3OTUyODFiNDhjYjNlZThmMWYzODcNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tNmM3MDQxNjQwNDQ3OTUyODFiNDhjYjNlZThmMWYzODcNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC9kMmU5YmY2Yi01YzEwLTQzZjAtYTAyYy04YjU0MzVhOWNhODIva2luZ19hcnRodXIudHh0DQotLTZjNzA0MTY0MDQ0Nzk1MjgxYjQ4Y2IzZWU4ZjFmMzg3DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS02YzcwNDE2NDA0NDc5NTI4MWI0OGNiM2VlOGYxZjM4Nw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTZjNzA0MTY0MDQ0Nzk1MjgxYjQ4Y2IzZWU4ZjFmMzg3DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tNmM3MDQxNjQwNDQ3OTUyODFiNDhjYjNlZThmMWYzODcNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTZjNzA0MTY0MDQ0Nzk1MjgxYjQ4Y2IzZWU4ZjFmMzg3DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE5MTMzOVoNCi0tNmM3MDQxNjQwNDQ3OTUyODFiNDhjYjNlZThmMWYzODcNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1UTTZNemxhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZaREpsT1dKbU5tSXROV014TUMwME0yWXdMV0V3TW1NdE9HSTFORE0xWVRsallUZ3lMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNek01V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS02YzcwNDE2NDA0NDc5NTI4MWI0OGNiM2VlOGYxZjM4Nw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjhjYzA3NjdmZTBiM2M3NjZhYjY4MDJmZjZhNzc4NjNmYWE0MDMzNzkwOWRkYTRhMjgwYWNiZmY3ZjQ2ZTg4OGENCi0tNmM3MDQxNjQwNDQ3OTUyODFiNDhjYjNlZThmMWYzODcNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS02YzcwNDE2NDA0NDc5NTI4MWI0OGNiM2VlOGYxZjM4Ny0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=6c704164044795281b48cb3ee8f1f387" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "85SjBmIyCQndWlkzK8O4n1rRoKxMtrlSa/LvqfnoO963n0d2SJ1FFzWTPZCvWVr1lynek7IwWlc=" + ], + "x-amz-request-id": [ + "7NNZRH6V1BNZNSKG" + ], + "Date": [ + "Mon, 05 May 2025 19:12:40 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2F0MR1-z2w0nSJYxwEy74p5QjV85TmgNBKPrV71t55NT0%2Fd2e9bf6b-5c10-43f0-a02c-8b5435a9ca82%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_asyncio_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%22d2e9bf6b-5c10-43f0-a02c-8b5435a9ca82%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:12:39 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDcyMzU5OTgwMzk5NSJdlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/files", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" ] } }, @@ -19,13 +436,13 @@ }, "headers": { "Date": [ - "Tue, 03 Dec 2024 14:47:49 GMT" + "Mon, 05 May 2025 19:12:40 GMT" ], "Content-Type": [ "application/json" ], "Content-Length": [ - "843" + "159" ], "Connection": [ "keep-alive" @@ -38,7 +455,7 @@ ] }, "body": { - "string": "{\"status\":200,\"data\":[{\"name\":\"king_arthur.txt\",\"id\":\"04727e47-cbf1-40b3-a009-35c6403f2f06\",\"size\":19,\"created\":\"2024-12-03T14:27:26Z\"},{\"name\":\"king_arthur.txt\",\"id\":\"3ce7a21a-94b7-4b28-b946-4db05f42b81e\",\"size\":19,\"created\":\"2024-12-03T14:28:21Z\"},{\"name\":\"king_arthur.txt\",\"id\":\"41e6f604-ff3d-4610-96af-9e14d96e13d5\",\"size\":19,\"created\":\"2024-12-03T14:30:21Z\"},{\"name\":\"king_arthur.txt\",\"id\":\"73bfb032-5e05-458f-a7d7-5a9421156f18\",\"size\":19,\"created\":\"2024-12-03T14:29:07Z\"},{\"name\":\"king_arthur.txt\",\"id\":\"d7d50b43-eb67-4baa-9c03-4ed69b893309\",\"size\":48,\"created\":\"2024-12-03T14:30:23Z\"},{\"name\":\"king_arthur.txt\",\"id\":\"e1ea8031-b3c8-45fd-a3e3-bdbaceff7176\",\"size\":48,\"created\":\"2024-12-03T14:30:22Z\"},{\"name\":\"king_arthur.txt\",\"id\":\"f5ef27d5-5109-4229-aca1-221624aa920b\",\"size\":19,\"created\":\"2024-12-03T09:28:52Z\"}],\"next\":null,\"count\":7}" + "pickle": "gASVrwAAAAAAAAB9lIwGc3RyaW5nlIyfeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiZDJlOWJmNmItNWMxMC00M2YwLWEwMmMtOGI1NDM1YTljYTgyIiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE5OjEyOjQwWiJ9XSwibmV4dCI6bnVsbCwiY291bnQiOjF9lHMu" } } } diff --git a/tests/integrational/fixtures/asyncio/file_upload/list_files_with_limit.json b/tests/integrational/fixtures/asyncio/file_upload/list_files_with_limit.json new file mode 100644 index 00000000..816fe306 --- /dev/null +++ b/tests/integrational/fixtures/asyncio/file_upload/list_files_with_limit.json @@ -0,0 +1,444 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/generate-upload-url", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:10:58 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6IjVkYzMzZmZjLTNkMGQtNDdiOS1iZjVmLTVlYTA4ZGI0NzFjOCIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTk6MTE6NThaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC81ZGMzM2ZmYy0zZDBkLTQ3YjktYmY1Zi01ZWEwOGRiNDcxYzgva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTkxMTU4WiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1URTZOVGhhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZOV1JqTXpObVptTXRNMlF3WkMwME4ySTVMV0ptTldZdE5XVmhNRGhrWWpRM01XTTRMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNVFU0V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiIzMDBjODFjMzI0ZDBmYzM0ZWQ1ZTcyMGUwNmY5YmFjYTQwNGI0MjQ4NGE5ODg2N2UwYmMxZDk1YzU1NmQ4MzAxIn1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tODMxNGFjMjBiZWU3YTlmOTBjMjNiMjdkZDlkMjM2OTANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tODMxNGFjMjBiZWU3YTlmOTBjMjNiMjdkZDlkMjM2OTANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC81ZGMzM2ZmYy0zZDBkLTQ3YjktYmY1Zi01ZWEwOGRiNDcxYzgva2luZ19hcnRodXIudHh0DQotLTgzMTRhYzIwYmVlN2E5ZjkwYzIzYjI3ZGQ5ZDIzNjkwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS04MzE0YWMyMGJlZTdhOWY5MGMyM2IyN2RkOWQyMzY5MA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTgzMTRhYzIwYmVlN2E5ZjkwYzIzYjI3ZGQ5ZDIzNjkwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tODMxNGFjMjBiZWU3YTlmOTBjMjNiMjdkZDlkMjM2OTANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTgzMTRhYzIwYmVlN2E5ZjkwYzIzYjI3ZGQ5ZDIzNjkwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE5MTE1OFoNCi0tODMxNGFjMjBiZWU3YTlmOTBjMjNiMjdkZDlkMjM2OTANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1URTZOVGhhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZOV1JqTXpObVptTXRNMlF3WkMwME4ySTVMV0ptTldZdE5XVmhNRGhrWWpRM01XTTRMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNVFU0V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS04MzE0YWMyMGJlZTdhOWY5MGMyM2IyN2RkOWQyMzY5MA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjMwMGM4MWMzMjRkMGZjMzRlZDVlNzIwZTA2ZjliYWNhNDA0YjQyNDg0YTk4ODY3ZTBiYzFkOTVjNTU2ZDgzMDENCi0tODMxNGFjMjBiZWU3YTlmOTBjMjNiMjdkZDlkMjM2OTANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS04MzE0YWMyMGJlZTdhOWY5MGMyM2IyN2RkOWQyMzY5MC0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=8314ac20bee7a9f90c23b27dd9d23690" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "KZj0glsnQMneQQ48uWHxOKobgjlMxic7juCJ38UW8j+FWsqN6sIPgugGTPTIX3vpenSvHsGHdic=" + ], + "x-amz-request-id": [ + "1FENCVZ42KAJ9PQE" + ], + "Date": [ + "Mon, 05 May 2025 19:11:00 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2F0MR1-z2w0nSJYxwEy74p5QjV85TmgNBKPrV71t55NT0%2F5dc33ffc-3d0d-47b9-bf5f-5ea08db471c8%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_asyncio_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%225dc33ffc-3d0d-47b9-bf5f-5ea08db471c8%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:10:59 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDcyMjU5NDgzMjE5OSJdlHMu" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/generate-upload-url", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:10:59 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6IjgxZWRmMTkzLTI4MWQtNDEzOS1iMTJjLTg4YWRmMWI4N2NlMyIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTk6MTE6NTlaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC84MWVkZjE5My0yODFkLTQxMzktYjEyYy04OGFkZjFiODdjZTMva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTkxMTU5WiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1URTZOVGxhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZPREZsWkdZeE9UTXRNamd4WkMwME1UTTVMV0l4TW1NdE9EaGhaR1l4WWpnM1kyVXpMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNVFU1V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiI3NTZmN2M5MmNkZTcyN2RkNGNlNzNmMDJhODI0ZDU3MmEzNDYxZDJhMmIzYzczZjlhYzUxYTRjMGZiN2MyYTUyIn1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tNjRlOTUzMjlkNGQzNGJiNGMxMTBiNTc1Yzc0ZTA5OTQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tNjRlOTUzMjlkNGQzNGJiNGMxMTBiNTc1Yzc0ZTA5OTQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC84MWVkZjE5My0yODFkLTQxMzktYjEyYy04OGFkZjFiODdjZTMva2luZ19hcnRodXIudHh0DQotLTY0ZTk1MzI5ZDRkMzRiYjRjMTEwYjU3NWM3NGUwOTk0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS02NGU5NTMyOWQ0ZDM0YmI0YzExMGI1NzVjNzRlMDk5NA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTY0ZTk1MzI5ZDRkMzRiYjRjMTEwYjU3NWM3NGUwOTk0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tNjRlOTUzMjlkNGQzNGJiNGMxMTBiNTc1Yzc0ZTA5OTQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTY0ZTk1MzI5ZDRkMzRiYjRjMTEwYjU3NWM3NGUwOTk0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE5MTE1OVoNCi0tNjRlOTUzMjlkNGQzNGJiNGMxMTBiNTc1Yzc0ZTA5OTQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1URTZOVGxhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZPREZsWkdZeE9UTXRNamd4WkMwME1UTTVMV0l4TW1NdE9EaGhaR1l4WWpnM1kyVXpMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNVFU1V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS02NGU5NTMyOWQ0ZDM0YmI0YzExMGI1NzVjNzRlMDk5NA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjc1NmY3YzkyY2RlNzI3ZGQ0Y2U3M2YwMmE4MjRkNTcyYTM0NjFkMmEyYjNjNzNmOWFjNTFhNGMwZmI3YzJhNTINCi0tNjRlOTUzMjlkNGQzNGJiNGMxMTBiNTc1Yzc0ZTA5OTQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS02NGU5NTMyOWQ0ZDM0YmI0YzExMGI1NzVjNzRlMDk5NC0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=64e95329d4d34bb4c110b575c74e0994" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "E5xiNz1VHmtGn3/G2ZC3MhjK2ZV++rM0qMDeTGz6C0WktIeMwtdMDBZJzqFelB4dSetNKPlNe9g=" + ], + "x-amz-request-id": [ + "1FEVVFWQVW9YGZK7" + ], + "Date": [ + "Mon, 05 May 2025 19:11:00 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2F0MR1-z2w0nSJYxwEy74p5QjV85TmgNBKPrV71t55NT0%2F81edf193-281d-4139-b12c-88adf1b87ce3%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_asyncio_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%2281edf193-281d-4139-b12c-88adf1b87ce3%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:10:59 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDcyMjU5NzM4MTA3MyJdlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/files?limit=2", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:11:00 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "528" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVIwIAAAAAAAB9lIwGc3RyaW5nlFgQAgAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMDdmMzNjOWEtOWM0NC00YTg5LTlhYWUtZmJlZTQzMjNkZWNhIiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjQwOjA4WiJ9LHsibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMjFlZjI3NzEtY2Q2Ny00YjgzLWFjZGQtNzBjZmJhYWNmMjEwIiwic2l6ZSI6NDgsImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjQ5OjEwWiJ9XSwibmV4dCI6IjE3dFV6SXZya0t1enJGdXdXeERLMnVOUE1hVWtzdUQyd0VVNnZPMy11azJxc2cwYnVRM042N1FBODVXZ2wwWk9xU2xEZEI0S0gzUWVqdTJRWFpVYmdZSjE1NTBKMjZoZEo4XzFhTkZrdUJfM3ZWdVI5Vnc5V19rck40UlgyOTV5RlhCTDllMjM0MXBDS3B5VmIwbnlnUFU4YXBPY2UzbU1xVk5vM211alg2UV9pV0t0N2RlREc1TDFxRjRtTEZ2bWNkY3dEdng0Y0h6VVZqUUtTWGYtU3NTNHlFRXBUX0NOSEVuOGsyS3Y2LXBGb3pCcXFTTTdDUkpIMERkQnQ5ZEJIIiwiY291bnQiOjJ9lHMu" + } + } + } + ] +} diff --git a/tests/integrational/fixtures/asyncio/file_upload/list_files_with_page.json b/tests/integrational/fixtures/asyncio/file_upload/list_files_with_page.json new file mode 100644 index 00000000..4b2dda39 --- /dev/null +++ b/tests/integrational/fixtures/asyncio/file_upload/list_files_with_page.json @@ -0,0 +1,497 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/generate-upload-url", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:11:00 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6ImUwZWNlZjE2LWNkMDctNGQ1NS1iZmJjLWJiMDRhZmZiYThmNiIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTk6MTI6MDBaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC9lMGVjZWYxNi1jZDA3LTRkNTUtYmZiYy1iYjA0YWZmYmE4ZjYva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTkxMjAwWiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1USTZNREJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZaVEJsWTJWbU1UWXRZMlF3TnkwMFpEVTFMV0ptWW1NdFltSXdOR0ZtWm1KaE9HWTJMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNakF3V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiJmNmNjMjQ5ODdhZmVjZGQ5NjcwNDRmMjZmMjJhODc1ZGEyMWU0ZjgxMGVlZDhiODdhMmNiMzY0NmI3NjA4ZDk4In1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tNzllMWVjYjUwYWYzZDAzZWQyN2NiNmQyN2RiOTJhNjINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tNzllMWVjYjUwYWYzZDAzZWQyN2NiNmQyN2RiOTJhNjINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC9lMGVjZWYxNi1jZDA3LTRkNTUtYmZiYy1iYjA0YWZmYmE4ZjYva2luZ19hcnRodXIudHh0DQotLTc5ZTFlY2I1MGFmM2QwM2VkMjdjYjZkMjdkYjkyYTYyDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS03OWUxZWNiNTBhZjNkMDNlZDI3Y2I2ZDI3ZGI5MmE2Mg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTc5ZTFlY2I1MGFmM2QwM2VkMjdjYjZkMjdkYjkyYTYyDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tNzllMWVjYjUwYWYzZDAzZWQyN2NiNmQyN2RiOTJhNjINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTc5ZTFlY2I1MGFmM2QwM2VkMjdjYjZkMjdkYjkyYTYyDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE5MTIwMFoNCi0tNzllMWVjYjUwYWYzZDAzZWQyN2NiNmQyN2RiOTJhNjINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1USTZNREJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZaVEJsWTJWbU1UWXRZMlF3TnkwMFpEVTFMV0ptWW1NdFltSXdOR0ZtWm1KaE9HWTJMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNakF3V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS03OWUxZWNiNTBhZjNkMDNlZDI3Y2I2ZDI3ZGI5MmE2Mg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCmY2Y2MyNDk4N2FmZWNkZDk2NzA0NGYyNmYyMmE4NzVkYTIxZTRmODEwZWVkOGI4N2EyY2IzNjQ2Yjc2MDhkOTgNCi0tNzllMWVjYjUwYWYzZDAzZWQyN2NiNmQyN2RiOTJhNjINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS03OWUxZWNiNTBhZjNkMDNlZDI3Y2I2ZDI3ZGI5MmE2Mi0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=79e1ecb50af3d03ed27cb6d27db92a62" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "Hy9Q0h742Sqzp7VH/CYILmR7yfYgTUH9sdybn+ZoU2iIsMig04L9wD7JwEd2M2hJQVXzYbZaeyva+frwf9u3VOc2z9Ad9Q6KnZCG/5+dC0o=" + ], + "x-amz-request-id": [ + "D9KM86GH78FTZ1PC" + ], + "Date": [ + "Mon, 05 May 2025 19:11:01 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2F0MR1-z2w0nSJYxwEy74p5QjV85TmgNBKPrV71t55NT0%2Fe0ecef16-cd07-4d55-bfbc-bb04affba8f6%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_asyncio_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%22e0ecef16-cd07-4d55-bfbc-bb04affba8f6%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:11:00 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDcyMjYwNzkzNDI0NCJdlHMu" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/generate-upload-url", + "body": { + "pickle": "gASVHwAAAAAAAACMG3sibmFtZSI6ICJraW5nX2FydGh1ci50eHQifZQu" + }, + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-type": [ + "application/json" + ], + "content-length": [ + "27" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:11:00 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "1982" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASV0QcAAAAAAAB9lIwGc3RyaW5nlFi+BwAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6ImUwMjJmNzgyLWViM2ItNDU0Ni1iMWI0LTY4YWU3MTg4ODc2OCIsIm5hbWUiOiJraW5nX2FydGh1ci50eHQifSwiZmlsZV91cGxvYWRfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL3B1Ym51Yi1tbmVtb3N5bmUtZmlsZXMtdXMtZWFzdC0xLXByZC5zMy5kdWFsc3RhY2sudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20vIiwibWV0aG9kIjoiUE9TVCIsImV4cGlyYXRpb25fZGF0ZSI6IjIwMjUtMDUtMDVUMTk6MTI6MDBaIiwiZm9ybV9maWVsZHMiOlt7ImtleSI6InRhZ2dpbmciLCJ2YWx1ZSI6Ilx1MDAzY1RhZ2dpbmdcdTAwM2VcdTAwM2NUYWdTZXRcdTAwM2VcdTAwM2NUYWdcdTAwM2VcdTAwM2NLZXlcdTAwM2VPYmplY3RUVExJbkRheXNcdTAwM2MvS2V5XHUwMDNlXHUwMDNjVmFsdWVcdTAwM2UxXHUwMDNjL1ZhbHVlXHUwMDNlXHUwMDNjL1RhZ1x1MDAzZVx1MDAzYy9UYWdTZXRcdTAwM2VcdTAwM2MvVGFnZ2luZ1x1MDAzZSJ9LHsia2V5Ijoia2V5IiwidmFsdWUiOiJzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC9lMDIyZjc4Mi1lYjNiLTQ1NDYtYjFiNC02OGFlNzE4ODg3Njgva2luZ19hcnRodXIudHh0In0seyJrZXkiOiJDb250ZW50LVR5cGUiLCJ2YWx1ZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgifSx7ImtleSI6IlgtQW16LUNyZWRlbnRpYWwiLCJ2YWx1ZSI6IkFLSUFZN0FVNkdRRFY1TENQVkVYLzIwMjUwNTA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImtleSI6IlgtQW16LVNlY3VyaXR5LVRva2VuIiwidmFsdWUiOiIifSx7ImtleSI6IlgtQW16LUFsZ29yaXRobSIsInZhbHVlIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiWC1BbXotRGF0ZSIsInZhbHVlIjoiMjAyNTA1MDVUMTkxMjAwWiJ9LHsia2V5IjoiUG9saWN5IiwidmFsdWUiOiJDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1USTZNREJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZaVEF5TW1ZM09ESXRaV0l6WWkwME5UUTJMV0l4WWpRdE5qaGhaVGN4T0RnNE56WTRMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNakF3V2lJZ2ZRb0pYUXA5Q2c9PSJ9LHsia2V5IjoiWC1BbXotU2lnbmF0dXJlIiwidmFsdWUiOiI0MzVmN2RjZmIyY2E5YTgxMDA5YzAzMDQ0NjE3NzUyN2IxMzU5Y2QzYWVlMmVlODQ4YWFjMjM4ZjM0ODk3ZmZiIn1dfX2Ucy4=" + } + } + }, + { + "request": { + "method": "POST", + "uri": "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/", + "body": { + "pickle": "gASVIAkAAAAAAABYGQkAAC0tNzhlMTA2NDgyOTM2MWFhYWYwNTVkNWRlNTFkY2Y3NDkNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGFnZ2luZyINCg0KPFRhZ2dpbmc+PFRhZ1NldD48VGFnPjxLZXk+T2JqZWN0VFRMSW5EYXlzPC9LZXk+PFZhbHVlPjE8L1ZhbHVlPjwvVGFnPjwvVGFnU2V0PjwvVGFnZ2luZz4NCi0tNzhlMTA2NDgyOTM2MWFhYWYwNTVkNWRlNTFkY2Y3NDkNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ia2V5Ig0KDQpzdWItYy1kMGI4ZTU0Mi0xMmEwLTQxYzQtOTk5Zi1hMmQ1NjlkYzQyNTUvME1SMS16MncwblNKWXh3RXk3NHA1UWpWODVUbWdOQktQclY3MXQ1NU5UMC9lMDIyZjc4Mi1lYjNiLTQ1NDYtYjFiNC02OGFlNzE4ODg3Njgva2luZ19hcnRodXIudHh0DQotLTc4ZTEwNjQ4MjkzNjFhYWFmMDU1ZDVkZTUxZGNmNzQ5DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkNvbnRlbnQtVHlwZSINCg0KdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KLS03OGUxMDY0ODI5MzYxYWFhZjA1NWQ1ZGU1MWRjZjc0OQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1DcmVkZW50aWFsIg0KDQpBS0lBWTdBVTZHUURWNUxDUFZFWC8yMDI1MDUwNS91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0DQotLTc4ZTEwNjQ4MjkzNjFhYWFmMDU1ZDVkZTUxZGNmNzQ5DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LVNlY3VyaXR5LVRva2VuIg0KDQoNCi0tNzhlMTA2NDgyOTM2MWFhYWYwNTVkNWRlNTFkY2Y3NDkNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iWC1BbXotQWxnb3JpdGhtIg0KDQpBV1M0LUhNQUMtU0hBMjU2DQotLTc4ZTEwNjQ4MjkzNjFhYWFmMDU1ZDVkZTUxZGNmNzQ5DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IlgtQW16LURhdGUiDQoNCjIwMjUwNTA1VDE5MTIwMFoNCi0tNzhlMTA2NDgyOTM2MWFhYWYwNTVkNWRlNTFkY2Y3NDkNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iUG9saWN5Ig0KDQpDbnNLQ1NKbGVIQnBjbUYwYVc5dUlqb2dJakl3TWpVdE1EVXRNRFZVTVRrNk1USTZNREJhSWl3S0NTSmpiMjVrYVhScGIyNXpJam9nV3dvSkNYc2lZblZqYTJWMElqb2dJbkIxWW01MVlpMXRibVZ0YjNONWJtVXRabWxzWlhNdGRYTXRaV0Z6ZEMweExYQnlaQ0o5TEFvSkNWc2laWEVpTENBaUpIUmhaMmRwYm1jaUxDQWlQRlJoWjJkcGJtYytQRlJoWjFObGRENDhWR0ZuUGp4TFpYaytUMkpxWldOMFZGUk1TVzVFWVhselBDOUxaWGsrUEZaaGJIVmxQakU4TDFaaGJIVmxQand2VkdGblBqd3ZWR0ZuVTJWMFBqd3ZWR0ZuWjJsdVp6NGlYU3dLQ1FsYkltVnhJaXdnSWlSclpYa2lMQ0FpYzNWaUxXTXRaREJpT0dVMU5ESXRNVEpoTUMwME1XTTBMVGs1T1dZdFlUSmtOVFk1WkdNME1qVTFMekJOVWpFdGVqSjNNRzVUU2xsNGQwVjVOelJ3TlZGcVZqZzFWRzFuVGtKTFVISldOekYwTlRWT1ZEQXZaVEF5TW1ZM09ESXRaV0l6WWkwME5UUTJMV0l4WWpRdE5qaGhaVGN4T0RnNE56WTRMMnRwYm1kZllYSjBhSFZ5TG5SNGRDSmRMQW9KQ1ZzaVkyOXVkR1Z1ZEMxc1pXNW5kR2d0Y21GdVoyVWlMQ0F3TENBMU1qUXlPRGd3WFN3S0NRbGJJbk4wWVhKMGN5MTNhWFJvSWl3Z0lpUkRiMjUwWlc1MExWUjVjR1VpTENBaUlsMHNDZ2tKZXlKNExXRnRlaTFqY21Wa1pXNTBhV0ZzSWpvZ0lrRkxTVUZaTjBGVk5rZFJSRlkxVEVOUVZrVllMekl3TWpVd05UQTFMM1Z6TFdWaGMzUXRNUzl6TXk5aGQzTTBYM0psY1hWbGMzUWlmU3dLQ1FsN0luZ3RZVzE2TFhObFkzVnlhWFI1TFhSdmEyVnVJam9nSWlKOUxBb0pDWHNpZUMxaGJYb3RZV3huYjNKcGRHaHRJam9nSWtGWFV6UXRTRTFCUXkxVFNFRXlOVFlpZlN3S0NRbDdJbmd0WVcxNkxXUmhkR1VpT2lBaU1qQXlOVEExTURWVU1Ua3hNakF3V2lJZ2ZRb0pYUXA5Q2c9PQ0KLS03OGUxMDY0ODI5MzYxYWFhZjA1NWQ1ZGU1MWRjZjc0OQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJYLUFtei1TaWduYXR1cmUiDQoNCjQzNWY3ZGNmYjJjYTlhODEwMDljMDMwNDQ2MTc3NTI3YjEzNTljZDNhZWUyZWU4NDhhYWMyMzhmMzQ4OTdmZmINCi0tNzhlMTA2NDgyOTM2MWFhYWYwNTVkNWRlNTFkY2Y3NDkNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZSI7IGZpbGVuYW1lPSJraW5nX2FydGh1ci50eHQiDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KS25pZ2h0cyB3aG8gc2F5IE5pIQ0KLS03OGUxMDY0ODI5MzYxYWFhZjA1NWQ1ZGU1MWRjZjc0OS0tDQqULg==" + }, + "headers": { + "host": [ + "pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ], + "content-length": [ + "2329" + ], + "content-type": [ + "multipart/form-data; boundary=78e1064829361aaaf055d5de51dcf749" + ] + } + }, + "response": { + "status": { + "code": 204, + "message": "No Content" + }, + "headers": { + "x-amz-id-2": [ + "g68Vl0o6IEGVXJ+VmFM7OtsuliufgKkFrBBK3uggUw5d2ysPfuBLuQc/CUIasyDBPTyDOgJIr8VomRpCwmMyXTKgBlRdLEqZeg2r/GWZAP8=" + ], + "x-amz-request-id": [ + "D9KQ0FDVXQTQYT28" + ], + "Date": [ + "Mon, 05 May 2025 19:11:01 GMT" + ], + "x-amz-expiration": [ + "expiry-date=\"Wed, 07 May 2025 00:00:00 GMT\", rule-id=\"Archive file 1 day after creation\"" + ], + "x-amz-server-side-encryption": [ + "AES256" + ], + "ETag": [ + "\"3676cdb7a927db43c846070c4e7606c7\"" + ], + "x-amz-checksum-crc64nvme": [ + "vyyxp15ByZo=" + ], + "x-amz-checksum-type": [ + "FULL_OBJECT" + ], + "Location": [ + "https://pubnub-mnemosyne-files-us-east-1-prd.s3.dualstack.us-east-1.amazonaws.com/{PN_KEY_SUBSCRIBE}%2F0MR1-z2w0nSJYxwEy74p5QjV85TmgNBKPrV71t55NT0%2Fe022f782-eb3b-4546-b1b4-68ae71888768%2Fking_arthur.txt" + ], + "Server": [ + "AmazonS3" + ] + }, + "body": { + "pickle": "gASVEAAAAAAAAAB9lIwGc3RyaW5nlIwAlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/publish-file/{PN_KEY_PUBLISH}/{PN_KEY_SUBSCRIBE}/0/files_asyncio_ch/0/%7B%22message%22%3A%20%7B%22test_message%22%3A%20%22test%22%7D%2C%20%22file%22%3A%20%7B%22id%22%3A%20%22e022f782-eb3b-4546-b1b4-68ae71888768%22%2C%20%22name%22%3A%20%22king_arthur.txt%22%7D%7D?meta=null&store=1&ttl=222", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:11:01 GMT" + ], + "Content-Type": [ + "text/javascript; charset=\"UTF-8\"" + ], + "Content-Length": [ + "30" + ], + "Connection": [ + "keep-alive" + ], + "Cache-Control": [ + "no-cache" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVLgAAAAAAAAB9lIwGc3RyaW5nlIweWzEsIlNlbnQiLCIxNzQ2NDcyMjYxMDYzMTQ2NSJdlHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/files?limit=2", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:11:01 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "528" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVIwIAAAAAAAB9lIwGc3RyaW5nlFgQAgAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMDdmMzNjOWEtOWM0NC00YTg5LTlhYWUtZmJlZTQzMjNkZWNhIiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjQwOjA4WiJ9LHsibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMjFlZjI3NzEtY2Q2Ny00YjgzLWFjZGQtNzBjZmJhYWNmMjEwIiwic2l6ZSI6NDgsImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjQ5OjEwWiJ9XSwibmV4dCI6IjE2cFluRFRyaWlYTFZIVXBkXzFTTzNlRXIwcDBoWHdLYjZoc0lpbU9FQ1NuanJBOEg3MFd3Q2ktV1VWamdnNXhKYTJTME5NbHdHMmZFZmpEVEtua2pSRXpkSHBzb0dJNXNvS1FzbmttbUlvSDZlS3NKNkQ5SVNab084SjNJQURfeVF3MzExYTd4bzR5LVJ1bG9FUXY5dHM3NXBZLW5KZmpxdW45SzBwNkpCVmhKeWktcmpyYjZsLWhCTjMwdnNkNEVqVk9kRFE0VUNlWFF0NGRiT1p5OHhUeW02ckswZ0ZzS0Zpc1Fsc1FRMWZrTC1mWWZWZTdCbG9MRlV3Y3h5TkRMIiwiY291bnQiOjJ9lHMu" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://ps.pndsn.com/v1/files/{PN_KEY_SUBSCRIBE}/channels/files_asyncio_ch/files?limit=2&next=16pYnDTriiXLVHUpd_1SO3eEr0p0hXwKb6hsIimOECSnjrA8H70WwCi-WUVjgg5xJa2S0NMlwG2fEfjDTKnkjREzdHpsoGI5soKQsnkmmIoH6eKsJ6D9ISZoO8J3IAD_yQw311a7xo4y-RuloEQv9ts75pY-nJfjqun9K0p6JBVhJyi-rjrb6l-hBN30vsd4EjVOdDQ4UCeXQt4dbOZy8xTym6rK0gFsKFisQlsQQ1fkL-fYfVe7BloLFUwcxyNDL", + "body": "", + "headers": { + "host": [ + "ps.pndsn.com" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "PubNub-Python-Asyncio/10.3.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Date": [ + "Mon, 05 May 2025 19:11:01 GMT" + ], + "Content-Type": [ + "application/json" + ], + "Content-Length": [ + "528" + ], + "Connection": [ + "keep-alive" + ], + "Access-Control-Allow-Credentials": [ + "true" + ], + "Access-Control-Expose-Headers": [ + "*" + ] + }, + "body": { + "pickle": "gASVIwIAAAAAAAB9lIwGc3RyaW5nlFgQAgAAeyJzdGF0dXMiOjIwMCwiZGF0YSI6W3sibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMmI0OGZiNzAtZjNiYi00OGFlLWI5NDItZTkyNzhlOGM3NWM1Iiwic2l6ZSI6MTksImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE3OjQ5OjA5WiJ9LHsibmFtZSI6ImtpbmdfYXJ0aHVyLnR4dCIsImlkIjoiMmM2YmNlYTAtN2QzYi00ZjU3LWI5MGMtMTJlZWI5ZDNmM2U4Iiwic2l6ZSI6NDgsImNyZWF0ZWQiOiIyMDI1LTA1LTA1VDE5OjA1OjA3WiJ9XSwibmV4dCI6IjFiSGZTS1F5aF94TF9uVHlzQ08yYzhjZEZpUmJ0Sm92WVBpOHVobGpMS2g2d3YwbzV4LTdSd2I2bmZmUkpGYlRlSnh1ZXlrNXo0bzMza09BeVFLX0pua1VvTTRvcVVBOEtMdzFfMmVpbUpKdW9zWVhXd3BmSVUzcTNyNGQxZV91OEs4T0ZiOW5xNkxBMk9UQ2Y2MS1sZV9SZm9FcXJtU3Z4SFhXQ3c0aFA5U1p5SV9kOEZzdlN0Y19IQzJ0UmJMTnJjT3BOZkctZkpxc3NUYWlmQnd3RGczaC13ZnB2OVkxNldHSzlvWmVHd2FJaTdlMGM5YzlYUm9mN3pnM19mbVpPIiwiY291bnQiOjJ9lHMu" + } + } + } + ] +} From 307f5755eefe0a6347b75e95bf98b059ab9cf075 Mon Sep 17 00:00:00 2001 From: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com> Date: Wed, 7 May 2025 11:26:12 +0000 Subject: [PATCH 3/3] PubNub SDK 10.4.0 release. --- .pubnub.yml | 13 +++++++++---- CHANGELOG.md | 6 ++++++ pubnub/pubnub_core.py | 2 +- setup.py | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.pubnub.yml b/.pubnub.yml index ceadf511..d50b6c31 100644 --- a/.pubnub.yml +++ b/.pubnub.yml @@ -1,5 +1,5 @@ name: python -version: 10.3.0 +version: 10.4.0 schema: 1 scm: github.com/pubnub/python sdks: @@ -18,7 +18,7 @@ sdks: distributions: - distribution-type: library distribution-repository: package - package-name: pubnub-10.3.0 + package-name: pubnub-10.4.0 location: https://pypi.org/project/pubnub/ supported-platforms: supported-operating-systems: @@ -94,8 +94,8 @@ sdks: - distribution-type: library distribution-repository: git release - package-name: pubnub-10.3.0 - location: https://github.com/pubnub/python/releases/download/10.3.0/pubnub-10.3.0.tar.gz + package-name: pubnub-10.4.0 + location: https://github.com/pubnub/python/releases/download/10.4.0/pubnub-10.4.0.tar.gz supported-platforms: supported-operating-systems: Linux: @@ -169,6 +169,11 @@ sdks: license-url: https://github.com/encode/httpx/blob/master/LICENSE.md is-required: Required changelog: + - date: 2025-05-07 + version: 10.4.0 + changes: + - type: feature + text: "Added pagination to List Files." - date: 2025-04-10 version: 10.3.0 changes: diff --git a/CHANGELOG.md b/CHANGELOG.md index d80b1bfe..191316e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 10.4.0 +May 07 2025 + +#### Added +- Added pagination to List Files. + ## 10.3.0 April 10 2025 diff --git a/pubnub/pubnub_core.py b/pubnub/pubnub_core.py index 1822c430..ec4b5b26 100644 --- a/pubnub/pubnub_core.py +++ b/pubnub/pubnub_core.py @@ -96,7 +96,7 @@ class PubNubCore: """A base class for PubNub Python API implementations""" - SDK_VERSION = "10.3.0" + SDK_VERSION = "10.4.0" SDK_NAME = "PubNub-Python" TIMESTAMP_DIVIDER = 1000 diff --git a/setup.py b/setup.py index f2296177..ddb3b115 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='pubnub', - version='10.3.0', + version='10.4.0', description='PubNub Real-time push service in the cloud', author='PubNub', author_email='support@pubnub.com',