The suite follows an integration from a provider release to a customer’s reviewed installation. Acceptance checks the complete handoff between offering, discovery and adoption, with the selected access and settings inspected on the saved installation.
Changes to availability must be checked against both existing adoption and a new installation attempt. The lifecycle and permission cases then revisit the offer and retained history under customer and Rhythm identities.
The reliance links identify detailed capability scenarios. None of these composed acceptance sequences has a verified executable binding at the pinned revisions; the corresponding coverage finding remains open.
A validated provider can publish and a workspace administrator can adopt it.
Steps
Publish and offer the release, inspect provider detail, choose declared access and install.
Expected
The visible offer becomes one enabled installation with the selected access.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/registration/register-integration-version.integration.spec.js#creates the definition by its key, internal until Rhythm offers it,services-platform:modules/integrations/tests/integration/services/catalog/catalog.integration.spec.js#shows a restricted integration only to the tenant granted it,services-platform:modules/integrations/tests/integration/services/installations/installation-lifecycle.integration.spec.js#refuses an acceptance wider than the manifest declares, naming it, and writes nothing
Two workspaces can see a public offer and one already adopts it.
Steps
Restrict the offer away from that workspace, read its saved installation and attempt adoption from an ungranted workspace.
Expected
The saved installation remains readable while new adoption is refused.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/catalog/catalog.integration.spec.js#replaces the whole list of grants,services-platform:modules/integrations/tests/integration/services/installations/narrowed-availability.integration.spec.js#stays readable to the tenant that holds it: the installation, the connection and their lists answer, and the catalog entry stays hidden,services-platform:modules/integrations/tests/integration/services/installations/installation-lifecycle.integration.spec.js#refuses an integration installed already, and writes no second
03Release governance and retained adoptionlifecycleproposed
The installation has no connected accounts and its release is published.
Steps
Uninstall, deprecate and retire the unused release, then read adoption history and the catalogue.
Expected
The installation history remains and the retired release is not offered for a new installation.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/services/persistence/integration-versions.ts:VERSION_TRANSITIONS,services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#is refused while a connection is not disconnected, naming each by id, name and status
04Readers and staff have distinct acceptance boundariespermissionnegativeproposed
A reader, manager, Rhythm operator and unrelated workspace administrator are available.
Steps
Inspect customer and staff catalogues and attempt installation changes with each appropriate and inappropriate identity.
Expected
Readers can inspect, managers can adopt, staff access remains separate and foreign workspace writes are refused.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/tests/e2e/integrations.e2e.spec.js#is refused Rhythm HQ’s catalog (403),react-console:lib/integrations/access.test.ts#shows a reader every screen, with no change control and no secret,services-platform:modules/integrations/tests/e2e/reader-access.e2e.spec.js#is refused every tenant route of this tenant, by id as by list (403)
05Install from reviewed provider detailregressionnegativeproposed