@@ -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