From 934e457ac7e62fad0752fbe4adc50d6e50d9f858 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Thu, 12 Feb 2026 19:16:15 +0100 Subject: [PATCH 1/4] test: skip flaky test_request_deduplication_edge_cases[shared] Crawlee's RequestQueue.add_request() crashes with IndexError when the platform API returns an empty processed_requests list in shared access mode. Skip until the upstream bug is fixed. See https://github.com/apify/apify-sdk-python/issues/786 Co-Authored-By: Claude Opus 4.6 --- tests/integration/test_request_queue.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/integration/test_request_queue.py b/tests/integration/test_request_queue.py index a551e80c..eab32434 100644 --- a/tests/integration/test_request_queue.py +++ b/tests/integration/test_request_queue.py @@ -677,6 +677,9 @@ async def test_persistence_across_operations(request_queue_apify: RequestQueue) assert final_handled == 15, f'final_handled={final_handled}' +@pytest.mark.skip( + reason='Flaky with shared RQ access mode due to Crawlee bug, see https://github.com/apify/apify-sdk-python/issues/786' +) async def test_request_deduplication_edge_cases(request_queue_apify: RequestQueue) -> None: """Test edge cases in request deduplication.""" rq = request_queue_apify From d14dbc797aa9ce51043914b5a552d5ee684fda2c Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Thu, 12 Feb 2026 20:05:32 +0100 Subject: [PATCH 2/4] test: only skip shared variant of flaky dedup test Instead of skipping both single and shared variants, only skip the shared variant which is affected by the Crawlee bug. Co-Authored-By: Claude Opus 4.6 --- tests/integration/test_request_queue.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/integration/test_request_queue.py b/tests/integration/test_request_queue.py index eab32434..b661361f 100644 --- a/tests/integration/test_request_queue.py +++ b/tests/integration/test_request_queue.py @@ -677,11 +677,15 @@ async def test_persistence_across_operations(request_queue_apify: RequestQueue) assert final_handled == 15, f'final_handled={final_handled}' -@pytest.mark.skip( - reason='Flaky with shared RQ access mode due to Crawlee bug, see https://github.com/apify/apify-sdk-python/issues/786' -) -async def test_request_deduplication_edge_cases(request_queue_apify: RequestQueue) -> None: +async def test_request_deduplication_edge_cases( + request_queue_apify: RequestQueue, request: pytest.FixtureRequest +) -> None: """Test edge cases in request deduplication.""" + if request.param == 'shared': + pytest.skip( + 'Flaky with shared RQ access mode due to Crawlee bug, see https://github.com/apify/apify-sdk-python/issues/786' + ) + rq = request_queue_apify Actor.log.info('Request queue opened') From 80762c7377b0ee56dc08aa6ce0878e0d82aabb45 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Thu, 12 Feb 2026 19:16:18 +0100 Subject: [PATCH 3/4] Update skip message for flaky test case --- tests/integration/test_request_queue.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/integration/test_request_queue.py b/tests/integration/test_request_queue.py index b661361f..de047f39 100644 --- a/tests/integration/test_request_queue.py +++ b/tests/integration/test_request_queue.py @@ -682,9 +682,7 @@ async def test_request_deduplication_edge_cases( ) -> None: """Test edge cases in request deduplication.""" if request.param == 'shared': - pytest.skip( - 'Flaky with shared RQ access mode due to Crawlee bug, see https://github.com/apify/apify-sdk-python/issues/786' - ) + pytest.skip('Test is flaky, see https://github.com/apify/apify-sdk-python/issues/786') rq = request_queue_apify Actor.log.info('Request queue opened') From 477be22f33e709f2bd78edcf2953dd2ecd90253e Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Thu, 12 Feb 2026 19:37:32 +0100 Subject: [PATCH 4/4] fix: access fixture param via callspec to fix skip logic The `request.param` attribute is only available inside parameterized fixtures, not in the test function itself where `request` is a `TopRequest`. Use `request.node.callspec.params` instead. Co-Authored-By: Claude Opus 4.6 --- tests/integration/test_request_queue.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/integration/test_request_queue.py b/tests/integration/test_request_queue.py index de047f39..17ee9cdf 100644 --- a/tests/integration/test_request_queue.py +++ b/tests/integration/test_request_queue.py @@ -681,7 +681,8 @@ async def test_request_deduplication_edge_cases( request_queue_apify: RequestQueue, request: pytest.FixtureRequest ) -> None: """Test edge cases in request deduplication.""" - if request.param == 'shared': + rq_access_mode = request.node.callspec.params.get('request_queue_apify') + if rq_access_mode == 'shared': pytest.skip('Test is flaky, see https://github.com/apify/apify-sdk-python/issues/786') rq = request_queue_apify