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