Skip to content

ATS-PFM-INT-004Maintain a verified provider account connection: Capability Test Specification

Markdown

ATS-PFM-INT-004

Maintain a verified provider account connection: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaPlatformModuleIntegration access, customer extensions and shared workflow configurationRevision3

Read atservices-platform ad3f6a65macroservice-libraries 54536a44react-console baf6dae3

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 statetransitionapitest
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 syntaxvalidationapinegativetest
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 connectionsinvariantapinegativetest
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 contracttransitionapitest
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 verificationfailurebrowserproposed
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
06 Connection pause and resume remain accountabletransitionbrowsertest
Proves
BR-CAP-PFM-INT-004-06
Preconditions
A connection is active.
Steps
Suspend with a reason, repeat suspension, resume and inspect history.
Expected
The connection pauses then returns active, history identifies who and why, and repeated suspension is refused.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/installations/history-and-security-trail.integration.spec.js#refuses a suspension of a connection that is not active, recording it in neither trail
07 Dependent work prevents removalinteractionbrowsernegativetest
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
08 Abandoned authentication has a removal pathedgebrowsertest
Proves
BR-CAP-PFM-INT-004-08
Preconditions
An initial account connection never verified its credential.
Steps
Discard it and then uninstall its provider.
Expected
Discard ends the connection as disconnected in both trails and the installation can be removed.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#ends a pending_auth connection disconnected, by the caller, with a reason saying it was discarded before it was ever connected
09 Disconnect cleans up connection resourcestransitionapitest
Proves
BR-CAP-PFM-INT-004-09
Preconditions
An active connection owns endpoints, credentials and a notice.
Steps
Disconnect it and inspect those records.
Expected
Endpoints are disabled, credentials revoked for deletion after one week, notices cleared and actor and reason retained.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/connections/transition.integration.spec.js#disables the connection’s webhook endpoints
10 Upgrade verifies access and account continuityinteractionbrowsernegativetest
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 lifecycletransitionapinegativeproposed
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 standinginteractionapiproposed
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 possibleinteractionapiproposed
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
14 Corrected credentials recover account setupinteractionapiproposed
Proves
BR-CAP-PFM-INT-004-05 BR-CAP-PFM-INT-005-05
Preconditions
An entered-key account fails its first verification.
Steps
Replace the key, run verification and read safe credential facts and connection detail.
Expected
Successful verification reaches active with provider features; safe facts identify the replacement without its value.
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/services/credentials/credential-store.ts:verification_retried
15 Verification provisions notification endpointsinteractionapiproposed
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

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.