Skip to content

ATS-PFM-OPS-005Inspect background runs within customer reach: Capability Test Specification

Markdown

ATS-PFM-OPS-005

Inspect background runs within customer reach: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-OPS-005

Design

Executed by
TST-PFM-OPS-055, TST-PFM-OPS-066, TST-PFM-OPS-067

KindAcceptance test setProduct areaPlatformModuleOperational RecordsRevision2

Read atservices-platform ad3f6a65react-console baf6dae3macroservice-libraries 54536a44

Coverage

  • Rule covered
  • Transition not-applicable
  • Validation covered
  • Permission covered
  • Edge gap: FND-PFM-OPS-057
  • Failure gap: FND-PFM-OPS-057
  • Boundary covered
  • Concurrency gap: FND-PFM-OPS-057
  • Invariant covered
  • Interaction covered

Test Scenarios

10 scenarios proving CAP-PFM-OPS-005; 9 bound to an existing test.

01 Declare authorized read routespermissionapitest
Proves
BR-CAP-PFM-OPS-005-01
Preconditions
The customer and workspace job routes are registered.
Steps
Inspect access, methods and permissions.
Expected
The routes require customer jobs-read authority and perform reads.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#declares the customer monitor and the tenant runs console, with platform.jobs.read
Source
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#declares the customer monitor and the tenant runs console, with platform.jobs.read
02 Hide a different customer’s jobboundaryapinegativetest
Proves
BR-CAP-PFM-OPS-005-02
Preconditions
Two customers have job records.
Steps
List and open the other customer’s job through the customer monitor.
Expected
The foreign job is absent and its direct read matches an unknown-job response.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#says of another customer's job exactly what it says of an unknown one
03 Include workspace runs without customer attributionruleapitest
Proves
BR-CAP-PFM-OPS-005-03
Preconditions
The workspace has multiple services’ runs including a snapshot with no customer.
Steps
Read workspace runs and the customer-wide monitor.
Expected
The workspace read includes the snapshot while the customer-wide read excludes it.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/jobs/tests/e2e/jobs-tenant-runs.e2e.spec.js#answers exactly the tenant's jobs, of every macroservice
04 Keep staff entry within its grantpermissionapinegativetest
Proves
BR-CAP-PFM-OPS-005-04
Preconditions
Staff hold a grant into only one workspace and another caller belongs elsewhere.
Steps
Read the granted and ungranted workspace runs and customer monitor.
Expected
The allowed workspace is readable and the other requested surfaces are refused.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/jobs/tests/e2e/jobs-tenant-runs.e2e.spec.js#is refused a tenant of the same customer the grant does not name
05 Refuse portal and anonymous inspectionpermissionapinegativetest
Proves
BR-CAP-PFM-OPS-005-05
Preconditions
A portal caller and an unauthenticated caller are available.
Steps
Request workspace runs.
Expected
Portal context is refused and anonymous access receives an authentication refusal.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/jobs/tests/e2e/jobs-tenant-runs.e2e.spec.js#refuses a portal caller as a context mismatch
06 Validate list continuation and filtersvalidationapinegativetest
Proves
BR-CAP-PFM-OPS-005-06
Preconditions
Several runs support a paged list.
Steps
Page once and supply malformed cursor, status and kind values plus a well-formed unknown kind.
Expected
Valid continuation works, malformed values fail and the unknown kind returns no rows.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#refuses a cursor it did not issue
07 Omit private execution referencesinvariantapitest
Proves
BR-CAP-PFM-OPS-005-08 INV-DOM-PFM-OPS-001-12
Preconditions
A settled job has a step catalog and events.
Steps
Read its snapshot and subsequent history.
Expected
Public detail omits execution handle and row version while later events follow the supplied sequence.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#never puts the execution handle or the row version on the wire
08 Enforce the Maintenance entry permissionpermissionbrowsernegativetest
Proves
BR-CAP-PFM-OPS-005-09
Preconditions
A reader has jobs authority and another does not.
Steps
Open Maintenance with both accounts.
Expected
Only the authorized account reaches Scheduled Jobs; the other sees Access Denied without its link.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
react-console:e2e/mock/maintenance-job-runs.mock.spec.ts#is the console's Access Denied state, and its link is not offered
09 Inspect the active workspace without job controlsinteractionbrowsertest
Proves
AS-JNY-PFM-OPS-001-01 AS-JNY-PFM-OPS-001-02 AS-JNY-PFM-OPS-001-03
Preconditions
The workspace has several services’ runs including a monthly snapshot.
Steps
Open Scheduled Jobs and inspect a row.
Expected
Workspace scope and month-specific subject are preserved and the panel has no start or stop action.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
react-console:e2e/mock/maintenance-job-runs.mock.spec.ts#lists the tenant's runs: what each was about, its status, and who started it
services-platform:modules/jobs/tests/e2e/jobs-tenant-runs.e2e.spec.js#refuses another customer's tenant, as every tenant route does
services-platform:modules/jobs/tests/e2e/jobs-tenant-runs.e2e.spec.js#names Platform's snapshot run by its snapshot and month
react-console:e2e/mock/maintenance-job-runs.mock.spec.ts#a row opens the run, read-only, in a drawer on the right
Source
react-console:e2e/mock/maintenance-job-runs.mock.spec.ts#lists the tenant's runs: what each was about, its status, and who started it
10 Compare customer and staff views of one runinteractionapiproposed
Proves
BR-CAP-PFM-OPS-005-02 BR-CAP-PFM-OPS-006-04
Preconditions
A customer run has a requester and a workspace subject.
Steps
Read it through the authorized customer monitor and through HQ.
Expected
Both audiences see the same run outcome; only the staff view includes staff enrichment.
Data
Isolated workspace records and caller contexts for both sides of the interaction.
Source
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#says of another customer's job exactly what it says of an unknown one; services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#carries neither on the customer's own snapshot, which has nothing to say; CAP-PFM-OPS-006; WF-PFM-OPS-007

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.