Spike: Investigate automation solutions when Product Rate Plans or Charges are updated
Problem
In https://gitlab.com/gitlab-com/business-technology/enterprise-apps/financeops/finance-systems/-/issues/1171+, a few commonly-used Product Rate Plan Charges were modified by updating the names and descriptions. In this particular case, the temporary suffixes (formerly Silver)
or (formerly Gold)
were removed. When the Product Catalog is updated like this, it can have an impact on CDot, either on CI or on the product itself.
For example, when the PRPC descriptions were updated in Zuora API Sandbox, we had to open a quick MR, https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/8003, to update expectations in a few broken specs.
Proposal
Let's investigate to see if any automated solutions would help us with this type of operation in the future.
The specs that failed recently because of a plan charge name/description and fixed in https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/8003, all failed because this code relies on information from the product catalog rather than pre-recorded values from VCR. This meant that when the LocalRecord.export
data changed at the start of the CI run, the expectations for those specs was out of date.
Potentially one way to prevent widespread pipeline failures would be to commit the product catalog data (and periodically refresh it as well). We could also update those specs to fetch the description from the DB rather than writing them out as a string too.