Implement API-based canary cookie-switching functionality to enable more testing types
Problem to solve
To provide better coverage for the migration
category of possible mixed deployment failure modes, we need to implement the canary
cookie switching functionality in the API methods within the qa framework.
Proposal
Similar to the UI-based cookie switching functionality, API calls need to be updated to accept a parameter that indicates if it should set or modify a gitlab_canary
cookie within the API headers.
Tasks
- Explore and test approaches to add simplified API testing without overhead of the entire QA framework, but leveraging existing work
- Determine appropriate entry point other than through existing page objects (requires extensive refactoring)
- Simplify changes to additional functionality
- Explore bypassing UI interactions for setup
- Automate cookie switching
- Analysis of lower-level API functionality
- Fix a gap in low-level API functionality related to cookies (!83419 (merged))
Future
Will also add a sample test for documentation, but there is ongoing discussion around what this format would look like that should be resolved first.