Skip to content

Commit

Permalink
[uss_qualifier] verify that SCD subscriptions can be mutated and dele…
Browse files Browse the repository at this point in the history
…ted on every DSS of a deployment
  • Loading branch information
Shastick committed Mar 15, 2024
1 parent cd5f545 commit 8cbf0e9
Show file tree
Hide file tree
Showing 4 changed files with 253 additions and 72 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ This test step fragment validates that subscriptions are properly synchronized a
If the previously created or mutated subscription cannot be found at a DSS, either one of the instances at which the subscription was created or the one that was queried,
may be failing to implement **[astm.f3548.v21.DSS0210,1a](../../../../../../requirements/astm/f3548/v21.md)**.

## 🛑 Subscription returned by a secondary DSS is valid and correct check

When queried for a subscription that was created via another DSS, a DSS instance is expected to provide a valid subscription.

If it does not, it might be in violation of **[astm.f3548.v21.DSS0005,5](../../../../../../requirements/astm/f3548/v21.md)**.

## 🛑 Propagated subscription contains the correct USS base URL check

If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct USS base URL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,6 @@ Verify that the subscription returned by the DSS under test is properly formatte

Query the created subscription at every DSS provided in `dss_instances`.

#### 🛑 Subscription returned by a secondary DSS is valid and correct check

When queried for a subscription that was created via another DSS, a DSS instance is expected to provide a valid subscription.

If it does not, it might be in violation of **[astm.f3548.v21.DSS0005,5](../../../../../requirements/astm/f3548/v21.md)**.

#### [Subscription is synchronized](../fragments/sub/sync.md)

Confirm that the subscription that was just created is properly synchronized across all DSS instances.
Expand All @@ -74,10 +68,10 @@ Verify that the subscription returned by every DSS is correctly formatted and co

Verify that the version of the subscription returned by every DSS is as expected.

### Mutate subscription test step
### Mutate subscription broadcast test step

This test step mutates the previously created subscription to verify that the DSS reacts properly: notably, it checks that the subscription version is updated,
including for changes that are not directly visible, such as changing the subscription's footprint.
This test step mutates the previously created subscription, by accessing the primary DSS, to verify that the update is propagated to all other DSSes.
Notably, it checks that the subscription version is updated, including for changes that are not directly visible, such as changing the subscription's footprint.

#### [Update subscription](../fragments/sub/crud/update.md)

Expand All @@ -95,12 +89,6 @@ Verify that the version of the subscription returned by the DSS has been updated

Query the updated subscription at every DSS provided in `dss_instances`.

#### 🛑 Subscription returned by a secondary DSS is valid and correct check

When queried for a subscription that was mutated via another DSS, a DSS instance is expected to provide a valid subscription.

If it does not, it might be in violation of **[astm.f3548.v21.DSS0005,5](../../../../../requirements/astm/f3548/v21.md)**.

#### [Subscription is synchronized](../fragments/sub/sync.md)

Confirm that the subscription that was just mutated is properly synchronized across all DSS instances.
Expand All @@ -117,9 +105,38 @@ Verify that the subscription returned by every DSS is correctly formatted and co

Verify that the version of the subscription returned by every DSS is as expected.

### Delete subscription test step
### Mutate subscription on secondaries test step

This test step attempts to mutate the subscription on every secondary DSS instance (that is, instances through which the subscription has not been created) to confirm that such mutations are properly propagated to every DSS.

#### [Update subscription](../fragments/sub/crud/update.md)

Confirm that the subscription can be mutated on a secondary DSS.

#### [Subscription is synchronized](../fragments/sub/sync.md)

Confirm that the subscription that was just mutated is properly synchronized across all DSS instances.

#### [Get subscription](../fragments/sub/crud/read.md)

Confirms that the subscription that was just mutated can be retrieved from any DSS, and that it has the expected content.

#### [Validate subscription](../fragments/sub/validate/correctness.md)

Verify that the subscription returned by the DSS is properly formatted and contains the correct content.

#### [Validate version is updated by mutation](../fragments/sub/validate/mutated.md)

Verify that the version of the subscription returned by the DSS the subscription was mutated through has been updated.

#### [Validate new version is synced](../fragments/sub/validate/non_mutated.md)

Attempt to delete the subscription in various ways and ensure that the DSS reacts properly.
Verify that the new version of the subscription has been propagated.

### Delete subscription on primary test step

Attempt to delete the subscription that was created on the primary DSS through the primary DSS in various ways,
and ensure that the DSS reacts properly.

This also checks that the subscription data returned by a successful deletion is correct.

Expand All @@ -144,4 +161,31 @@ Attempt to query and search for the deleted subscription in various ways
If a DSS returns a subscription that was previously successfully deleted from the primary DSS,
either one of the primary DSS or the DSS that returned the subscription is in violation of **[astm.f3548.v21.DSS0210,1a](../../../../../requirements/astm/f3548/v21.md)**.

### Delete subscriptions on secondaries test step

Attempt to delete subscriptions that were created through the primary DSS via the secondary DSS instances.

#### [Delete subscription](../fragments/sub/crud/delete.md)

Confirms that a subscription can be deleted from a secondary DSS

#### [Validate subscription](../fragments/sub/validate/correctness.md)

Verify that the subscription returned by the DSS via the deletion is properly formatted and contains the correct content.

#### [Validate version](../fragments/sub/validate/non_mutated.md)

Verify that the version of the subscription returned by the DSS is as expected

#### 🛑 Secondary DSS should not return the deleted subscription check

If a DSS returns a subscription that was previously successfully deleted from the primary DSS,
either one of the primary DSS or the DSS that returned the subscription is in violation of **[astm.f3548.v21.DSS0210,1a](../../../../../requirements/astm/f3548/v21.md)**.

#### 🛑 Primary DSS should not return the deleted subscription check

If the primary DSS returns a subscription that was previously successfully deleted from a secondary DSS,
either one of the secondary or primary DSS is in violation of **[astm.f3548.v21.DSS0210,1a](../../../../../requirements/astm/f3548/v21.md)**.


## [Cleanup](../clean_workspace.md)
Loading

0 comments on commit 8cbf0e9

Please sign in to comment.