Skip to content

test(e2e): multitenancy (#4864)#6209

Merged
corinnekrych merged 29 commits into
mainfrom
e2e-multitenancy
Jun 16, 2026
Merged

test(e2e): multitenancy (#4864)#6209
corinnekrych merged 29 commits into
mainfrom
e2e-multitenancy

Conversation

@corinnekrych

@corinnekrych corinnekrych commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

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:

  • Injects the OPENAEV_APPLICATION_LICENSE secret into CI and nightly builds
  • Updates application-ci.properties to enable the MULTI_TENANCY feature flag and bind the license from the injected environment variable, ensuring EE features are available during E2E and CI runs.
  • Extends the E2E test GitHub Action to start the XTM Composer service, generate required RSA keys, and wait for service registration, enabling integration scenarios involving XTM Composer.

New e2e tests:

  • create new tenant
  • check builtin agent is installed in new tenat
  • install/deploy external new collector/executor/inject

@github-actions github-actions Bot added the filigran team Item from the Filigran team. label Jun 12, 2026
@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 42.82%. Comparing base (bc2d21d) to head (b37807f).

❌ 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              
Flag Coverage Δ
backend 65.14% <ø> (-0.03%) ⬇️
e2e 18.14% <ø> (+0.10%) ⬆️
frontend 2.14% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@corinnekrych corinnekrych marked this pull request as ready for review June 16, 2026 08:30
Copilot AI review requested due to automatic review settings June 16, 2026 08:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 TIMEOUT constant.
  • Update CI/E2E runner wiring (CI profile properties, workflows env var, start XTM Composer) and add a data-testid hook 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.

Comment thread openaev-front/tests_e2e/tests/infra/agent-implant.spec.ts
Comment thread openaev-front/tests_e2e/tests/infra/agent-implant.spec.ts
Comment thread openaev-front/tests_e2e/tests/infra/agent-implant-multitenant.spec.ts Outdated
Comment thread openaev-front/tests_e2e/tests/multitenant/tenant-management.spec.ts
Comment thread openaev-front/tests_e2e/tests/multitenant/catalog-external-injector.spec.ts Outdated
@corinnekrych corinnekrych merged commit 95c4767 into main Jun 16, 2026
37 checks passed
@corinnekrych corinnekrych deleted the e2e-multitenancy branch June 16, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

filigran team Item from the Filigran team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants