Implement Contract testing for CustomersDot
Problem
CustomersDot relies on several 3rd party applications like Salesforce or Zuora. There's currently a test gap when it comes to the feature tests where integrations with 3rd party application or even between CustomersDot and GitLab is stubbed out which means that we run into issues where, if the stub is outdated, the tests will still pass leading to false positives.
Reference discussion: https://gitlab.com/groups/gitlab-org/-/epics/11463#note_1850814536
Proposal
Gitlab <> CustomersDot
For integration between CustomersDot and GitLab, there is currently a contract testing implementation in GitLab that we can continue to expand on it with a focus on introducing tests between the 2 applications.
CustomersDot <> External Services
For integrations with external services (Zuora, Salesforce, etc), we want to take this chance to create Pact consumer tests that will verify what we expect from the providers. As for the mock responses, we will need to create a new type of test that verifies these mock responses against the live services.
Result
Consumer and Provider contract testing framework using Pact is added and usable