Skip to content

Commit d290e40

Browse files
Mantisusvdusek
andauthored
test: update test_request_deduplication_edge_cases (#884)
Closes: #786 --------- Co-authored-by: Vlada Dusek <v.dusek96@gmail.com>
1 parent 94bdd37 commit d290e40

1 file changed

Lines changed: 5 additions & 8 deletions

File tree

tests/integration/test_request_queue.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -723,14 +723,8 @@ async def test_persistence_across_operations(
723723
assert final_handled == 15, f'final_handled={final_handled}'
724724

725725

726-
async def test_request_deduplication_edge_cases(
727-
request_queue_apify: RequestQueue, request: pytest.FixtureRequest
728-
) -> None:
726+
async def test_request_deduplication_edge_cases(request_queue_apify: RequestQueue) -> None:
729727
"""Test edge cases in request deduplication."""
730-
rq_access_mode = request.node.callspec.params.get('request_queue_apify')
731-
if rq_access_mode == 'shared':
732-
pytest.skip(reason='Test is flaky, see https://github.com/apify/apify-sdk-python/issues/786')
733-
734728
rq = request_queue_apify
735729
Actor.log.info('Request queue opened')
736730

@@ -749,7 +743,10 @@ async def test_request_deduplication_edge_cases(
749743

750744
results = list[bool]()
751745
for url, expected_duplicate in urls_and_deduplication_expectations:
752-
result = await rq.add_request(url)
746+
# In shared mode, `add_request` may transiently return None until the operation propagates,
747+
# so poll with backoff until it returns a result.
748+
result = await poll_until_condition(lambda url=url: rq.add_request(url), lambda result: result is not None)
749+
753750
assert result is not None
754751
results.append(result.was_already_present)
755752
assert result.was_already_present == expected_duplicate, (

0 commit comments

Comments
 (0)