E2e test for provisioning secrets manager and creating secret permissions
What does this MR do and why?
Issue link: #569616 and #575589
This MR adds end-to-end testing infrastructure and tests for GitLab's Secrets Manager feature, which integrates with OpenBao. It introduces a GraphQL health check endpoint, helper utilities, and comprehensive test coverage for provisioning and managing secrets manager permissions.
Key Changes
GraphQL API Enhancements:
- Added
openbaoHealthquery to check if the OpenBao instance is healthy and reachable - Implemented
OpenbaoHealthResolverthat verifies OpenBao is initialized and unsealed - Added
check_healthmethod toSecretsManagerClientfor health status validation
QA Test Infrastructure:
- Created
SecretsManagerHelpermodule with utilities for:- Deprovisioning secrets manager via GraphQL
- Checking OpenBao health status
- Added page objects for managing secrets manager settings and permissions in project visibility settings
- Implemented methods to add and verify user, role, and group permissions with specific scopes (create, read, update, delete)
E2E Test Coverage:
- Added test for enabling/disabling the secrets manager feature
- Includes OpenBao health check before running tests
- Tests provisioning workflow and deprovisioning via GraphQL
Configuration & Fixes:
- Enabled OpenBao in GDK configuration (
qa/gdk/gdk.yml) - Fixed module include paths across multiple QA resource files (changed
Support::DatestoQA::Support::Dates)
This provides the foundation for testing secrets management workflows and ensures the OpenBao integration is properly validated in the QA environment.
Edited by Shabini Rajadas