Skip to content

E2E: Retry GitLab Purchase On Lock Competition Error

What does this MR do and why?

Relates to https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/6813

This MR adds a retry for purchasing an order on the GitLab checkout page if a Zuora lock competition error is experienced. This should help stabilize flaky failures such as #425426 (closed).

This is the same workaround that has been added to the CustomersDot E2E test framework in https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/7955

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  1. Retrieve GITLAB_USERNAME, GITLAB_PASSWORD, GITLAB_QA_USER_AGENT, GITLAB_ADMIN_USERNAME, GITLAB_ADMIN_PASSWORD, GITLAB_QA_ACCESS_TOKEN and GITLAB_QA_ADMIN_ACCESS_TOKEN for Staging from the Gitlab-QA 1Password vault and export them as env vars locally
  2. Run a test against Staging that uses one of the modified methods from qa/qa/flow/purchase.rb, such as:
QA_GITLAB_URL=https://staging.gitlab.com bundle exec rspec qa/specs/ee/browser_ui/11_fulfillment/purchase/purchase_ci_spec.rb

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Valerie Burton

Merge request reports

Loading