ATS-PFM-INT-004 Maintain a verified provider account connection: Capability Test Specification
Markdown Design / Platform / Integration access, customer extensions and shared workflow configuration / Provider accounts and credentials / Capability Test Specification Show evidence (sources, provenance, origins, pinned commits)Coverage Rule gap: FND-PFM-INT-058 Transition covered Validation covered Permission gap: FND-PFM-INT-058 Edge covered Failure covered Boundary gap: FND-PFM-INT-058 Concurrency gap: FND-PFM-INT-058 Invariant covered Interaction covered Test Scenarios 15 scenarios proving CAP-PFM-INT-004 ; 9 bound to an existing test.
01 Authentication method determines the initial connection state transition api test
Proves BR-CAP-PFM-INT-004-01 Preconditions An enabled test-provider installation has a published current release. Steps Create one entered-key connection and one platform-account connection. Expected Both use the current release; the first waits for credentials and the second begins verification with one job. Data Fixtures establishing the stated accounts, declarations and history in an isolated workspace. Bound to Source services-platform:modules/integrations/tests/e2e/integrations.e2e.spec.js #connects a platform account, which starts verifying with its job 02 Connection identity rejects collisions and invalid syntax validation api negative test
Proves BR-CAP-PFM-INT-004-02 Preconditions Main account already exists in the workspace. Steps Create the same derived identifier, a valid explicit identifier and an invalid explicit identifier. Expected The collision names the taken value, the valid explicit choice succeeds and the invalid syntax identifies the field. Data Fixtures establishing the stated accounts, declarations and history in an isolated workspace. Bound to Source services-platform:modules/integrations/tests/e2e/integrations.e2e.spec.js #refuses a second connection of the tenant whose name derives to a taken id, 409 naming the id 03 Account verification prevents duplicate connections invariant api negative test
Proves BR-CAP-PFM-INT-004-03 Preconditions A verified connection already uses provider account A. Steps Verify another connection for A, disconnect the original and verify the new one again. Expected The duplicate fails with the conflicting connection identified; disconnection makes the account available for reuse. Data Fixtures establishing the stated accounts, declarations and history in an isolated workspace. Bound to Source services-platform:modules/integrations/tests/integration/db/integration-connections.table.integration.spec.js #refuses the same provider account connected twice under the installation 04 Transitions preserve the complete connection contract transition api test
Proves BR-CAP-PFM-INT-004-04 Preconditions Prepare every connection state. Steps Exercise every named transition from each state and inspect its effects. Expected Only permitted transitions move, disconnected remains final and accepted transitions write both trails and notify the binding hook. Data Fixtures establishing the stated accounts, declarations and history in an isolated workspace. Bound to Source services-platform:modules/integrations/tests/unit/services/connection-state-machine.spec.ts #is chapter 09 §4.3’s, edge for edge, and the three discards of INTG-M1 (D7) 05 Credential correction recovers failed verification failure browser proposed
Proves BR-CAP-PFM-INT-004-05 AS-JNY-PFM-INT-001-02 Preconditions The test integration is installed and accepts a known good key. Steps Connect with a refused key, then replace it with the good key. Expected The refusal displays its reason and failed state; correction reaches Active with the green indicator and verified features. Data Fixtures establishing the stated accounts, declarations and history in an isolated workspace. Source FND-PFM-INT-034 07 Dependent work prevents removal interaction browser negative test
Proves BR-CAP-PFM-INT-004-07 AS-JNY-PFM-INT-002-01 Preconditions A degraded connection is selected by a business-unit binding. Steps Attempt disconnect, remove the binding, disconnect again and submit the obsolete override property. Expected The first refusal identifies the dependency, removal then succeeds and the obsolete override is rejected as invalid. Data Fixtures establishing the stated accounts, declarations and history in an isolated workspace. Bound to Source services-platform:modules/integrations/tests/e2e/disconnect-and-uninstall.e2e.spec.js #answers a disconnection of a bound connection 409, code connection_has_bindings, naming each binding 10 Upgrade verifies access and account continuity interaction browser negative test
Proves BR-CAP-PFM-INT-004-10 Preconditions An earlier pinned release is active and a newer release requests additional access. Steps Request the newer release, accept the new access and request it again. Expected The first request identifies unaccepted new access; after acceptance, verification succeeds before the release pin changes. Data Fixtures establishing the stated accounts, declarations and history in an isolated workspace. Bound to Source services-platform:modules/integrations/tests/integration/services/connections/connection-jobs.integration.spec.js #refuses a version that asks for access the installation has not accepted, naming it, and starts no job 11 Exercise the complete connection lifecycle transition api negative proposed
Proves BR-CAP-PFM-INT-004-04 Preconditions Prepare one independent record in each starting state, including absent-record cases where the model defines creation. Steps Run each listed transition once with its guard satisfied, then repeat it with the guard denied. Inspect the resulting record and listed side effects after commit. Expected Each positive case reaches its listed destination and records its defined side effects. Each denied case preserves the starting record and creates no transition side effects. Data Run-owned records and principals in an isolated workspace. Source rhythm-v2-docs:specs/platform/integrations/design/state-models/STATE-PFM-INT-003-connection-lifecycle.md #transitions 12 Provider checks change operational standing interaction api proposed
Proves BR-CAP-PFM-INT-004-05 BR-CAP-PFM-INT-006-03 Preconditions A verified active account can return failing and passing health results. Steps Run a failed check followed by a recovered check and inspect the account and health view. Expected The visible status follows degradation and recovery with retained check outcomes. Data Run-owned records and principals in an isolated workspace. Source services-platform:modules/integrations/tests/integration/services/connections/connection-jobs.integration.spec.js #becomes active with the account and every declared feature verified,services-platform:modules/integrations/tests/integration/services/connections/connection-jobs.integration.spec.js#degrades an active connection whose provider is unhealthy 13 Moving selections makes account retirement possible interaction api proposed
Proves BR-CAP-PFM-INT-004-07 BR-CAP-PFM-INT-007-08 Preconditions An old account has two bindings and a replacement lacks one required feature. Steps Move selections, inspect per-binding results, remove the remaining dependency and disconnect the old account. Expected The eligible binding moves, the failed move retains its source, and closure succeeds only after every dependency is removed. Data Run-owned records and principals in an isolated workspace. Source services-platform:modules/integrations/tests/e2e/disconnect-and-uninstall.e2e.spec.js #answers a disconnection of a bound connection 409, code connection_has_bindings, naming each binding,services-platform:modules/integrations/tests/integration/services/bindings/binding-move.integration.spec.js#replaces every active binding of the source with one choosing the target, at the same scope, policy and note 15 Verification provisions notification endpoints interaction api proposed
Proves BR-CAP-PFM-INT-004-05 BR-CAP-PFM-INT-013-06 Preconditions A release declares a manually registered notification endpoint. Steps Complete account verification, read setup once and inspect the ordinary endpoint read. Expected The account activates, setup exposes its provisioned address and secret once, and later inspection omits the secret. Data Run-owned records and principals in an isolated workspace. Source services-platform:modules/integrations/tests/integration/services/connections/connection-jobs.integration.spec.js #becomes active with the account and every declared feature verified,services-platform:modules/integrations/tests/e2e-adapters/events-dummy.adapters.spec.js#never answers the secret again ← Previous Capability Test Specification ATS-PFM-INT-003 · Adopt an integration with reviewed access: Capability Test Specification Next Capability Test Specification → ATS-PFM-INT-005 · Protect credentials throughout their useful life: Capability Test Specification