diff --git a/monitoring/uss_qualifier/resources/astm/f3548/v21/planning_area.py b/monitoring/uss_qualifier/resources/astm/f3548/v21/planning_area.py index ce7e204a0d..5cc5eded47 100644 --- a/monitoring/uss_qualifier/resources/astm/f3548/v21/planning_area.py +++ b/monitoring/uss_qualifier/resources/astm/f3548/v21/planning_area.py @@ -68,7 +68,7 @@ def get_new_operational_intent_ref_params( uss_base_url: UssBaseURL, time_start: datetime.datetime, time_end: datetime.datetime, - oir_id: Optional[EntityID], + subscription_id: Optional[EntityID] = None, implicit_sub_base_url: Optional[UssBaseURL] = None, implicit_sub_for_constraints: Optional[bool] = None, ) -> PutOperationalIntentReferenceParameters: @@ -92,7 +92,7 @@ def get_new_operational_intent_ref_params( key=key, state=state, uss_base_url=uss_base_url, - subscription_id=oir_id, + subscription_id=subscription_id, new_subscription=ImplicitSubscriptionParameters( uss_base_url=implicit_sub_base_url, notify_for_constraints=implicit_sub_for_constraints, diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_crud.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_crud.md deleted file mode 100644 index 04f45b62b3..0000000000 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_crud.md +++ /dev/null @@ -1,78 +0,0 @@ -# CRUD operational intent reference test step fragment - -This test step fragment validates that operational intent references can be created, updated, read and modified. - -## 🛑 Create operational intent reference query succeeds check - -As per **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**, the DSS API must allow callers to create an operational intent reference with either one or both of the -start and end time missing, provided all the required parameters are valid. - -## 🛑 Create operational intent reference response is correct check - -A successful operational intent reference creation query is expected to return a well-defined body, the content of which reflects the created operational intent reference. -If the format and content of the response are not conforming, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Create operational intent reference response format conforms to spec check - -The response to a successful operational intent reference creation query is expected to conform to the format defined by the OpenAPI specification under the `A3.1` Annex of ASTM F3548−21. - -If it does not, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Response to operational intent reference creation contains correct body check - -As per **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**, upon creation of a operational intent reference, -the newly created operational intent reference must be part of its response. - -## 🛑 Get operational intent reference by ID check - -If an operational intent reference cannot be queried using its ID, the DSS is failing to meet **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Get operational intent reference response format conforms to spec check - -The response to a successful get operational intent reference query is expected to conform to the format defined by the OpenAPI specification under the `A3.1` Annex of ASTM F3548−21. - -If it does not, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Successful operational intent reference search query check - -If the DSS fails to let us search in the area for which the OIR was created, it is failing to meet **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Created operational intent reference is in search results check - -If the existing operational intent reference is not returned in a search that covers the area it was created for, the DSS is not properly implementing **[astm.f3548.v21.DSS0005,2](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Search operational intent reference response format conforms to spec check - -The response to a successful operational intent reference search query is expected to conform to the format defined by the OpenAPI specification under the `A3.1` Annex of ASTM F3548−21. - -If it does not, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Mutate operational intent reference query succeeds check - -As per **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**, the DSS API must allow callers to mutate an operational intent reference. - -## 🛑 Mutate operational intent reference query succeeds check - -A successful operational intent reference mutation query is expected to return a well-defined body, the content of which reflects the updated operational intent reference. -If the format and content of the response are not conforming, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Mutate operational intent reference response format conforms to spec check - -The response to a successful operational intent reference mutation query is expected to conform to the format defined by the OpenAPI specification under the `A3.1` Annex of ASTM F3548−21. - -If it does not, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Delete operational intent reference query succeeds check - -A query to delete an operational intent reference, by its owner and when the correct OVN is provided, should succeed, otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Delete operational intent reference response is correct check - -A successful operational intent reference deletion query is expected to return a well-defined body, the content of which reflects the operational intent reference at the moment of deletion. -If the format and content of the response are not conforming, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Delete operational intent reference response format conforms to spec check - -The response to a successful operational intent reference deletion query is expected to conform to the format defined by the OpenAPI specification under the `A3.1` Annex of ASTM F3548−21. - -If it does not, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_sync.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_sync.md deleted file mode 100644 index 7d1705e8c0..0000000000 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_sync.md +++ /dev/null @@ -1,33 +0,0 @@ -# Synchronize operational intent reference test step fragment - -This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances. - -## 🛑 Operational intent reference can be found at every DSS check - -If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, -may be failing to implement **[astm.f3548.v21.DSS0210,2a](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Propagated operational intent reference contains the correct manager check - -If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, -either one of the instances at which the operational intent reference was created or the one that was queried, may be failing to implement **[astm.f3548.v21.DSS0210,2b](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Propagated operational intent reference contains the correct USS base URL check - -If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, -either one of the instances at which the operational intent reference was created or the one that was queried, may be failing to implement **[astm.f3548.v21.DSS0210,2c](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Propagated operational intent reference contains the correct state check - -If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, -either one of the instances at which the operational intent reference was created or the one that was queried, may be failing to implement **[astm.f3548.v21.DSS0210,2d](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Propagated operational intent reference contains the correct start time check - -If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, -either one of the instances at which the operational intent reference was created or the one that was queried, may be failing to implement **[astm.f3548.v21.DSS0210,2f](../../../../../requirements/astm/f3548/v21.md)**. - -## 🛑 Propagated operational intent reference contains the correct end time check - -If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, -either one of the instances at which the operational intent reference was created or the one that was queried, may be failing to implement **[astm.f3548.v21.DSS0210,2f](../../../../../requirements/astm/f3548/v21.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_validate.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_validate.md deleted file mode 100644 index 9a316bec1a..0000000000 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir_validate.md +++ /dev/null @@ -1,67 +0,0 @@ -# Validate operational intent reference test step fragment - -This test step fragment attempts to validate a single operational intent reference returned by the DSS. - -The code for these checks lives in the [oir_validator.py](../validators/oir_validator.py) class. - -## ⚠️ Returned operational intent reference ID is correct check - -If the returned operational intent reference ID does not correspond to the one specified in the creation parameters, -**[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)** is not respected. - -## ⚠️ Returned operational intent reference has a manager check - -If the returned operational intent reference has no manager defined, **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)** is not respected. - -## ⚠️ Returned operational intent reference manager is correct check - -The returned manager must correspond to the identity of the client that created the operational intent at the DSS, -otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Returned operational intent reference state is correct check - -The returned state must be the same as the provided one, otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Returned operational intent reference has an USS base URL check - -If the returned operational intent reference has no USS base URL defined, **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)** is not respected. - -## ⚠️ Returned operational intent reference base URL is correct check - -The returned USS base URL must be prefixed with the USS base URL that was provided at operational intent reference creation, otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Returned operational intent reference has a start time check - -If the returned operational intent reference has no start time defined, **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)** is not respected. - -## ⚠️ Returned start time is correct check - -The returned start time must be the same as the provided one, otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Returned operational intent reference has an end time check - -Operational intent references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Returned end time is correct check - -The returned end time must be the same as the provided one, otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Returned operational intent reference has a version check - -If the returned operational intent reference has no version defined, **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)** is not respected. - -## ⚠️ Non-mutated operational intent reference keeps the same version check - -If the version of the operational intent reference is updated without there having been any mutation of the operational intent reference, the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Non-mutated operational intent reference keeps the same OVN check - -If the OVN of the operational intent reference is updated without there having been any mutation of the operational intent reference, the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Mutated operational intent reference version is updated check - -Following a mutation, the DSS needs to update the operational intent reference version, otherwise it is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. - -## ⚠️ Mutated operational intent reference OVN is updated check - -Following a mutation, the DSS needs to update the operational intent reference OVN, otherwise it is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md index 886d1f67d1..42fed3478b 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md @@ -3,7 +3,7 @@ ## Overview Verifies that all CRUD operations on operational intent references performed on a given DSS instance -are properly propagated to every other DSS instances participating in the deployment. +are properly propagated to every other DSS instance participating in the deployment. ## Resources @@ -41,11 +41,11 @@ It then goes on to mutate and delete it, each time confirming that all other DSS ### Create OIR validation test step -#### [Create OIR](../fragments/oir_crud.md) +#### [Create OIR](../fragments/oir/crud/create.md) Verify that an operational intent reference can be created on the primary DSS. -#### [Validate OIR](../fragments/oir_validate.md) +#### [OIR Content is correct](../fragments/oir/validate/correctness.md) Verify that the operational intent reference returned by the DSS under test is properly formatted and contains the expected content. @@ -57,33 +57,41 @@ Query the created operational intent at every DSS provided in `dss_instances`. When queried for an operational intent reference that was created via another DSS, a DSS instance is expected to provide a valid operational intent reference. -If it does not, it might be in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. +If it does not, it is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. -#### [OIR is synchronized](../fragments/oir_sync.md) +#### [OIR is synchronized](../fragments/oir/sync.md) Confirm that the operational intent reference that was just created is properly synchronized across all DSS instances. -#### [Get OIR](../fragments/oir_crud.md) +#### [Get OIR](../fragments/oir/crud/read.md) Confirms that each DSS provides access to the created operational intent reference, -#### [Validate OIR](../fragments/oir_validate.md) +#### [OIR Content is correct](../fragments/oir/validate/correctness.md) Verify that the operational intent reference returned by every DSS is correctly formatted and corresponds to what was created earlier. +#### [OIR Versions are correct](../fragments/oir/validate/non_mutated.md) + +Verify that the operational intent reference's version fields are as expected. + ### Mutate OIR test step This test step mutates the previously created operational intent reference to verify that the DSS reacts properly: notably, it checks that the operational intent reference version is updated, including for changes that are not directly visible, such as changing the operational intent reference's footprint. -#### [Update OIR](../fragments/oir_crud.md) +#### [Update OIR](../fragments/oir/crud/update.md) Confirm that the operational intent reference can be mutated. -#### [Validate OIR](../fragments/oir_validate.md) +#### [Validate OIR](../fragments/oir/validate/correctness.md) Verify that the operational intent reference returned by the DSS is properly formatted and contains the correct content. +#### [OIR Versions are correct](../fragments/oir/validate/mutated.md) + +Verify that the operational intent reference's version fields have been updated. + ### Query updated OIR test step Query the updated operational intent reference at every DSS provided in `dss_instances`. @@ -92,34 +100,42 @@ Query the updated operational intent reference at every DSS provided in `dss_ins When queried for an operational intent reference that was mutated via another DSS, a DSS instance is expected to provide a valid operational intent reference. -If it does not, it might be in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. +If it does not, it is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../requirements/astm/f3548/v21.md)**. -#### [OIR is synchronized](../fragments/oir_sync.md) +#### [OIR is synchronized](../fragments/oir/sync.md) Confirm that the operational intent reference that was just mutated is properly synchronized across all DSS instances. -#### [Get OIR](../fragments/oir_crud.md) +#### [Get OIR](../fragments/oir/crud/read.md) Confirms that the operational intent reference that was just mutated can be retrieved from any DSS. -#### [Validate OIR](../fragments/oir_validate.md) +#### [Validate OIR](../fragments/oir/validate/correctness.md) Verify that the operational intent reference returned by every DSS is correctly formatted and corresponds to what was mutated earlier. +#### [OIR Versions are correct](../fragments/oir/validate/non_mutated.md) + +Verify that the operational intent reference's version fields are as expected. + ### Delete OIR test step Attempt to delete the operational intent reference in various ways and ensure that the DSS reacts properly. This also checks that the operational intent reference data returned by a successful deletion is correct. -#### [Delete OIR](../fragments/oir_crud.md) +#### [Delete OIR](../fragments/oir/crud/delete.md) Confirms that an operational intent reference can be deleted. -#### [Validate OIR](../fragments/oir_validate.md) +#### [Validate OIR](../fragments/oir/validate/correctness.md) Verify that the operational intent reference returned by the DSS via the deletion is properly formatted and contains the correct content. +#### [OIR Versions are correct](../fragments/oir/validate/non_mutated.md) + +Verify that the operational intent reference's version fields are as expected. + ### Query deleted OIR test step Attempt to query and search for the deleted operational intent reference in various ways diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py index 9270d01825..16b00f9143 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py @@ -112,7 +112,7 @@ def __init__( uss_base_url=self._planning_area.base_url, time_start=datetime.now() - timedelta(seconds=10), time_end=datetime.now() + timedelta(minutes=20), - oir_id=None, + subscription_id=None, implicit_sub_base_url=None, implicit_sub_for_constraints=None, )