Skip to content

E2E: Wait for Subscription Sync Before Next Purchase in Fulfillment Test

What does this MR do and why?

This MR updates Fulfillment QA tests that purchase multiple subscriptions to wait for the first subscription to sync to GitLab before proceeding to purchasing the next.

This is to help avoid lock competition errors from Zuora.

An issue has been opened to investigate if any action is needed on the CustomersDot side to investigate why these have started occurring recently and to handle these errors more gracefully: https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/6581

How to set up and validate locally

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

  1. To run against staging, make sure to env variables GITLAB_USERNAME, GITLAB_PASSWORD, GITLAB_QA_USER_AGENT, GITLAB_ADMIN_USERNAME, GITLAB_ADMIN_PASSWORD, GITLAB_QA_ACCESS_TOKEN, GITLAB_QA_ADMIN_ACCESS_TOKEN, with QA_GITLAB_URL set to https://staging.gitlab.com. These values should be located in the Gitlab-QA 1Password vault.
  2. From the qa directory, run bundle exec rspec qa/specs/features/ee/browser_ui/11_fulfillment/purchase/upgrade_group_spec.rb (replacing the file path with the spec you intend to run)

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