test(e2e): multitenancy (#4864)#6209
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (2.14%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #6209 +/- ##
============================================
- Coverage 42.83% 42.82% -0.02%
+ Complexity 6847 6846 -1
============================================
Files 2253 2253
Lines 61628 61628
Branches 8095 8095
============================================
- Hits 26398 26391 -7
- Misses 33548 33555 +7
Partials 1682 1682
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR expands the Playwright E2E suite to cover multi-tenancy flows (tenant creation/switching and tenant isolation for integrations), adds supporting E2E page objects/helpers, and updates CI configuration to enable the required feature flag and Enterprise Edition license during E2E runs.
Changes:
- Add multi-tenant E2E specs for tenant management and catalog isolation scenarios.
- Introduce new E2E page objects/helpers (tenant management, tenant switcher, catalog/injector pages, threat-arsenal helper, agent install page) and a shared
TIMEOUTconstant. - Update CI/E2E runner wiring (CI profile properties, workflows env var, start XTM Composer) and add a
data-testidhook for stable tenant-switcher selection.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 20 comments.
Show a summary per file
| File | Description |
|---|---|
| openaev-front/tests_e2e/utils/constants.ts | Adds shared TIMEOUT constant for E2E tests. |
| openaev-front/tests_e2e/tests/multitenant/tenant-management.spec.ts | New E2E: tenant creation + tenant switcher navigation. |
| openaev-front/tests_e2e/tests/multitenant/catalog-external-injector.spec.ts | New E2E: deploy external injector in tenant + verify isolation. |
| openaev-front/tests_e2e/tests/multitenant/catalog-external-executor.spec.ts | New E2E: deploy external executor in tenant. |
| openaev-front/tests_e2e/tests/multitenant/catalog-builtin-connectors.spec.ts | New E2E: verify built-in connectors on new tenant creation. |
| openaev-front/tests_e2e/tests/infra/agent-implant.spec.ts | Refactors infra test to use new page object + helper. |
| openaev-front/tests_e2e/tests/infra/agent-implant-multitenant.spec.ts | New infra E2E: agent + atomic testing flow on a newly created tenant. |
| openaev-front/tests_e2e/model/threat-arsenals/ThreatArsenalHelper.ts | Adds helper for creating command-line payloads via UI. |
| openaev-front/tests_e2e/model/platform/TenantsPage.ts | Adds tenants management page object. |
| openaev-front/tests_e2e/model/nav/TenantSwitcherComponent.ts | Adds tenant switcher component wrapper for stable interactions. |
| openaev-front/tests_e2e/model/integrations/InjectorsListPage.ts | Adds injectors list page object for connector instance navigation. |
| openaev-front/tests_e2e/model/integrations/InjectorInstancePage.ts | Adds injector instance page object (start/status polling). |
| openaev-front/tests_e2e/model/integrations/CatalogPage.ts | Adds catalog page object (search + deploy flow). |
| openaev-front/tests_e2e/model/agents/AgentInstallPage.ts | Adds agent install dialog page object (extract install command). |
| openaev-front/tests_e2e/api-helpers/TenantApiHelpers.ts | Adds API helper for tenant cleanup. |
| openaev-front/src/admin/components/nav/LeftBarTenantSwitcher.tsx | Adds data-testid for E2E tenant switcher targeting. |
| openaev-api/src/main/resources/application-ci.properties | New CI profile to enable MULTI_TENANCY + license injection. |
| .github/workflows/nightly-ci.yml | Passes OPENAEV_APPLICATION_LICENSE secret into CI environment. |
| .github/workflows/_quality-gates.yml | Passes OPENAEV_APPLICATION_LICENSE secret into E2E job environment. |
| .github/actions/e2e-tests/action.yml | Starts XTM Composer before running Playwright E2E tests. |
…penaev into e2e-multitenancy
Proposed changes
This pull request introduces comprehensive support for multi-tenancy Enterprise Edition (EE) features in the CI environment and adds a new end-to-end (E2E) test that validates agent installation and execution flows for new tenants.
Key changes include:
CI/CD and Configuration Improvements:
OPENAEV_APPLICATION_LICENSEsecret into CI and nightly buildsapplication-ci.propertiesto enable theMULTI_TENANCYfeature flag and bind the license from the injected environment variable, ensuring EE features are available during E2E and CI runs.New e2e tests: