From b81b0cdc8289556e1c42dae524884d010ee9af24 Mon Sep 17 00:00:00 2001 From: Julien Perrochet Date: Wed, 25 Oct 2023 11:57:11 +0200 Subject: [PATCH 1/4] [uss-qualifier] DSS0030 port ISA-subscriptions interactions test --- monitoring/prober/infrastructure.py | 2 +- .../dss/isa_subscription_interactions.py | 244 ++++++++++++++++++ .../common/dss/subscription_validation.py | 13 +- .../scenarios/astm/netrid/common/dss/utils.py | 31 ++- .../scenarios/astm/netrid/v19/dss/__init__.py | 1 + .../v19/dss/isa_subscription_interactions.md | 115 +++++++++ .../v19/dss/isa_subscription_interactions.py | 8 + .../astm/netrid/v22a/dss/__init__.py | 1 + .../v22a/dss/isa_subscription_interactions.md | 115 +++++++++ .../v22a/dss/isa_subscription_interactions.py | 8 + .../suites/astm/netrid/f3411_19.md | 20 +- .../astm/netrid/f3411_19/dss_probing.md | 27 +- .../astm/netrid/f3411_19/dss_probing.yaml | 6 + .../suites/astm/netrid/f3411_22a.md | 20 +- .../astm/netrid/f3411_22a/dss_probing.md | 27 +- .../astm/netrid/f3411_22a/dss_probing.yaml | 6 + .../suites/interuss/dss/all_tests.md | 26 +- .../suites/uspace/network_identification.md | 20 +- .../suites/uspace/required_services.md | 20 +- 19 files changed, 636 insertions(+), 74 deletions(-) create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.py create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.py diff --git a/monitoring/prober/infrastructure.py b/monitoring/prober/infrastructure.py index 9647a45a4c..bc73f0aba3 100644 --- a/monitoring/prober/infrastructure.py +++ b/monitoring/prober/infrastructure.py @@ -100,7 +100,7 @@ def wrapper_default_scope(*args, **kwargs): resource_type_code_descriptions: Dict[ResourceType, str] = {} -# Next code: 370 +# Next code: 371 def register_resource_type(code: int, description: str) -> ResourceType: """Register that the specified code refers to the described resource. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py new file mode 100644 index 0000000000..f73be5c7b9 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py @@ -0,0 +1,244 @@ +from typing import Optional + +import arrow + +from monitoring.prober.infrastructure import register_resource_type +from monitoring.uss_qualifier.common_data_definitions import Severity +from monitoring.uss_qualifier.resources.astm.f3411.dss import DSSInstanceResource +from monitoring.uss_qualifier.resources.interuss.id_generator import IDGeneratorResource +from monitoring.uss_qualifier.resources.netrid.service_area import ServiceAreaResource +from monitoring.uss_qualifier.scenarios.astm.netrid.common.dss import utils +from monitoring.uss_qualifier.scenarios.astm.netrid.dss_wrapper import DSSWrapper +from monitoring.uss_qualifier.scenarios.scenario import GenericTestScenario + + +class ISASubscriptionInteractions(GenericTestScenario): + """Based on the test_subscription_isa_interactions.py from the legacy prober tool.""" + + ISA_TYPE = register_resource_type(370, "ISA") + + def __init__( + self, + dss: DSSInstanceResource, + id_generator: IDGeneratorResource, + isa: ServiceAreaResource, + ): + super().__init__() + self._dss = ( + dss.dss_instance + ) # TODO: delete once _delete_isa_if_exists updated to use dss_wrapper + self._dss_wrapper = DSSWrapper(self, dss.dss_instance) + self._isa_id = id_generator.id_factory.make_id( + ISASubscriptionInteractions.ISA_TYPE + ) + # sub id is isa_id with last character replaced with '1' + # (the generated isa_id ends with a few '0's) + self._sub_id = self._isa_id[:-1] + "1" + self._isa_version: Optional[str] = None + self._isa = isa.specification + + now = arrow.utcnow().datetime + self._isa_start_time = self._isa.shifted_time_start(now) + self._isa_end_time = self._isa.shifted_time_end(now) + self._isa_area = [vertex.as_s2sphere() for vertex in self._isa.footprint] + + def run(self): + self.begin_test_scenario() + + self._setup_case() + + self.begin_test_case("ISA Subscription Interactions") + self.begin_test_step("ISA Subscription Interactions") + + self._check_subscription_behaviors() + + self.end_test_step() + self.end_test_case() + self.end_test_scenario() + + def _check_subscription_behaviors(self): + """ + - Create an ISA. + - Create a subscription, response should include the pre-existing ISA. + - Modify the ISA, response should include the subscription. + - Delete the ISA, response should include the subscription. + - Delete the subscription. + """ + + # Create an ISA + with self.check("Create an ISA", [self._dss.participant_id]) as check: + created_isa = self._dss_wrapper.put_isa_expect_response_code( + check=check, + expected_error_codes={200}, + area_vertices=self._isa_area, + alt_lo=self._isa.altitude_min, + alt_hi=self._isa.altitude_max, + start_time=self._isa_start_time, + end_time=self._isa_end_time, + uss_base_url=self._isa.base_url, + isa_id=self._isa_id, + isa_version=None, + ) + + # Create a subscription + with self.check( + "Create a subscription within the ISA footprint", [self._dss.participant_id] + ) as check: + created_subscription = self._dss_wrapper.put_sub( + check=check, + area_vertices=self._isa_area, + alt_lo=self._isa.altitude_min, + alt_hi=self._isa.altitude_max, + start_time=self._isa_start_time, + end_time=self._isa_end_time, + uss_base_url=self._isa.base_url, + sub_id=self._sub_id, + sub_version=None, + ) + + # Check the subscription + with self.check( + "Subscription for the ISA's area mentions the ISA", + [self._dss.participant_id], + ) as check: + if created_isa.dss_query.isa.id not in [ + isa.id for isa in created_subscription.isas + ]: + check.record_failed( + summary="Subscription response does not include the freshly created ISA", + severity=Severity.High, + participants=[self._dss.participant_id], + details=f"The subscription created for the area {self._isa_area} is expected to contain the ISA created for this same area. The returned subscription did not mention it.", + query_timestamps=[ + created_isa.dss_query.query.request.timestamp, + created_subscription.query.request.timestamp, + ], + ) + + # Modify the ISA + with self.check( + "Response to the mutation of the ISA contains subscription ID", + [self._dss.participant_id], + ) as check: + mutated_isa = self._dss_wrapper.put_isa_expect_response_code( + check=check, + expected_error_codes={200}, + area_vertices=self._isa_area, + alt_lo=self._isa.altitude_min, + alt_hi=self._isa.altitude_max - 1, # reduce max altitude by one meter + start_time=self._isa_start_time, + end_time=self._isa_end_time, + uss_base_url=self._isa.base_url, + isa_id=self._isa_id, + isa_version=created_isa.dss_query.isa.version, + ) + + subscriptions_to_isa = [] + for returned_subscriber in mutated_isa.dss_query.subscribers: + for sub_in_subscriber in returned_subscriber.raw.subscriptions: + subscriptions_to_isa.append(sub_in_subscriber.subscription_id) + + if created_subscription.subscription.id not in subscriptions_to_isa: + check.record_failed( + summary="ISA mutation response does not contain expected subscription ID", + severity=Severity.High, + participants=[self._dss.participant_id], + details="Mutating an ISA to which a subscription was made, the DSS failed to return the subscription ID in the response.", + query_timestamps=[ + created_isa.dss_query.query.request.timestamp, + created_subscription.query.request.timestamp, + mutated_isa.dss_query.query.request.timestamp, + ], + ) + + # Delete the ISA + with self.check( + "Response to the deletion of the ISA contains subscription ID", + [self._dss.participant_id], + ) as check: + deleted_isa = self._dss_wrapper.del_isa_expect_response_code( + main_check=check, + expected_error_codes={200}, + isa_id=mutated_isa.dss_query.isa.id, + isa_version=mutated_isa.dss_query.isa.version, + ) + + subscriptions_to_deleted_isa = [] + for returned_subscriber in deleted_isa.dss_query.subscribers: + for sub_in_subscriber in returned_subscriber.raw.subscriptions: + subscriptions_to_deleted_isa.append( + sub_in_subscriber.subscription_id + ) + + if created_subscription.subscription.id not in subscriptions_to_deleted_isa: + check.record_failed( + summary="ISA deletion response does not contain expected subscription ID", + severity=Severity.High, + participants=[self._dss.participant_id], + details="Deleting an ISA to which a subscription was made, the DSS failed to return the subscription ID in the response.", + query_timestamps=[ + created_isa.dss_query.query.request.timestamp, + created_subscription.query.request.timestamp, + deleted_isa.dss_query.query.request.timestamp, + ], + ) + + for subscriber_url, notification in deleted_isa.notifications.items(): + # For checking the notifications, we ignore the request we made for the subscription that we created. + if self._isa.base_url not in subscriber_url: + with self.check("Notified subscriber", [subscriber_url]) as check: + # TODO: Find a better way to identify a subscriber who couldn't be notified: + # as-is the subscriber url causes the test-suite to crash when it writes its report + if not notification.success: + check.record_failed( + "Could not notify ISA subscriber", + Severity.Medium, + f"Attempting to notify subscriber for ISA {self._isa_id} at {subscriber_url} resulted in {notification.status_code}", + query_timestamps=[notification.query.request.timestamp], + ) + + # Delete the subscription + with self.check( + "Successful subscription deletion", + [self._dss.participant_id], + ) as check: + self._dss_wrapper.del_sub( + check=check, + sub_id=self._sub_id, + sub_version=created_subscription.subscription.version, + ) + + def _setup_case(self): + self.begin_test_case("Setup") + + def _ensure_clean_workspace_step(): + self.begin_test_step("Ensure clean workspace") + + self._delete_isa_if_exists() + self._clean_any_sub() + + self.end_test_step() + + _ensure_clean_workspace_step() + + self.end_test_case() + + def _delete_isa_if_exists(self): + utils.delete_isa_if_exists( + self, + isa_id=self._isa_id, + rid_version=self._dss.rid_version, + session=self._dss.client, + participant_id=self._dss_wrapper.participant_id, + ) + + def _clean_any_sub(self): + utils.delete_any_subscription(self, self._dss_wrapper, self._isa.footprint) + + def cleanup(self): + self.begin_cleanup() + + self._delete_isa_if_exists() + self._clean_any_sub() + + self.end_cleanup() diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/subscription_validation.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/subscription_validation.py index fda32ab3e3..b2ef5419c3 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/subscription_validation.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/subscription_validation.py @@ -12,6 +12,7 @@ from monitoring.uss_qualifier.resources.astm.f3411.dss import DSSInstanceResource from monitoring.uss_qualifier.resources.interuss.id_generator import IDGeneratorResource from monitoring.uss_qualifier.resources.netrid.service_area import ServiceAreaResource +from monitoring.uss_qualifier.scenarios.astm.netrid.common.dss import utils from monitoring.uss_qualifier.scenarios.astm.netrid.dss_wrapper import DSSWrapper from monitoring.uss_qualifier.scenarios.scenario import ( GenericTestScenario, @@ -77,17 +78,7 @@ def _setup_case(self): self.end_test_case() def _clean_any_sub(self): - with self.check( - "Successful subscription query", [self._dss.participant_id] - ) as check: - fetched = self._dss_wrapper.search_subs( - check, [vertex.as_s2sphere() for vertex in self._isa.footprint] - ) - for sub_id in fetched.subscriptions.keys(): - with self.check( - "Successful subscription deletion", [self._dss.participant_id] - ) as check: - self._dss_wrapper.cleanup_sub(check, sub_id=sub_id) + utils.delete_any_subscription(self, self._dss_wrapper, self._isa.footprint) def _ensure_clean_workspace_step(self): self.begin_test_step("Ensure clean workspace") diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/utils.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/utils.py index ea314377e9..3a9627f86c 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/utils.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/utils.py @@ -1,10 +1,12 @@ -from typing import Optional +from typing import Optional, List from monitoring.monitorlib.fetch import rid as fetch +from monitoring.monitorlib.geo import LatLngPoint from monitoring.monitorlib.mutate import rid as mutate from monitoring.monitorlib.infrastructure import UTMClientSession from monitoring.monitorlib.rid import RIDVersion from monitoring.uss_qualifier.common_data_definitions import Severity +from monitoring.uss_qualifier.scenarios.astm.netrid.dss_wrapper import DSSWrapper from monitoring.uss_qualifier.scenarios.scenario import GenericTestScenario @@ -50,6 +52,7 @@ def delete_isa_if_exists( f"Attempting to delete ISA {isa_id} from the {participant_id} DSS returned error {deleted.dss_query.status_code}", query_timestamps=[deleted.dss_query.query.request.timestamp], ) + for subscriber_url, notification in deleted.notifications.items(): with scenario.check("Notified subscriber", [subscriber_url]) as check: # TODO: Find a better way to identify a subscriber who couldn't be notified @@ -60,3 +63,29 @@ def delete_isa_if_exists( f"Attempting to notify subscriber for ISA {isa_id} at {subscriber_url} resulted in {notification.status_code}", query_timestamps=[notification.query.request.timestamp], ) + + +def delete_any_subscription( + scenario: GenericTestScenario, + dss_wrapper: DSSWrapper, + area: List[LatLngPoint], +): + """ + Deletes any subscription that is returned for the passed area. + + Args: + scenario: the scenario instance that will provide the checks + dss_wrapper: the dss on which to delete subscriptions + area: the area for which subscriptions are to be deleted + """ + with scenario.check( + "Successful subscription query", [dss_wrapper.participant_id] + ) as check: + fetched = dss_wrapper.search_subs( + check, [vertex.as_s2sphere() for vertex in area] + ) + for sub_id in fetched.subscriptions.keys(): + with scenario.check( + "Successful subscription deletion", [dss_wrapper.participant_id] + ) as check: + dss_wrapper.cleanup_sub(check, sub_id=sub_id) diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/__init__.py b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/__init__.py index 2b5fc635d5..77eade4f6e 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/__init__.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/__init__.py @@ -1,5 +1,6 @@ from .isa_simple import ISASimple from .isa_validation import ISAValidation from .isa_expiry import ISAExpiry +from .isa_subscription_interactions import ISASubscriptionInteractions from .subscription_validation import SubscriptionValidation from .crdb_access import CRDBAccess diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md new file mode 100644 index 0000000000..df05a121e2 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md @@ -0,0 +1,115 @@ +# ASTM NetRID DSS: ISA Subscription Interactions test scenario + +## Overview + +Verifies that interactions between ISAs and subscriptions happen as expected. + +## Resources + +### dss + +[`DSSInstanceResource`](../../../../../resources/astm/f3411/dss.py) to be tested in this scenario. + +### id_generator + +[`IDGeneratorResource`](../../../../../resources/interuss/id_generator.py) providing the ISA ID for this scenario. + +### isa + +[`ServiceAreaResource`](../../../../../resources/netrid/service_area.py) describing an ISA to be created. + +## Setup test case + +### Ensure clean workspace test step + +This scenario creates an ISA with a known ID. This step ensures that the ISA does not exist when the main part of the test starts. + +Any previously created subscriptions for the test ISA's area that might still exist will be deleted. + +#### Successful ISA query check + +**[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint enabling retrieval of information about a specific ISA; if the individual ISA cannot be retrieved and the error isn't a 404, then this requirement isn't met. + +#### Removed pre-existing ISA check + +If an ISA with the intended ID is already present in the DSS, it needs to be removed before proceeding with the test. If that ISA cannot be deleted, then the **[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the ISA deletion endpoint might not be met. + +#### Notified subscriber check + +When a pre-existing ISA needs to be deleted to ensure a clean workspace, any subscribers to ISAs in that area must be notified (as specified by the DSS). If a notification cannot be delivered, then the **[astm.f3411.v19.NET0730](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the POST ISAs endpoint isn't met. + +#### Successful subscription query check + +**[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. + +#### Successful subscription deletion check + +**[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. + +## ISA Subscription Interactions test case + +This test case will do the following, using the DSS being tested: + +1. Create an ISA with the configured footprint, +2. Create a subscription for the ISA's area, and expect to find the created ISA mentioned in the reply, +3. Modify the ISA, and expect to find the created subscription in the reply, +4. Delete the ISA, and expect to find the created subscription in the reply, +5. Delete the subscription. + +### ISA Subscription Interactions test step + +#### Create an ISA check + +If the ISA cannot be created, the PUT DSS endpoint in **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. + +#### Create a subscription within the ISA footprint check + +The DSS should allow the creation of a subscription within the ISA footprint, otherwise it is in violation of **[astm.f3411.v19.DSS0030,c](../../../../../requirements/astm/f3411/v19.md)** + +#### Subscription for the ISA's area mentions the ISA check + +A subscription that is created for a volume that intersects with the previously created ISA should mention +the previously created ISA. If not, the serving DSS is in violation of **[astm.f3411.v19.DSS0030,c](../../../../../requirements/astm/f3411/v19.md)**. + +#### Response to the mutation of the ISA contains subscription ID check + +When an ISA is mutated, the DSS must return the identifiers for any subscription that was made to the ISA, +or be in violation of **[astm.f3411.v19.DSS0030,a](../../../../../requirements/astm/f3411/v19.md)**. + +#### Response to the deletion of the ISA contains subscription ID check + +When an ISA is deleted, the DSS must return the identifiers for any subscription that was made to the ISA, +or be in violation of **[astm.f3411.v19.DSS0030,b](../../../../../requirements/astm/f3411/v19.md)**. + +#### Successful subscription deletion check + +**[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. + +#### Notified subscriber check + +Notifications to any subscriber to the created ISA need to be successful. If a notification cannot be delivered, then the **[astm.f3411.v19.NET0730](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the POST ISAs endpoint isn't met. + +## Cleanup + +The cleanup phase of this test scenario attempts to remove the ISA if the test ended prematurely while +also deleting any subscription it might have created for the ISA's area. + +#### Successful ISA query check + +**[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint enabling retrieval of information about a specific ISA; if the individual ISA cannot be retrieved and the error isn't a 404, then this requirement isn't met. + +#### Removed pre-existing ISA check + +If an ISA with the intended ID is already present in the DSS, it needs to be removed before proceeding with the test. If that ISA cannot be deleted, then the **[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the ISA deletion endpoint might not be met. + +#### Notified subscriber check + +When a pre-existing ISA needs to be deleted to ensure a clean workspace, any subscribers to ISAs in that area must be notified (as specified by the DSS). If a notification cannot be delivered, then the **[astm.f3411.v19.NET0730](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the POST ISAs endpoint isn't met. + +#### Successful subscription query check + +**[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. + +#### Successful subscription deletion check + +**[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.py b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.py new file mode 100644 index 0000000000..b6acd67db8 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.py @@ -0,0 +1,8 @@ +from monitoring.uss_qualifier.scenarios.astm.netrid.common.dss.isa_subscription_interactions import ( + ISASubscriptionInteractions as CommonISASubscriptionInteractions, +) +from monitoring.uss_qualifier.scenarios.scenario import TestScenario + + +class ISASubscriptionInteractions(TestScenario, CommonISASubscriptionInteractions): + pass diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/__init__.py b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/__init__.py index 2b5fc635d5..77eade4f6e 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/__init__.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/__init__.py @@ -1,5 +1,6 @@ from .isa_simple import ISASimple from .isa_validation import ISAValidation from .isa_expiry import ISAExpiry +from .isa_subscription_interactions import ISASubscriptionInteractions from .subscription_validation import SubscriptionValidation from .crdb_access import CRDBAccess diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md new file mode 100644 index 0000000000..418783daf5 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md @@ -0,0 +1,115 @@ +# ASTM NetRID DSS: ISA Subscription Interactions test scenario + +## Overview + +Verifies that interactions between ISAs and subscriptions happen as expected. + +## Resources + +### dss + +[`DSSInstanceResource`](../../../../../resources/astm/f3411/dss.py) to be tested in this scenario. + +### id_generator + +[`IDGeneratorResource`](../../../../../resources/interuss/id_generator.py) providing the ISA ID for this scenario. + +### isa + +[`ServiceAreaResource`](../../../../../resources/netrid/service_area.py) describing an ISA to be created. + +## Setup test case + +### Ensure clean workspace test step + +This scenario creates an ISA with a known ID. This step ensures that the ISA does not exist when the main part of the test starts. + +Any previously created subscriptions for the test ISA's area that might still exist will be deleted. + +#### Successful ISA query check + +**[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint enabling retrieval of information about a specific ISA; if the individual ISA cannot be retrieved and the error isn't a 404, then this requirement isn't met. + +#### Removed pre-existing ISA check + +If an ISA with the intended ID is already present in the DSS, it needs to be removed before proceeding with the test. If that ISA cannot be deleted, then the **[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the ISA deletion endpoint might not be met. + +#### Notified subscriber check + +When a pre-existing ISA needs to be deleted to ensure a clean workspace, any subscribers to ISAs in that area must be notified (as specified by the DSS). If a notification cannot be delivered, then the **[astm.f3411.v22a.NET0730](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the POST ISAs endpoint isn't met. + +#### Successful subscription query check + +**[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. + +#### Successful subscription deletion check + +**[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. + +## ISA Subscription Interactions test case + +This test case will do the following, using the DSS being tested: + +1. Create an ISA with the configured footprint, +2. Create a subscription for the ISA's area, and expect to find the created ISA mentioned in the reply, +3. Modify the ISA, and expect to find the created subscription in the reply, +4. Delete the ISA, and expect to find the created subscription in the reply, +5. Delete the subscription. + +### ISA Subscription Interactions test step + +#### Create an ISA check + +If the ISA cannot be created, the PUT DSS endpoint in **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. + +#### Create a subscription within the ISA footprint check + +The DSS should allow the creation of a subscription within the ISA footprint, otherwise it is in violation of **[astm.f3411.v22a.DSS0030,c](../../../../../requirements/astm/f3411/v22a.md)** + +#### Subscription for the ISA's area mentions the ISA check + +A subscription that is created for a volume that intersects with the previously created ISA should mention +the previously created ISA. If not, the serving DSS is in violation of **[astm.f3411.v22a.DSS0030,c](../../../../../requirements/astm/f3411/v22a.md)**. + +#### Response to the mutation of the ISA contains subscription ID check + +When an ISA is mutated, the DSS must return the identifiers for any subscription that was made to the ISA, +or be in violation of **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)**. + +#### Response to the deletion of the ISA contains subscription ID check + +When an ISA is deleted, the DSS must return the identifiers for any subscription that was made to the ISA, +or be in violation of **[astm.f3411.v22a.DSS0030,b](../../../../../requirements/astm/f3411/v22a.md)**. + +#### Successful subscription deletion check + +**[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. + +#### Notified subscriber check + +Notifications to any subscriber to the created ISA need to be successful. If a notification cannot be delivered, then the **[astm.f3411.v19.NET0730](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the POST ISAs endpoint isn't met. + +## Cleanup + +The cleanup phase of this test scenario attempts to remove the ISA if the test ended prematurely while +also deleting any subscription it might have created for the ISA's area. + +#### Successful ISA query check + +**[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint enabling retrieval of information about a specific ISA; if the individual ISA cannot be retrieved and the error isn't a 404, then this requirement isn't met. + +#### Removed pre-existing ISA check + +If an ISA with the intended ID is already present in the DSS, it needs to be removed before proceeding with the test. If that ISA cannot be deleted, then the **[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the ISA deletion endpoint might not be met. + +#### Notified subscriber check + +When a pre-existing ISA needs to be deleted to ensure a clean workspace, any subscribers to ISAs in that area must be notified (as specified by the DSS). If a notification cannot be delivered, then the **[astm.f3411.v22a.NET0730](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the POST ISAs endpoint isn't met. + +#### Successful subscription query check + +**[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. + +#### Successful subscription deletion check + +**[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.py b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.py new file mode 100644 index 0000000000..b6acd67db8 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.py @@ -0,0 +1,8 @@ +from monitoring.uss_qualifier.scenarios.astm.netrid.common.dss.isa_subscription_interactions import ( + ISASubscriptionInteractions as CommonISASubscriptionInteractions, +) +from monitoring.uss_qualifier.scenarios.scenario import TestScenario + + +class ISASubscriptionInteractions(TestScenario, CommonISASubscriptionInteractions): + pass diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md index 5866e3105c..5d52c9d740 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md @@ -24,27 +24,27 @@ astm
.f3411
.v19
DSS0030,a Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA DSS0030,b Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations DSS0030,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -324,7 +324,13 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + + astm
.f3411
.v22a
+ DSS0030,a + Implemented + ASTM NetRID DSS: ISA Subscription Interactions interuss
.automated_testing
.rid
.injection
@@ -362,7 +368,7 @@ interuss
.f3411
.dss_endpoints
GetISA Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations SearchISAs diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md index d834ea7d80..06696ec890 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md @@ -7,9 +7,10 @@ 1. Scenario: [ASTM NetRID DSS: Simple ISA](../../../../scenarios/astm/netrid/v19/dss/isa_simple.md) ([`scenarios.astm.netrid.v19.dss.ISASimple`](../../../../scenarios/astm/netrid/v19/dss/isa_simple.py)) 2. Scenario: [ASTM NetRID DSS: Submitted ISA Validations](../../../../scenarios/astm/netrid/v19/dss/isa_validation.md) ([`scenarios.astm.netrid.v19.dss.ISAValidation`](../../../../scenarios/astm/netrid/v19/dss/isa_validation.py)) 3. Scenario: [ASTM NetRID DSS: ISA Expiry](../../../../scenarios/astm/netrid/v19/dss/isa_expiry.md) ([`scenarios.astm.netrid.v19.dss.ISAExpiry`](../../../../scenarios/astm/netrid/v19/dss/isa_expiry.py)) -4. Scenario: [ASTM NetRID DSS: Subscription Validation](../../../../scenarios/astm/netrid/v19/dss/subscription_validation.md) ([`scenarios.astm.netrid.v19.dss.SubscriptionValidation`](../../../../scenarios/astm/netrid/v19/dss/subscription_validation.py)) -5. Scenario: [ASTM F3411-19 NetRID DSS interoperability](../../../../scenarios/astm/netrid/v19/dss_interoperability.md) ([`scenarios.astm.netrid.v19.DSSInteroperability`](../../../../scenarios/astm/netrid/v19/dss_interoperability.py)) -6. Scenario: [ASTM NetRID DSS: Direct CRDB access](../../../../scenarios/astm/netrid/v19/dss/crdb_access.md) ([`scenarios.astm.netrid.v19.dss.CRDBAccess`](../../../../scenarios/astm/netrid/v19/dss/crdb_access.py)) +4. Scenario: [ASTM NetRID DSS: ISA Subscription Interactions](../../../../scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md) ([`scenarios.astm.netrid.v19.dss.ISASubscriptionInteractions`](../../../../scenarios/astm/netrid/v19/dss/isa_subscription_interactions.py)) +5. Scenario: [ASTM NetRID DSS: Subscription Validation](../../../../scenarios/astm/netrid/v19/dss/subscription_validation.md) ([`scenarios.astm.netrid.v19.dss.SubscriptionValidation`](../../../../scenarios/astm/netrid/v19/dss/subscription_validation.py)) +6. Scenario: [ASTM F3411-19 NetRID DSS interoperability](../../../../scenarios/astm/netrid/v19/dss_interoperability.md) ([`scenarios.astm.netrid.v19.DSSInteroperability`](../../../../scenarios/astm/netrid/v19/dss_interoperability.py)) +7. Scenario: [ASTM NetRID DSS: Direct CRDB access](../../../../scenarios/astm/netrid/v19/dss/crdb_access.md) ([`scenarios.astm.netrid.v19.dss.CRDBAccess`](../../../../scenarios/astm/netrid/v19/dss/crdb_access.py)) ## [Checked requirements](../../../README.md#checked-requirements) @@ -24,27 +25,27 @@ astm
.f3411
.v19
DSS0030,a Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA DSS0030,b Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations DSS0030,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -199,13 +200,19 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + + astm
.f3411
.v22a
+ DSS0030,a + Implemented + ASTM NetRID DSS: ISA Subscription Interactions interuss
.f3411
.dss_endpoints
GetISA Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations SearchISAs diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.yaml b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.yaml index d8a6128878..26b8967611 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.yaml +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.yaml @@ -26,6 +26,12 @@ actions: dss: dss id_generator: id_generator isa: isa + - test_scenario: + scenario_type: scenarios.astm.netrid.v19.dss.ISASubscriptionInteractions + resources: + dss: dss + id_generator: id_generator + isa: isa - test_scenario: scenario_type: scenarios.astm.netrid.v19.dss.SubscriptionValidation resources: diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md index 4180056274..4c38a2c87e 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md @@ -20,6 +20,12 @@ Status Checked in + + astm
.f3411
.v19
+ NET0730 + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + astm
.f3411
.v22a
DSS0030 @@ -29,27 +35,27 @@ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations DSS0030,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -449,7 +455,7 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations interuss
.automated_testing
.rid
.injection
@@ -487,7 +493,7 @@ interuss
.f3411
.dss_endpoints
GetISA Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations SearchISAs diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md index 375ff330c9..6691c05c5e 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md @@ -7,9 +7,10 @@ 1. Scenario: [ASTM NetRID DSS: Simple ISA](../../../../scenarios/astm/netrid/v22a/dss/isa_simple.md) ([`scenarios.astm.netrid.v22a.dss.ISASimple`](../../../../scenarios/astm/netrid/v22a/dss/isa_simple.py)) 2. Scenario: [ASTM NetRID DSS: Submitted ISA Validations](../../../../scenarios/astm/netrid/v22a/dss/isa_validation.md) ([`scenarios.astm.netrid.v22a.dss.ISAValidation`](../../../../scenarios/astm/netrid/v22a/dss/isa_validation.py)) 3. Scenario: [ASTM NetRID DSS: ISA Expiry](../../../../scenarios/astm/netrid/v22a/dss/isa_expiry.md) ([`scenarios.astm.netrid.v22a.dss.ISAExpiry`](../../../../scenarios/astm/netrid/v22a/dss/isa_expiry.py)) -4. Scenario: [ASTM NetRID DSS: Subscription Validation](../../../../scenarios/astm/netrid/v22a/dss/subscription_validation.md) ([`scenarios.astm.netrid.v22a.dss.SubscriptionValidation`](../../../../scenarios/astm/netrid/v22a/dss/subscription_validation.py)) -5. Scenario: [ASTM F3411-22a NetRID DSS interoperability](../../../../scenarios/astm/netrid/v22a/dss_interoperability.md) ([`scenarios.astm.netrid.v22a.DSSInteroperability`](../../../../scenarios/astm/netrid/v22a/dss_interoperability.py)) -6. Scenario: [ASTM NetRID DSS: Direct CRDB access](../../../../scenarios/astm/netrid/v22a/dss/crdb_access.md) ([`scenarios.astm.netrid.v22a.dss.CRDBAccess`](../../../../scenarios/astm/netrid/v22a/dss/crdb_access.py)) +4. Scenario: [ASTM NetRID DSS: ISA Subscription Interactions](../../../../scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md) ([`scenarios.astm.netrid.v22a.dss.ISASubscriptionInteractions`](../../../../scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.py)) +5. Scenario: [ASTM NetRID DSS: Subscription Validation](../../../../scenarios/astm/netrid/v22a/dss/subscription_validation.md) ([`scenarios.astm.netrid.v22a.dss.SubscriptionValidation`](../../../../scenarios/astm/netrid/v22a/dss/subscription_validation.py)) +6. Scenario: [ASTM F3411-22a NetRID DSS interoperability](../../../../scenarios/astm/netrid/v22a/dss_interoperability.md) ([`scenarios.astm.netrid.v22a.DSSInteroperability`](../../../../scenarios/astm/netrid/v22a/dss_interoperability.py)) +7. Scenario: [ASTM NetRID DSS: Direct CRDB access](../../../../scenarios/astm/netrid/v22a/dss/crdb_access.md) ([`scenarios.astm.netrid.v22a.dss.CRDBAccess`](../../../../scenarios/astm/netrid/v22a/dss/crdb_access.py)) ## [Checked requirements](../../../README.md#checked-requirements) @@ -20,6 +21,12 @@ Status Checked in + + astm
.f3411
.v19
+ NET0730 + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + astm
.f3411
.v22a
DSS0030 @@ -29,27 +36,27 @@ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations DSS0030,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -209,13 +216,13 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations interuss
.f3411
.dss_endpoints
GetISA Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations SearchISAs diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.yaml b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.yaml index d71c1f72dc..6b159abb5e 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.yaml +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.yaml @@ -26,6 +26,12 @@ actions: dss: dss id_generator: id_generator isa: isa + - test_scenario: + scenario_type: scenarios.astm.netrid.v22a.dss.ISASubscriptionInteractions + resources: + dss: dss + id_generator: id_generator + isa: isa - test_scenario: scenario_type: scenarios.astm.netrid.v22a.dss.SubscriptionValidation resources: diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index 9f2ca89d2f..ce0f4a5fad 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -22,27 +22,27 @@ astm
.f3411
.v19
DSS0030,a Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA DSS0030,b Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations DSS0030,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -197,7 +197,7 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations astm
.f3411
.v22a
@@ -208,27 +208,27 @@ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations DSS0030,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -388,13 +388,13 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations interuss
.f3411
.dss_endpoints
GetISA Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations SearchISAs diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md index f99a13245d..d533c01455 100644 --- a/monitoring/uss_qualifier/suites/uspace/network_identification.md +++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md @@ -15,6 +15,12 @@ Status Checked in + + astm
.f3411
.v19
+ NET0730 + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + astm
.f3411
.v22a
DSS0030 @@ -24,27 +30,27 @@ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations DSS0030,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -444,7 +450,7 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations interuss
.automated_testing
.rid
.injection
@@ -482,7 +488,7 @@ interuss
.f3411
.dss_endpoints
GetISA Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations SearchISAs diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index d72dfe8232..864e744990 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -17,6 +17,12 @@ Status Checked in + + astm
.f3411
.v19
+ NET0730 + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + astm
.f3411
.v22a
DSS0030 @@ -26,27 +32,27 @@ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations DSS0030,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -446,7 +452,7 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations astm
.f3548
.v21
@@ -606,7 +612,7 @@ interuss
.f3411
.dss_endpoints
GetISA Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations SearchISAs From 727191752d7708e7b114ad38fcc11cf8db097895 Mon Sep 17 00:00:00 2001 From: Julien Perrochet Date: Thu, 26 Oct 2023 18:30:37 +0200 Subject: [PATCH 2/4] Add notification_index checks --- monitoring/monitorlib/fetch/rid.py | 11 +++ .../interuss/f3411/dss_endpoints.md | 4 + .../dss/isa_subscription_interactions.py | 90 ++++++++++++++++--- .../v19/dss/isa_subscription_interactions.md | 45 ++++++++-- .../v22a/dss/isa_subscription_interactions.md | 45 ++++++++-- .../suites/astm/netrid/f3411_19.md | 25 ++++-- .../astm/netrid/f3411_19/dss_probing.md | 17 +++- .../suites/astm/netrid/f3411_22a.md | 25 ++++-- .../astm/netrid/f3411_22a/dss_probing.md | 25 ++++-- .../suites/interuss/dss/all_tests.md | 23 ++++- .../suites/uspace/network_identification.md | 25 ++++-- .../suites/uspace/required_services.md | 25 ++++-- 12 files changed, 288 insertions(+), 72 deletions(-) diff --git a/monitoring/monitorlib/fetch/rid.py b/monitoring/monitorlib/fetch/rid.py index e6b26c046e..d8122b5404 100644 --- a/monitoring/monitorlib/fetch/rid.py +++ b/monitoring/monitorlib/fetch/rid.py @@ -603,6 +603,17 @@ def isa_url(self) -> str: f"Cannot retrieve isa_url using RID version {self.rid_version}" ) + @property + def notification_index(self) -> int: + if self.rid_version == RIDVersion.f3411_19: + return self.v19_value.notification_index + elif self.rid_version == RIDVersion.f3411_22a: + return self.v22a_value.notification_index + else: + raise NotImplementedError( + f"Cannot retrieve notification_index using RID version {self.rid_version}" + ) + class RIDQuery(ImplicitDict): v19_query: Optional[Query] = None diff --git a/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md b/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md index 2d8a926754..d74c05fd3b 100644 --- a/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md +++ b/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md @@ -2,5 +2,9 @@ While neither ASTM F3411-19 nor F3411-22a explicitly require DSS implementations to implement all endpoints specified in Annex A4 (of each respective standard), InterUSS automated testing expects DSS implementations to implement all DSS endpoints specified in Annex A4. Specifically: +* PutISA: The DSS implementation under test must implement the ability to create and update an Identification Service Area by ID in accordance with the API specified in Annex A4 of the respective standard. * GetISA: The DSS implementation under test must implement the ability to retrieve an Identification Service Area by ID in accordance with the API specified in Annex A4 of the respective standard. +* DeleteISA: The DSS implementation under test must implement the ability to delete an Identification Service Area by ID in accordance with the API specified in Annex A4 of the respective standard. * SearchISAs: The DSS implementation under test must implement the ability to search for Identification Service Areas meeting the specified criteria in accordance with the API specified in Annex A4 of the respective standard. +* CreateSubscription: The DSS implementation under test must implement the ability to create a subscription in accordance with the API specified in Annex A4 of the respective standard. +* SearchSubscriptions: The DSS implementation under test must implement the ability to search for subscriptions in accordance with the API specified in Annex A4 of the respective standard. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py index f73be5c7b9..b987478627 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py @@ -59,9 +59,9 @@ def run(self): def _check_subscription_behaviors(self): """ - Create an ISA. - - Create a subscription, response should include the pre-existing ISA. - - Modify the ISA, response should include the subscription. - - Delete the ISA, response should include the subscription. + - Create a subscription, response should include the pre-existing ISA and have a notification_index of 0. + - Modify the ISA, response should include the subscription with an incremented notification_index. + - Delete the ISA, response should include the subscription with an incremented notification_index. - Delete the subscription. """ @@ -115,9 +115,22 @@ def _check_subscription_behaviors(self): ], ) + with self.check( + "Newly created subscription has a notification_index of 0", + [self._dss.participant_id], + ) as check: + if created_subscription.subscription.notification_index != 0: + check.record_failed( + summary="Subscription notification_index is not 0", + severity=Severity.High, + participants=[self._dss.participant_id], + details=f"The subscription created for the area {self._isa_area} is expected to have a notification_index of 0. The returned subscription has a notification_index of {created_subscription.subscription.notification_index}.", + query_timestamps=[created_subscription.query.request.timestamp], + ) + # Modify the ISA with self.check( - "Response to the mutation of the ISA contains subscription ID", + "Mutate the ISA", [self._dss.participant_id], ) as check: mutated_isa = self._dss_wrapper.put_isa_expect_response_code( @@ -133,12 +146,20 @@ def _check_subscription_behaviors(self): isa_version=created_isa.dss_query.isa.version, ) - subscriptions_to_isa = [] + # Check that the subscription ID is returned in the response + with self.check( + "Response to the mutation of the ISA contains subscription ID", + [self._dss.participant_id], + ) as check: + + subs_to_mutated_isa = {} for returned_subscriber in mutated_isa.dss_query.subscribers: for sub_in_subscriber in returned_subscriber.raw.subscriptions: - subscriptions_to_isa.append(sub_in_subscriber.subscription_id) + subs_to_mutated_isa[ + sub_in_subscriber.subscription_id + ] = sub_in_subscriber - if created_subscription.subscription.id not in subscriptions_to_isa: + if created_subscription.subscription.id not in subs_to_mutated_isa.keys(): check.record_failed( summary="ISA mutation response does not contain expected subscription ID", severity=Severity.High, @@ -151,9 +172,27 @@ def _check_subscription_behaviors(self): ], ) + # Check that the subscription index has been incremented by least by 1 + sub_to_mutated_isa = subs_to_mutated_isa.get( + created_subscription.subscription.id + ) + if sub_to_mutated_isa is not None: + with self.check( + "Subscription to an ISA has its notification index incremented after mutation", + [self._dss.participant_id], + ) as check: + if sub_to_mutated_isa.notification_index <= 0: + check.record_failed( + summary="Subscription notification_index has not been increased", + severity=Severity.High, + participants=[self._dss.participant_id], + details=f"The subscription created for the area {self._isa_area} is expected to have a notification_index of 1 or more. The returned subscription has a notification_index of {subs_to_mutated_isa[created_subscription.subscription.id].notification_index}.", + query_timestamps=[created_subscription.query.request.timestamp], + ) + # Delete the ISA with self.check( - "Response to the deletion of the ISA contains subscription ID", + "Delete the ISA", [self._dss.participant_id], ) as check: deleted_isa = self._dss_wrapper.del_isa_expect_response_code( @@ -163,14 +202,20 @@ def _check_subscription_behaviors(self): isa_version=mutated_isa.dss_query.isa.version, ) - subscriptions_to_deleted_isa = [] + # Check response to deletion of ISA + with self.check( + "Response to the deletion of the ISA contains subscription ID", + [self._dss.participant_id], + ) as check: + + subs_to_deleted_isa = {} for returned_subscriber in deleted_isa.dss_query.subscribers: for sub_in_subscriber in returned_subscriber.raw.subscriptions: - subscriptions_to_deleted_isa.append( + subs_to_deleted_isa[ sub_in_subscriber.subscription_id - ) + ] = sub_in_subscriber - if created_subscription.subscription.id not in subscriptions_to_deleted_isa: + if created_subscription.subscription.id not in subs_to_deleted_isa: check.record_failed( summary="ISA deletion response does not contain expected subscription ID", severity=Severity.High, @@ -197,6 +242,27 @@ def _check_subscription_behaviors(self): query_timestamps=[notification.query.request.timestamp], ) + subs_after_deletion = subs_to_deleted_isa.get( + created_subscription.subscription.id + ) + if subs_after_deletion is not None: + with self.check( + "Subscription to an ISA has its notification index incremented after deletion", + [self._dss.participant_id], + ) as check: + if ( + subs_after_deletion.notification_index + <= sub_to_mutated_isa.notification_index + ): + check.record_failed( + summary="Subscription notification_index has not been incremented", + severity=Severity.High, + participants=[self._dss.participant_id], + details=f"The subscription created for the area {self._isa_area} is expected to have its notification increased after the subscription was deleted." + f"The returned subscription has a notification_index of {subs_after_deletion.notification_index}, whilte the previous notification_index for that subscription was {sub_to_mutated_isa.notification_index}", + query_timestamps=[created_subscription.query.request.timestamp], + ) + # Delete the subscription with self.check( "Successful subscription deletion", diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md index df05a121e2..503110d817 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md @@ -40,7 +40,7 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub #### Successful subscription query check -**[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. +**[interuss.f3411.dss_endpoints.SearchSubscriptions](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. #### Successful subscription deletion check @@ -51,16 +51,22 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub This test case will do the following, using the DSS being tested: 1. Create an ISA with the configured footprint, -2. Create a subscription for the ISA's area, and expect to find the created ISA mentioned in the reply, -3. Modify the ISA, and expect to find the created subscription in the reply, -4. Delete the ISA, and expect to find the created subscription in the reply, +2. Create a subscription for the ISA's area, and expect: + - to find the created ISA mentioned in the reply + - the notification index of the subscription to be 0 +3. Modify the ISA, and expect: + - to find the created subscription in the reply + - the notification index of the subscription to be greater than 0 +4. Delete the ISA, and expect: + - to find the created subscription in the reply + - the notification index of the subscription to be greater than it was after the mutation 5. Delete the subscription. ### ISA Subscription Interactions test step #### Create an ISA check -If the ISA cannot be created, the PUT DSS endpoint in **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. +If the ISA cannot be created, the PUT DSS endpoint in **[astm.f3411.v19.DSS0030,a](../../../../../requirements/astm/f3411/v19.md)** is likely not implemented correctly. #### Create a subscription within the ISA footprint check @@ -71,16 +77,43 @@ The DSS should allow the creation of a subscription within the ISA footprint, ot A subscription that is created for a volume that intersects with the previously created ISA should mention the previously created ISA. If not, the serving DSS is in violation of **[astm.f3411.v19.DSS0030,c](../../../../../requirements/astm/f3411/v19.md)**. +#### Newly created subscription has a notification_index of 0 check + +A newly created subscription is expected to have a notification index of 0, otherwise the DSS implementation under +test does not comply with **[interuss.f3411.dss_endpoints.CreateSubscription](../../../../../requirements/interuss/f3411/dss_endpoints.md)** + +#### Mutate the ISA check + +If the ISA cannot be mutated, **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** is likely not implemented correctly. + #### Response to the mutation of the ISA contains subscription ID check When an ISA is mutated, the DSS must return the identifiers for any subscription that was made to the ISA, or be in violation of **[astm.f3411.v19.DSS0030,a](../../../../../requirements/astm/f3411/v19.md)**. +#### Subscription to an ISA has its notification index incremented after mutation check + +When an ISA is mutated, the DSS must increment the notification index of any subscription to that ISA, +and return the up-to-date subscription in the response to the query mutating the ISA. + +Failure to do so means that the DSS is not properly implementing **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. + +#### Delete the ISA check + +If that ISA cannot be deleted, the **[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the ISA deletion endpoint might not be met. + #### Response to the deletion of the ISA contains subscription ID check When an ISA is deleted, the DSS must return the identifiers for any subscription that was made to the ISA, or be in violation of **[astm.f3411.v19.DSS0030,b](../../../../../requirements/astm/f3411/v19.md)**. +#### Subscription to an ISA has its notification index incremented after deletion check + +When an ISA is deleted, the DSS must increment the notification index of any subscription to that ISA, +and return the up-to-date subscription in the response to the query deleting the ISA. + +Failure to do so means that the DSS is not properly implementing **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. + #### Successful subscription deletion check **[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. @@ -108,7 +141,7 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub #### Successful subscription query check -**[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. +**[interuss.f3411.dss_endpoints.SearchSubscriptions](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. #### Successful subscription deletion check diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md index 418783daf5..56b47d0b26 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md @@ -40,7 +40,7 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub #### Successful subscription query check -**[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. +**[interuss.f3411.dss_endpoints.SearchSubscriptions](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. #### Successful subscription deletion check @@ -51,9 +51,15 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub This test case will do the following, using the DSS being tested: 1. Create an ISA with the configured footprint, -2. Create a subscription for the ISA's area, and expect to find the created ISA mentioned in the reply, -3. Modify the ISA, and expect to find the created subscription in the reply, -4. Delete the ISA, and expect to find the created subscription in the reply, +2. Create a subscription for the ISA's area, and expect: + - to find the created ISA mentioned in the reply + - the notification index of the subscription to be 0 +3. Modify the ISA, and expect: + - to find the created subscription in the reply + - the notification index of the subscription to be greater than 0 +4. Delete the ISA, and expect: + - to find the created subscription in the reply + - the notification index of the subscription to be greater than it was after the mutation 5. Delete the subscription. ### ISA Subscription Interactions test step @@ -71,23 +77,50 @@ The DSS should allow the creation of a subscription within the ISA footprint, ot A subscription that is created for a volume that intersects with the previously created ISA should mention the previously created ISA. If not, the serving DSS is in violation of **[astm.f3411.v22a.DSS0030,c](../../../../../requirements/astm/f3411/v22a.md)**. +#### Newly created subscription has a notification_index of 0 check + +A newly created subscription is expected to have a notification index of 0, otherwise the DSS implementation under +test does not comply with **[interuss.f3411.dss_endpoints.CreateSubscription](../../../../../requirements/interuss/f3411/dss_endpoints.md)** + +#### Mutate the ISA check + +If the ISA cannot be mutated, **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** is likely not implemented correctly. + #### Response to the mutation of the ISA contains subscription ID check When an ISA is mutated, the DSS must return the identifiers for any subscription that was made to the ISA, or be in violation of **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)**. +#### Subscription to an ISA has its notification index incremented after mutation check + +When an ISA is mutated, the DSS must increment the notification index of any subscription to that ISA, +and return the up-to-date subscription in the response to the query mutating the ISA. + +Failure to do so means that the DSS is not properly implementing **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. + +#### Delete the ISA check + +If that ISA cannot be deleted, the **[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the ISA deletion endpoint might not be met. + #### Response to the deletion of the ISA contains subscription ID check When an ISA is deleted, the DSS must return the identifiers for any subscription that was made to the ISA, or be in violation of **[astm.f3411.v22a.DSS0030,b](../../../../../requirements/astm/f3411/v22a.md)**. +#### Subscription to an ISA has its notification index incremented after deletion check + +When an ISA is deleted, the DSS must increment the notification index of any subscription to that ISA, +and return the up-to-date subscription in the response to the query deleting the ISA. + +Failure to do so means that the DSS is not properly implementing **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. + #### Successful subscription deletion check **[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. #### Notified subscriber check -Notifications to any subscriber to the created ISA need to be successful. If a notification cannot be delivered, then the **[astm.f3411.v19.NET0730](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the POST ISAs endpoint isn't met. +Notifications to any subscriber to the created ISA need to be successful. If a notification cannot be delivered, then the **[astm.f3411.v22a.NET0730](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the POST ISAs endpoint isn't met. ## Cleanup @@ -108,7 +141,7 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub #### Successful subscription query check -**[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. +**[interuss.f3411.dss_endpoints.SearchSubscriptions](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. #### Successful subscription deletion check diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md index 5d52c9d740..17c30d0f95 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md @@ -44,7 +44,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: Subscription Validation DSS0050 @@ -326,12 +326,6 @@ Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - - astm
.f3411
.v22a
- DSS0030,a - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - interuss
.automated_testing
.rid
.injection
DeleteTestSuccess @@ -365,14 +359,29 @@ ASTM NetRID nominal behavior - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
+ CreateSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + + GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + PutISA + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + + SearchSubscriptions + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md index 06696ec890..f7ea8e4260 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md @@ -45,7 +45,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: Subscription Validation DSS0050 @@ -203,20 +203,29 @@ ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - astm
.f3411
.v22a
- DSS0030,a + interuss
.f3411
.dss_endpoints
+ CreateSubscription Implemented ASTM NetRID DSS: ISA Subscription Interactions - interuss
.f3411
.dss_endpoints
GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + PutISA + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + + SearchSubscriptions + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md index 4c38a2c87e..19c91f012f 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md @@ -20,12 +20,6 @@ Status Checked in - - astm
.f3411
.v19
- NET0730 - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - astm
.f3411
.v22a
DSS0030 @@ -55,7 +49,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: Subscription Validation DSS0050 @@ -490,14 +484,29 @@ ASTM NetRID nominal behavior - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
+ CreateSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + + GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + PutISA + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + + SearchSubscriptions + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md index 6691c05c5e..c1303c93e0 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md @@ -21,12 +21,6 @@ Status Checked in - - astm
.f3411
.v19
- NET0730 - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - astm
.f3411
.v22a
DSS0030 @@ -56,7 +50,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: Subscription Validation DSS0050 @@ -219,14 +213,29 @@ ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
+ CreateSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + + GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + PutISA + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + + SearchSubscriptions + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index ce0f4a5fad..48d99f16a3 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -42,7 +42,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: Subscription Validation DSS0050 @@ -197,7 +197,7 @@ NET0730 Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations astm
.f3411
.v22a
@@ -228,7 +228,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: Subscription Validation DSS0050 @@ -391,14 +391,29 @@ ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
+ CreateSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + + GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + PutISA + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA + + SearchSubscriptions + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md index d533c01455..ec77ab9c3d 100644 --- a/monitoring/uss_qualifier/suites/uspace/network_identification.md +++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md @@ -15,12 +15,6 @@ Status Checked in - - astm
.f3411
.v19
- NET0730 - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - astm
.f3411
.v22a
DSS0030 @@ -50,7 +44,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: Subscription Validation DSS0050 @@ -485,14 +479,29 @@ ASTM NetRID nominal behavior - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
+ CreateSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + + GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + PutISA + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + + SearchSubscriptions + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index 864e744990..11af277fe0 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -17,12 +17,6 @@ Status Checked in - - astm
.f3411
.v19
- NET0730 - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - astm
.f3411
.v22a
DSS0030 @@ -52,7 +46,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: Subscription Validation DSS0050 @@ -609,16 +603,31 @@ ASTM NetRID nominal behavior - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
+ CreateSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + + GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations + + PutISA + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + + SearchSubscriptions + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + versioning ReportSystemVersion From 3b622c0feb66accec87cd364cf4a2f8b96bb2322 Mon Sep 17 00:00:00 2001 From: Julien Perrochet Date: Fri, 27 Oct 2023 10:37:18 +0200 Subject: [PATCH 3/4] rename CreateSubscription to PutSubscription for consistency --- .../requirements/interuss/f3411/dss_endpoints.md | 2 +- .../netrid/v19/dss/isa_subscription_interactions.md | 2 +- .../netrid/v22a/dss/isa_subscription_interactions.md | 2 +- .../uss_qualifier/suites/astm/netrid/f3411_19.md | 10 +++++----- .../suites/astm/netrid/f3411_19/dss_probing.md | 10 +++++----- .../uss_qualifier/suites/astm/netrid/f3411_22a.md | 10 +++++----- .../suites/astm/netrid/f3411_22a/dss_probing.md | 10 +++++----- .../uss_qualifier/suites/interuss/dss/all_tests.md | 10 +++++----- .../suites/uspace/network_identification.md | 10 +++++----- .../uss_qualifier/suites/uspace/required_services.md | 10 +++++----- 10 files changed, 38 insertions(+), 38 deletions(-) diff --git a/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md b/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md index d74c05fd3b..7a717b11c2 100644 --- a/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md +++ b/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md @@ -6,5 +6,5 @@ While neither ASTM F3411-19 nor F3411-22a explicitly require DSS implementations * GetISA: The DSS implementation under test must implement the ability to retrieve an Identification Service Area by ID in accordance with the API specified in Annex A4 of the respective standard. * DeleteISA: The DSS implementation under test must implement the ability to delete an Identification Service Area by ID in accordance with the API specified in Annex A4 of the respective standard. * SearchISAs: The DSS implementation under test must implement the ability to search for Identification Service Areas meeting the specified criteria in accordance with the API specified in Annex A4 of the respective standard. -* CreateSubscription: The DSS implementation under test must implement the ability to create a subscription in accordance with the API specified in Annex A4 of the respective standard. +* PutSubscription: The DSS implementation under test must implement the ability to create a subscription in accordance with the API specified in Annex A4 of the respective standard. * SearchSubscriptions: The DSS implementation under test must implement the ability to search for subscriptions in accordance with the API specified in Annex A4 of the respective standard. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md index 503110d817..7e5e1d2ad6 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md @@ -80,7 +80,7 @@ the previously created ISA. If not, the serving DSS is in violation of **[astm.f #### Newly created subscription has a notification_index of 0 check A newly created subscription is expected to have a notification index of 0, otherwise the DSS implementation under -test does not comply with **[interuss.f3411.dss_endpoints.CreateSubscription](../../../../../requirements/interuss/f3411/dss_endpoints.md)** +test does not comply with **[interuss.f3411.dss_endpoints.PutSubscription](../../../../../requirements/interuss/f3411/dss_endpoints.md)** #### Mutate the ISA check diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md index 56b47d0b26..f7f1acf398 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md @@ -80,7 +80,7 @@ the previously created ISA. If not, the serving DSS is in violation of **[astm.f #### Newly created subscription has a notification_index of 0 check A newly created subscription is expected to have a notification index of 0, otherwise the DSS implementation under -test does not comply with **[interuss.f3411.dss_endpoints.CreateSubscription](../../../../../requirements/interuss/f3411/dss_endpoints.md)** +test does not comply with **[interuss.f3411.dss_endpoints.PutSubscription](../../../../../requirements/interuss/f3411/dss_endpoints.md)** #### Mutate the ISA check diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md index 17c30d0f95..31cb096c92 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md @@ -360,11 +360,6 @@ interuss
.f3411
.dss_endpoints
- CreateSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations @@ -374,6 +369,11 @@ Implemented ASTM NetRID DSS: ISA Subscription Interactions + + PutSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md index f7ea8e4260..f3e22359f3 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md @@ -204,11 +204,6 @@ interuss
.f3411
.dss_endpoints
- CreateSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations @@ -218,6 +213,11 @@ Implemented ASTM NetRID DSS: ISA Subscription Interactions + + PutSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md index 19c91f012f..fc26b3fc0a 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md @@ -485,11 +485,6 @@ interuss
.f3411
.dss_endpoints
- CreateSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations @@ -499,6 +494,11 @@ Implemented ASTM NetRID DSS: ISA Subscription Interactions + + PutSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md index c1303c93e0..7ee16524d3 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md @@ -214,11 +214,6 @@ interuss
.f3411
.dss_endpoints
- CreateSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations @@ -228,6 +223,11 @@ Implemented ASTM NetRID DSS: ISA Subscription Interactions + + PutSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index 48d99f16a3..f5f6c0353a 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -392,11 +392,6 @@ interuss
.f3411
.dss_endpoints
- CreateSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations @@ -406,6 +401,11 @@ Implemented ASTM NetRID DSS: ISA Subscription Interactions + + PutSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md index ec77ab9c3d..b86874b7f3 100644 --- a/monitoring/uss_qualifier/suites/uspace/network_identification.md +++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md @@ -480,11 +480,6 @@ interuss
.f3411
.dss_endpoints
- CreateSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations @@ -494,6 +489,11 @@ Implemented ASTM NetRID DSS: ISA Subscription Interactions + + PutSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index 11af277fe0..023652f6fa 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -604,11 +604,6 @@ interuss
.f3411
.dss_endpoints
- CreateSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations @@ -618,6 +613,11 @@ Implemented ASTM NetRID DSS: ISA Subscription Interactions + + PutSubscription + Implemented + ASTM NetRID DSS: ISA Subscription Interactions + SearchISAs Implemented From 558f64f17a68c3200e8775297513f86a9ac9d5bd Mon Sep 17 00:00:00 2001 From: Julien Perrochet Date: Fri, 27 Oct 2023 18:53:00 +0200 Subject: [PATCH 4/4] Reference the standard directly where relevant --- .../interuss/f3411/dss_endpoints.md | 4 ---- .../dss/isa_subscription_interactions.py | 5 ++--- .../v19/dss/isa_subscription_interactions.md | 12 +++++------ .../v22a/dss/isa_subscription_interactions.md | 12 +++++------ .../suites/astm/netrid/f3411_19.md | 19 ++--------------- .../astm/netrid/f3411_19/dss_probing.md | 19 ++--------------- .../suites/astm/netrid/f3411_22a.md | 19 ++--------------- .../astm/netrid/f3411_22a/dss_probing.md | 19 ++--------------- .../suites/interuss/dss/all_tests.md | 21 +++---------------- .../suites/uspace/network_identification.md | 19 ++--------------- .../suites/uspace/required_services.md | 19 ++--------------- 11 files changed, 29 insertions(+), 139 deletions(-) diff --git a/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md b/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md index 7a717b11c2..2d8a926754 100644 --- a/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md +++ b/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md @@ -2,9 +2,5 @@ While neither ASTM F3411-19 nor F3411-22a explicitly require DSS implementations to implement all endpoints specified in Annex A4 (of each respective standard), InterUSS automated testing expects DSS implementations to implement all DSS endpoints specified in Annex A4. Specifically: -* PutISA: The DSS implementation under test must implement the ability to create and update an Identification Service Area by ID in accordance with the API specified in Annex A4 of the respective standard. * GetISA: The DSS implementation under test must implement the ability to retrieve an Identification Service Area by ID in accordance with the API specified in Annex A4 of the respective standard. -* DeleteISA: The DSS implementation under test must implement the ability to delete an Identification Service Area by ID in accordance with the API specified in Annex A4 of the respective standard. * SearchISAs: The DSS implementation under test must implement the ability to search for Identification Service Areas meeting the specified criteria in accordance with the API specified in Annex A4 of the respective standard. -* PutSubscription: The DSS implementation under test must implement the ability to create a subscription in accordance with the API specified in Annex A4 of the respective standard. -* SearchSubscriptions: The DSS implementation under test must implement the ability to search for subscriptions in accordance with the API specified in Annex A4 of the respective standard. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py index b987478627..22ab4cf477 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss/isa_subscription_interactions.py @@ -231,9 +231,8 @@ def _check_subscription_behaviors(self): for subscriber_url, notification in deleted_isa.notifications.items(): # For checking the notifications, we ignore the request we made for the subscription that we created. if self._isa.base_url not in subscriber_url: - with self.check("Notified subscriber", [subscriber_url]) as check: - # TODO: Find a better way to identify a subscriber who couldn't be notified: - # as-is the subscriber url causes the test-suite to crash when it writes its report + pid = notification.query.participant_id + with self.check("Notified subscriber", [pid] if pid else []) as check: if not notification.success: check.record_failed( "Could not notify ISA subscriber", diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md index 7e5e1d2ad6..db583beff8 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_subscription_interactions.md @@ -40,7 +40,7 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub #### Successful subscription query check -**[interuss.f3411.dss_endpoints.SearchSubscriptions](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. +**[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. #### Successful subscription deletion check @@ -80,11 +80,11 @@ the previously created ISA. If not, the serving DSS is in violation of **[astm.f #### Newly created subscription has a notification_index of 0 check A newly created subscription is expected to have a notification index of 0, otherwise the DSS implementation under -test does not comply with **[interuss.f3411.dss_endpoints.PutSubscription](../../../../../requirements/interuss/f3411/dss_endpoints.md)** +test does not comply with **[astm.f3411.v19.DSS0030,c](../../../../../requirements/astm/f3411/v19.md)** #### Mutate the ISA check -If the ISA cannot be mutated, **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** is likely not implemented correctly. +If the ISA cannot be mutated, **[astm.f3411.v19.DSS0030,a](../../../../../requirements/astm/f3411/v19.md)** is likely not implemented correctly. #### Response to the mutation of the ISA contains subscription ID check @@ -96,7 +96,7 @@ or be in violation of **[astm.f3411.v19.DSS0030,a](../../../../../requirements/a When an ISA is mutated, the DSS must increment the notification index of any subscription to that ISA, and return the up-to-date subscription in the response to the query mutating the ISA. -Failure to do so means that the DSS is not properly implementing **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. +Failure to do so means that the DSS is not properly implementing **[astm.f3411.v19.DSS0030,a](../../../../../requirements/astm/f3411/v19.md)**. #### Delete the ISA check @@ -112,7 +112,7 @@ or be in violation of **[astm.f3411.v19.DSS0030,b](../../../../../requirements/a When an ISA is deleted, the DSS must increment the notification index of any subscription to that ISA, and return the up-to-date subscription in the response to the query deleting the ISA. -Failure to do so means that the DSS is not properly implementing **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. +Failure to do so means that the DSS is not properly implementing **[astm.f3411.v19.DSS0030,a](../../../../../requirements/astm/f3411/v19.md)**. #### Successful subscription deletion check @@ -141,7 +141,7 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub #### Successful subscription query check -**[interuss.f3411.dss_endpoints.SearchSubscriptions](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. +**[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. #### Successful subscription deletion check diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md index f7f1acf398..f4e9e86e40 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md @@ -40,7 +40,7 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub #### Successful subscription query check -**[interuss.f3411.dss_endpoints.SearchSubscriptions](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. +**[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. #### Successful subscription deletion check @@ -80,11 +80,11 @@ the previously created ISA. If not, the serving DSS is in violation of **[astm.f #### Newly created subscription has a notification_index of 0 check A newly created subscription is expected to have a notification index of 0, otherwise the DSS implementation under -test does not comply with **[interuss.f3411.dss_endpoints.PutSubscription](../../../../../requirements/interuss/f3411/dss_endpoints.md)** +test does not comply with **[astm.f3411.v22a.DSS0030,c](../../../../../requirements/astm/f3411/v22a.md)** #### Mutate the ISA check -If the ISA cannot be mutated, **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** is likely not implemented correctly. +If the ISA cannot be mutated, **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. #### Response to the mutation of the ISA contains subscription ID check @@ -96,7 +96,7 @@ or be in violation of **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/ When an ISA is mutated, the DSS must increment the notification index of any subscription to that ISA, and return the up-to-date subscription in the response to the query mutating the ISA. -Failure to do so means that the DSS is not properly implementing **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. +Failure to do so means that the DSS is not properly implementing **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)**. #### Delete the ISA check @@ -112,7 +112,7 @@ or be in violation of **[astm.f3411.v22a.DSS0030,b](../../../../../requirements/ When an ISA is deleted, the DSS must increment the notification index of any subscription to that ISA, and return the up-to-date subscription in the response to the query deleting the ISA. -Failure to do so means that the DSS is not properly implementing **[interuss.f3411.dss_endpoints.PutISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. +Failure to do so means that the DSS is not properly implementing **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)**. #### Successful subscription deletion check @@ -141,7 +141,7 @@ When a pre-existing ISA needs to be deleted to ensure a clean workspace, any sub #### Successful subscription query check -**[interuss.f3411.dss_endpoints.SearchSubscriptions](../../../../../requirements/interuss/f3411/dss_endpoints.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. +**[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created. #### Successful subscription deletion check diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md index 31cb096c92..0b46d1d692 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md @@ -44,7 +44,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -359,29 +359,14 @@ ASTM NetRID nominal behavior - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - - PutISA - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - - PutSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior - - SearchSubscriptions - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md index f3e22359f3..af009a680c 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md @@ -45,7 +45,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -203,29 +203,14 @@ ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - - PutISA - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - - PutSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA - - SearchSubscriptions - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md index fc26b3fc0a..574c121027 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md @@ -49,7 +49,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -484,29 +484,14 @@ ASTM NetRID nominal behavior - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - - PutISA - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - - PutSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior - - SearchSubscriptions - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md index 7ee16524d3..35c5476bfd 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md @@ -50,7 +50,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -213,29 +213,14 @@ ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - - PutISA - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - - PutSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA - - SearchSubscriptions - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index f5f6c0353a..f582f9ab1b 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -42,7 +42,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -228,7 +228,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -391,29 +391,14 @@ ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - - PutISA - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - - PutSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA - - SearchSubscriptions - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md index b86874b7f3..28230fd3ac 100644 --- a/monitoring/uss_qualifier/suites/uspace/network_identification.md +++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md @@ -44,7 +44,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -479,29 +479,14 @@ ASTM NetRID nominal behavior - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - - PutISA - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - - PutSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior - - SearchSubscriptions - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index 023652f6fa..33c2a97919 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -46,7 +46,7 @@ DSS0030,f Implemented - ASTM NetRID DSS: Subscription Validation + ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Subscription Validation DSS0050 @@ -603,31 +603,16 @@ ASTM NetRID nominal behavior - interuss
.f3411
.dss_endpoints
+ interuss
.f3411
.dss_endpoints
GetISA Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations - - PutISA - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - - - PutSubscription - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - SearchISAs Implemented ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior - - SearchSubscriptions - Implemented - ASTM NetRID DSS: ISA Subscription Interactions - versioning ReportSystemVersion