Skip to content

Add backoff retry for RHSSO and Content Limits tests #1022

Closed
cathal-bailey wants to merge 1 commit into
3scale-qe:mainfrom
cathal-bailey:rhsso-race-condition-fix
Closed

Add backoff retry for RHSSO and Content Limits tests #1022
cathal-bailey wants to merge 1 commit into
3scale-qe:mainfrom
cathal-bailey:rhsso-race-condition-fix

Conversation

@cathal-bailey

@cathal-bailey cathal-bailey commented Mar 30, 2026

Copy link
Copy Markdown
Collaborator
  • Add @backoff decorator to staging_client fixture
  • RHSSO tests have been failing frequently on Jenkins pipeline runs for Alpha build
  • Same fix added for payload_limits, flaky on Jenkins pipeline
  • The tests will now retry on 404 status (config not loaded yet)
  • Should fix timing issues in CI/Jenkins where APIcast staging hasn't polled configuration yet

@cathal-bailey
cathal-bailey force-pushed the rhsso-race-condition-fix branch from eeda68b to 41d1e2d Compare March 30, 2026 12:17
@cathal-bailey
cathal-bailey marked this pull request as ready for review March 30, 2026 12:21
  - Add backoff decorator to staging_client fixture
  - Retry on 404 status (config not loaded yet)
  - Should fix timing issues in CI/Jenkins where APIcast staging
    hasn't polled for new OIDC configuration yet
  - Adding conftest.py for test_payload limits race condition
Fix formatting

Adding conftest.py file for content_limits tests. Adding backoff retry for these tests.
@cathal-bailey
cathal-bailey force-pushed the rhsso-race-condition-fix branch from 41d1e2d to e072390 Compare March 31, 2026 10:08
@cathal-bailey cathal-bailey changed the title Add backoff retry for RHSSO tests Add backoff retry for RHSSO and Content Limits tests Mar 31, 2026
@@ -14,6 +15,21 @@ def staging_client(api_client):
"""
client = api_client()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be default retry on 503 and 404
https://github.com/3scale-qe/3scale-api-python/blob/32de76d9eee8fee81ec3ed9876eaea7d4806338d/threescale_api/utils.py#L56

maybe better is to parametrize this fixture or just create api_client in a tests so auth is not set to None, and then internal retry should work

@cathal-bailey

Copy link
Copy Markdown
Collaborator Author

Opened #1024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants