Skip to content

ATS-PFM-TNL-001Request a complete customer workspace: Acceptance Test Set

Markdown

ATS-PFM-TNL-001

Request a complete customer workspace: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-TNL-001

KindAcceptance test setProduct areaPlatformModuleWorkspace Lifecycle Across ApplicationsRevision2

Read atservices-platform ad3f6a65

Test Scenarios

7 scenarios proving CAP-PFM-TNL-001; 7 bound to an existing test.

01 Customer authority cannot provisionapinegativetest
Proves
BR-CAP-PFM-TNL-001-01
Preconditions
A working workspace has a customer administrator.
Steps
Submit a creation request with that identity.
Expected
The request is refused without recording a workspace or build job.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/e2e/tenant-provisioning.e2e.spec.js#leaves the tenant exactly as it was after all of those refusals
Source
services-platform:modules/tenants/tests/e2e/tenant-provisioning.e2e.spec.js#may not ask for a tenant at all
02 Identifiers are validated and normalizedapinegativetest
Proves
BR-CAP-PFM-TNL-001-02
Preconditions
Creation requests exercise missing, generated-looking, reserved and mixed-case identifiers.
Steps
Submit each identifier variant.
Expected
Invalid variants identify the rejected field; valid mixed-case input is stored lowercase.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/e2e/tenants.e2e.spec.js#refuses a create that names no id as 400 tenant_id_required, naming id
services-platform:modules/tenants/tests/e2e/tenants.e2e.spec.js#refuses a UUID-shaped id as 400 tenant_id_invalid, nothing generating ids any more
services-platform:modules/tenants/tests/e2e/tenants.e2e.spec.js#refuses a reserved id as 400 tenant_id_reserved
services-platform:modules/tenants/tests/e2e/tenants.e2e.spec.js#stores an id normalized, trimmed and lowercase
Source
services-platform:modules/tenants/tests/e2e/tenants.e2e.spec.js#refuses a create that names no id as 400 tenant_id_required, naming id
03 Submission replay retains identityapitest
Proves
BR-CAP-PFM-TNL-001-03
Preconditions
The original submission has been accepted.
Steps
Resubmit its identical payload and submission identity.
Expected
Both responses refer to one workspace and one build job.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/integration/services/provisioning/provision-tenant.integration.spec.js#answers the same tenant and the same job when the same submission is sent twice
Source
services-platform:modules/tenants/tests/integration/services/provisioning/provision-tenant.integration.spec.js#answers the same tenant and the same job when the same submission is sent twice
04 Identifier collision preserves the originalapinegativetest
Proves
BR-CAP-PFM-TNL-001-04
Preconditions
A workspace already holds the chosen identifier.
Steps
Submit a new request with that identifier.
Expected
Creation reports the collision without modifying the existing record.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/integration/services/provisioning/provision-tenant.integration.spec.js#refuses a different submission that names a tenant id somebody already has
services-platform:modules/tenants/tests/e2e/tenants.e2e.spec.js#refuses an id another tenant has as 409 tenant_id_taken
Source
services-platform:modules/tenants/tests/integration/services/provisioning/provision-tenant.integration.spec.js#refuses a different submission that names a tenant id somebody already has
05 Sender refusal rolls back creationapinegativetest
Proves
BR-CAP-PFM-TNL-001-05
Preconditions
A request includes an invalid sender choice.
Steps
Submit the whole workspace request.
Expected
The refusal retains no new customer, workspace, job or provider resource.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/integration/services/provisioning/tenant-email-strategy.integration.spec.js#creates no tenant at all when the strategy is refused: the request is rejected whole
Source
services-platform:modules/tenants/tests/integration/services/provisioning/tenant-email-strategy.integration.spec.js#creates no tenant at all when the strategy is refused: the request is rejected whole
06 Request acceptance precedes readinessapitest
Proves
BR-CAP-PFM-TNL-001-06
Preconditions
A new workspace request is ready to submit.
Steps
Inspect the returned workspace before and after running its build.
Expected
It begins provisioning and becomes active with a recorded opening time.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/e2e/tenant-provisioning.e2e.spec.js#answers a tenant that is not usable yet, because the work has only been asked for
Source
services-platform:modules/tenants/tests/e2e/tenant-provisioning.e2e.spec.js#answers a tenant that is not usable yet, because the work has only been asked for
07 Execution-start failure preserves the requestapitest
Proves
BR-CAP-PFM-TNL-001-07
Preconditions
The job starter is configured to fail.
Steps
Submit the provisioning request.
Expected
The response returns the committed workspace and pending job without an execution handle.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/integration/services/provisioning/provision-tenant.integration.spec.js#answers the tenant it created and the job it submitted, as a successful request does
services-platform:modules/tenants/tests/integration/services/provisioning/provision-tenant.integration.spec.js#leaves the job pending and without a handle, which is what the reconciler settles
Source
services-platform:modules/tenants/tests/integration/services/provisioning/provision-tenant.integration.spec.js#answers the tenant it created and the job it submitted, as a successful request does

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.