Skip to content

Commit 7ac9e78

Browse files
committed
Fully parametrize new tests
1 parent b999bc8 commit 7ac9e78

File tree

1 file changed

+30
-20
lines changed

1 file changed

+30
-20
lines changed

tests/integration/test_key_value_store.py

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -74,38 +74,43 @@ def test_key_value_store_should_create_public_keys_non_expiring_url(self, apify_
7474
store.delete()
7575
assert apify_client.key_value_store(created_store['id']).get() is None
7676

77-
@pytest.mark.parametrize('signature', [None, 'custom-signature'])
77+
@pytest.mark.parametrize('signing_key', [None, 'custom-signing-key'])
7878
@parametrized_api_urls
79-
def test_public_url(self, api_token: str, api_url: str, api_public_url: str, signature: str) -> None:
79+
def test_public_url(self, api_token: str, api_url: str, api_public_url: str, signing_key: str) -> None:
8080
apify_client = ApifyClient(token=api_token, api_url=api_url, api_public_url=api_public_url)
8181
kvs = apify_client.key_value_store('someID')
8282

8383
# Mock the API call to return predefined response
8484
with mock.patch.object(
8585
apify_client.http_client,
8686
'call',
87-
return_value=Mock(text=_get_mocked_api_kvs_response(signing_key=signature)),
87+
return_value=Mock(text=_get_mocked_api_kvs_response(signing_key=signing_key)),
8888
):
8989
public_url = kvs.create_keys_public_url()
90-
expected_signature = f'?signature={public_url.split("signature=")[1]}' if signature else ''
90+
expected_signature = f'?signature={public_url.split("signature=")[1]}' if signing_key else ''
9191
assert public_url == (
9292
f'{(api_public_url or DEFAULT_API_URL).strip("/")}/v2/key-value-stores/someID/keys{expected_signature}'
9393
)
9494

95-
@pytest.mark.parametrize('signature', [None, 'custom-signature'])
96-
def test_record_public_url(self, api_token: str, signature: str) -> None:
97-
apify_client = ApifyClient(token=api_token)
95+
@pytest.mark.parametrize('signing_key', [None, 'custom-signing-key'])
96+
@parametrized_api_urls
97+
def test_record_public_url(self, api_token: str, api_url: str, api_public_url: str, signing_key: str) -> None:
98+
apify_client = ApifyClient(token=api_token, api_url=api_url, api_public_url=api_public_url)
9899
kvs = apify_client.key_value_store('someID')
99100

100101
# Mock the API call to return predefined response
101102
with mock.patch.object(
102103
apify_client.http_client,
103104
'call',
104-
return_value=Mock(text=_get_mocked_api_kvs_response(signing_key=signature)),
105+
return_value=Mock(text=_get_mocked_api_kvs_response(signing_key=signing_key)),
105106
):
106107
public_url = kvs.get_record_public_url(key='key')
107-
expected_signature = f'?signature={public_url.split("signature=")[1]}' if signature else ''
108-
assert public_url == (f'{DEFAULT_API_URL}/v2/key-value-stores/someID/records/key{expected_signature}')
108+
expected_signature = f'?signature={public_url.split("signature=")[1]}' if signing_key else ''
109+
assert public_url == (
110+
f'{(api_public_url or DEFAULT_API_URL).strip("/")}/v2/key-value-stores/someID/records/key{
111+
expected_signature
112+
}'
113+
)
109114

110115

111116
class TestKeyValueStoreAsync:
@@ -151,35 +156,40 @@ async def test_key_value_store_should_create_public_keys_non_expiring_url(
151156
await store.delete()
152157
assert await apify_client_async.key_value_store(created_store['id']).get() is None
153158

154-
@pytest.mark.parametrize('signature', [None, 'custom-signature'])
159+
@pytest.mark.parametrize('signing_key', [None, 'custom-signing-key'])
155160
@parametrized_api_urls
156-
async def test_record_public_url(self, api_token: str, api_url: str, api_public_url: str, signature: str) -> None:
161+
async def test_record_public_url(self, api_token: str, api_url: str, api_public_url: str, signing_key: str) -> None:
157162
apify_client = ApifyClientAsync(token=api_token, api_url=api_url, api_public_url=api_public_url)
158163
kvs = apify_client.key_value_store('someID')
159164

160165
# Mock the API call to return predefined response
161166
with mock.patch.object(
162167
apify_client.http_client,
163168
'call',
164-
return_value=Mock(text=_get_mocked_api_kvs_response(signing_key=signature)),
169+
return_value=Mock(text=_get_mocked_api_kvs_response(signing_key=signing_key)),
165170
):
166171
public_url = await kvs.create_keys_public_url()
167-
expected_signature = f'?signature={public_url.split("signature=")[1]}' if signature else ''
172+
expected_signature = f'?signature={public_url.split("signature=")[1]}' if signing_key else ''
168173
assert public_url == (
169174
f'{(api_public_url or DEFAULT_API_URL).strip("/")}/v2/key-value-stores/someID/keys{expected_signature}'
170175
)
171176

172-
@pytest.mark.parametrize('signature', [None, 'custom-signature'])
173-
async def test_public_url(self, api_token: str, signature: str) -> None:
174-
apify_client = ApifyClientAsync(token=api_token)
177+
@pytest.mark.parametrize('signing_key', [None, 'custom-signing-key'])
178+
@parametrized_api_urls
179+
async def test_public_url(self, api_token: str, api_url: str, api_public_url: str, signing_key: str) -> None:
180+
apify_client = ApifyClientAsync(token=api_token, api_url=api_url, api_public_url=api_public_url)
175181
kvs = apify_client.key_value_store('someID')
176182

177183
# Mock the API call to return predefined response
178184
with mock.patch.object(
179185
apify_client.http_client,
180186
'call',
181-
return_value=Mock(text=_get_mocked_api_kvs_response(signing_key=signature)),
187+
return_value=Mock(text=_get_mocked_api_kvs_response(signing_key=signing_key)),
182188
):
183189
public_url = await kvs.get_record_public_url(key='key')
184-
expected_signature = f'?signature={public_url.split("signature=")[1]}' if signature else ''
185-
assert public_url == (f'{DEFAULT_API_URL}/v2/key-value-stores/someID/records/key{expected_signature}')
190+
expected_signature = f'?signature={public_url.split("signature=")[1]}' if signing_key else ''
191+
assert public_url == (
192+
f'{(api_public_url or DEFAULT_API_URL).strip("/")}/v2/key-value-stores/someID/records/key{
193+
expected_signature
194+
}'
195+
)

0 commit comments

Comments
 (0)