From 39a2182a95deafae6f9315b4af8e896566e2b57e Mon Sep 17 00:00:00 2001 From: Benjamin Pelletier Date: Thu, 12 Oct 2023 02:44:03 +0000 Subject: [PATCH 1/2] Clean up F3411-22a requirements Check and format included test scenario steps --- .../configurations/dev/uspace.yaml | 14 + monitoring/uss_qualifier/documentation.py | 28 +- .../requirements/astm/f3411/v19.md | 139 +++++++--- .../astm/f3411/v19/display_provider.md | 2 +- .../astm/f3411/v19/dss_provider.md | 41 +-- .../astm/f3411/v19/service_provider.md | 3 +- .../requirements/astm/f3411/v22a.md | 52 ++-- .../astm/f3411/v22a/display_provider.md | 2 +- .../astm/f3411/v22a/dss_provider.md | 41 +-- .../astm/f3411/v22a/service_provider.md | 8 +- .../interuss/f3411/dss_endpoints.md | 6 + .../astm/netrid/common/aggregate_checks.py | 5 +- .../astm/netrid/display_data_evaluator.py | 8 +- .../astm/netrid/v19/aggregate_checks.md | 14 +- .../astm/netrid/v19/dss/isa_simple.md | 67 +++-- .../netrid/v19/dss/subscription_validation.md | 18 +- .../netrid/v19/dss/test_steps/delete_isa.md | 6 +- .../astm/netrid/v19/dss/test_steps/put_isa.md | 14 +- .../netrid/v19/dss/test_steps/search_isas.md | 2 +- .../astm/netrid/v19/dss_interoperability.md | 61 ++--- .../astm/netrid/v19/nominal_behavior.md | 18 +- .../astm/netrid/v22a/aggregate_checks.md | 16 +- .../astm/netrid/v22a/dss/isa_simple.md | 67 +++-- .../v22a/dss/subscription_validation.md | 18 +- .../netrid/v22a/dss/test_steps/delete_isa.md | 6 +- .../netrid/v22a/dss/test_steps/put_isa.md | 14 +- .../netrid/v22a/dss/test_steps/search_isas.md | 2 +- .../astm/netrid/v22a/dss_interoperability.md | 61 ++--- .../scenarios/astm/netrid/v22a/misbehavior.md | 2 +- .../astm/netrid/v22a/nominal_behavior.md | 35 +-- .../validate_not_shared_operational_intent.md | 4 +- .../utm/validate_shared_operational_intent.md | 14 +- .../scenarios/documentation/autoformat.py | 44 +++- .../scenarios/documentation/parsing.py | 50 +--- .../scenarios/documentation/validation.py | 13 + .../flight_planning/activate_flight_intent.md | 2 +- .../flight_planning/delete_flight_intent.md | 2 +- .../modify_planned_flight_intent.md | 2 +- .../flight_planning/plan_flight_intent.md | 2 +- .../suites/astm/netrid/f3411_19.md | 155 ++++++++---- .../astm/netrid/f3411_19/dss_probing.md | 124 +++++---- .../suites/astm/netrid/f3411_19_suite1.md | 34 --- .../suites/astm/netrid/f3411_22a.md | 178 +++++++++---- .../astm/netrid/f3411_22a/dss_probing.md | 124 +++++---- .../suites/astm/netrid/f3411_22a_suite1.md | 40 --- .../suites/interuss/dss/all_tests.md | 239 ++++++++++-------- .../suites/uspace/network_identification.md | 178 +++++++++---- .../suites/uspace/required_services.md | 178 +++++++++---- 48 files changed, 1302 insertions(+), 851 deletions(-) create mode 100644 monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md delete mode 100644 monitoring/uss_qualifier/suites/astm/netrid/f3411_19_suite1.md delete mode 100644 monitoring/uss_qualifier/suites/astm/netrid/f3411_22a_suite1.md diff --git a/monitoring/uss_qualifier/configurations/dev/uspace.yaml b/monitoring/uss_qualifier/configurations/dev/uspace.yaml index 1030f5d36f..371ea1f10c 100644 --- a/monitoring/uss_qualifier/configurations/dev/uspace.yaml +++ b/monitoring/uss_qualifier/configurations/dev/uspace.yaml @@ -63,7 +63,21 @@ v1: requirement_collections: - requirement_sets: - astm.f3411.v22a.service_provider#Mandatory requirements + - astm.f3411.v22a.service_provider#Operator ID provider + - astm.f3411.v22a.service_provider#UAS ID Serial Number provider + - astm.f3411.v22a.service_provider#Height provider + - astm.f3411.v22a.service_provider#Operator Position provider + - astm.f3411.v22a.service_provider#Operational Status provider - astm.f3411.v22a.display_provider#Mandatory requirements + - astm.f3411.v22a.display_provider#UAS ID Serial Number transmitter + - astm.f3411.v22a.display_provider#Timestamp transmitter + - astm.f3411.v22a.display_provider#Operational Status transmitter + - astm.f3411.v22a.display_provider#Operator ID transmitter + - astm.f3411.v22a.display_provider#Current Position transmitter + - astm.f3411.v22a.display_provider#Height transmitter + - astm.f3411.v22a.display_provider#Track Direction transmitter + - astm.f3411.v22a.display_provider#Speed transmitter + - astm.f3411.v22a.display_provider#Operator Position transmitter - astm.f3411.v22a.dss_provider - astm.f3548.v21.scd#Automated verification participant_requirements: diff --git a/monitoring/uss_qualifier/documentation.py b/monitoring/uss_qualifier/documentation.py index 6e6ba85cbe..a0e0beac26 100644 --- a/monitoring/uss_qualifier/documentation.py +++ b/monitoring/uss_qualifier/documentation.py @@ -1,9 +1,25 @@ import marko.element -def text_of(parent: marko.element.Element) -> str: - if not hasattr(parent, "children"): - return "" - if isinstance(parent.children, str): - return parent.children - return "".join(text_of(c) for c in parent.children) +def text_of(value: marko.element.Element) -> str: + """Gets the plain text contained within a Markdown element""" + if isinstance(value, str): + return value + elif isinstance(value, marko.block.BlockElement): + result = "" + for child in value.children: + result += text_of(child) + return result + elif isinstance(value, marko.inline.InlineElement): + if isinstance(value, marko.inline.LineBreak): + return "\n" + if isinstance(value.children, str): + return value.children + result = "" + for child in value.children: + result += text_of(child) + return result + else: + raise NotImplementedError( + "Cannot yet extract raw text from {}".format(value.__class__.__name__) + ) diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v19.md b/monitoring/uss_qualifier/requirements/astm/f3411/v19.md index 9bb99e8f60..8cb2da89c1 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v19.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v19.md @@ -26,7 +26,45 @@ For information on these requirements, refer to [the ASTM standard F3411-19](htt * NET0230 * NET0240 * NET0250 -* NET0260 +* NET0260 + * NET0260,NetSpDataResponseTime95thPercentile: 95th percentile response time + * NET0260,NetSpDataResponseTime99thPercentile: 99th percentile response time + * NET0260,NearRealTime: Near-real-time position information for applicable UAs + * NET0260,Table1,1: UAS ID, any option + * NET0260,Table1,1a: UAS ID, option 1 - serial number + * NET0260,Table1,1b: UAS ID, option 2 - registration id + * NET0260,Table1,1c: UAS ID, option 3 - utm (uuid) + * NET0260,Table1,2: UAS ID Type + * NET0260,Table1,3: UA Type + * NET0260,Table1,4: Timestamp + * NET0260,Table1,5: Timestamp Accuracy + * NET0260,Table1,6: Operational Status + * NET0260,Table1,7: Operation Description + * NET0260,Table1,8: Operator ID + * NET0260,Table1,9: Latitude + * NET0260,Table1,10: Longitude + * NET0260,Table1,11: Geodetic Altitude + * NET0260,Table1,12: Pressure Altitude + * NET0260,Table1,13: Height + * NET0260,Table1,14: Height type + * NET0260,Table1,15: Geodetic Vertical Accuracy + * NET0260,Table1,16: Horizontal Accuracy + * NET0260,Table1,17: Speed Accuracy + * NET0260,Table1,18: Track Direction + * NET0260,Table1,19: Speed + * NET0260,Table1,20: Vertical Speed + * NET0260,Table1,21: Auth Data + * NET0260,Table1,22: Operator Latitude + * NET0260,Table1,23: Operator Longitude + * NET0260,Table1,24: Operator Location Type + * NET0260,Table1,25: Operating Area Radius + * NET0260,Table1,26: Operating Area Polygon + * NET0260,Table1,27: Operating Area Type + * NET0260,Table1,28: Operating Area Count + * NET0260,Table1,29: Operating Area Floor + * NET0260,Table1,30: Operating Area Ceiling + * NET0260,Table1,31: Operating Area Start + * NET0260,Table1,32: Operating Area End * NET0270 * NET0280 * NET0290 @@ -45,6 +83,41 @@ For information on these requirements, refer to [the ASTM standard F3411-19](htt * NET0450 * NET0460 * NET0470 + * NET0470,Table1,1: UAS ID, any option + * NET0470,Table1,1a: UAS ID, option 1 - Serial Number + * NET0470,Table1,1b: UAS ID, option 2 - Registration ID + * NET0470,Table1,1c: UAS ID, option 3 - UTM (UUID) + * NET0470,Table1,2: UAS ID Type + * NET0470,Table1,3: UA Type + * NET0470,Table1,4: Timestamp + * NET0470,Table1,5: Timestamp Accuracy + * NET0470,Table1,6: Operational Status + * NET0470,Table1,7: Operation Description + * NET0470,Table1,8: Operator ID + * NET0470,Table1,9: Latitude + * NET0470,Table1,10: Longitude + * NET0470,Table1,11: Geodetic Altitude + * NET0470,Table1,12: Pressure Altitude + * NET0470,Table1,13: Height + * NET0470,Table1,14: Height type + * NET0470,Table1,15: Geodetic Vertical Accuracy + * NET0470,Table1,16: Horizontal Accuracy + * NET0470,Table1,17: Speed Accuracy + * NET0470,Table1,18: Track Direction + * NET0470,Table1,19: Speed + * NET0470,Table1,20: Vertical Speed + * NET0470,Table1,21: Auth Data + * NET0470,Table1,22: Operator Latitude + * NET0470,Table1,23: Operator Longitude + * NET0470,Table1,24: Operator Location Type + * NET0470,Table1,25: Operating Area Radius + * NET0470,Table1,26: Operating Area Polygon + * NET0470,Table1,27: Operating Area Type + * NET0470,Table1,28: Operating Area Count + * NET0470,Table1,29: Operating Area Floor + * NET0470,Table1,30: Operating Area Ceiling + * NET0470,Table1,31: Operating Area Start + * NET0470,Table1,32: Operating Area End * NET0480 * NET0490 @@ -60,7 +133,9 @@ For information on these requirements, refer to [the ASTM standard F3411-19](htt ### USS-USS Interfaces -* NET0710 +* NET0710 + * NET0710,1 + * NET0710,2 * NET0720 * NET0730 @@ -70,7 +145,13 @@ For information on these requirements, refer to [the ASTM standard F3411-19](htt * DSS0010 * DSS0020 -* DSS0030 +* DSS0030 + * DSS0030,a + * DSS0030,b + * DSS0030,c + * DSS0030,d + * DSS0030,e + * DSS0030,f * DSS0040 * DSS0050 * DSS0060 @@ -80,42 +161,28 @@ For information on these requirements, refer to [the ASTM standard F3411-19](htt * DSS0110 * DSS0120 -* DSS0130: Data Synchronization - * DSS0130,2,a: Subscription ID Synchronization - * DSS0130,2,b: Subscription Owner Synchronization - * DSS0130,2,c: Subscription URL Synchronization - * DSS0130,2,d: Subscription Start/End Times Synchronization - * DSS0130,2,f: Subscription Notification Count Synchronization - * DSS0130,3,a: ISA ID Synchronization - * DSS0130,3,b: ISA Owner Synchronization - * DSS0130,3,c: ISA URL Synchronization - * DSS0130,3,d: ISA Start/End Times Synchronization +* DSS0130: Data Synchronization + * DSS0130,1: Cell ID + * DSS0130,2,a: Subscription ID + * DSS0130,2,b: Subscription Owner + * DSS0130,2,c: Subscription URL + * DSS0130,2,d: Subscription Start/End Times + * DSS0130,2,e: Subscription Area + * DSS0130,2,f: Subscription Notification Count + * DSS0130,3,a: ISA ID + * DSS0130,3,b: ISA Owner + * DSS0130,3,c: ISA URL + * DSS0130,3,d: ISA Start/End Times + * DSS0130,3,e: ISA Area Elaboration on testing methods for DSS0130 in section A2.6.1 implies the following requirements: -1. *PUT Identification Service Area:* Tests must demonstrate that after an ISA - is (A2-6-1,1a) created or (A2-6-1,1b) modified, it can - (A2-6-1,1c) be retrieved from all DSS instances for the region with - consistent results. In addition, the end time for an ISA governs when the - DSS automatically removes it from the DSS. Tests must demonstrate that - (A2-6-1,1d) automatic removal of ISAs occurs on all DSS instances. -2. *DELETE Identification Service Area:* Tests must demonstrate that an ISA can - be (A2-6-1,2a) deleted on any DSS instance and (A2-6-1,2b) - the deletion is reflected on all other DSS instances. -3. *PUT Subscription:* Tests must demonstrate that a subscription can be - (A2-6-1,3a) created on any instance and notifications for the subscription are - triggered when intersecting ISAs are (A2-6-1,3b) added or (A2-6-1,3c) modified to all - other instances. In addition, the end time for a subscription governs when - the DSS automatically removes it from the DSS. Tests must demonstrate that - (A2-6-1,3d) automatic removal of subscriptions occurs on all DSS instances. -4. *DELETE Subscription:* Tests must demonstrate that that (A2-6-1,4a) a - subscription can be deleted on any DSS instance and (A2-6-1,4b) the deletion is - reflected on all other DSS instances. -5. *GET Subscription:* (A2-6-1,5) Tests must demonstrate that a specific subscription can - be retrieved from any DSS instance with consistent results. -6. *GET Subscriptions:* (A2-6-1,6) Tests must demonstrate that the complete set of - subscriptions in an area for a Net-RID Display Provider can be retrieved from - any DSS instance with consistent results. +1. *PUT Identification Service Area:* Tests must demonstrate that after an ISA is (DSS0130,A2-6-1,1a) created or (DSS0130,A2-6-1,1b) modified, it can (DSS0130,A2-6-1,1c) be retrieved from all DSS instances for the region with consistent results. In addition, the end time for an ISA governs when the DSS automatically removes it from the DSS. Tests must demonstrate that (DSS0130,A2-6-1,1d) automatic removal of ISAs occurs on all DSS instances. +2. *DELETE Identification Service Area:* Tests must demonstrate that (DSS0130,A2-6-1,2a) an ISA can be deleted on any DSS instance and (DSS0130,A2-6-1,2b) the deletion is reflected on all other DSS instances. +3. *PUT Subscription:* Tests must demonstrate that a subscription can be (DSS0130,A2-6-1,3a) created on any instance and notifications for the subscription are triggered when intersecting ISAs are (DSS0130,A2-6-1,3b) added or (DSS0130,A2-6-1,3c) modified to all other instances. In addition, the end time for a subscription governs when the DSS automatically removes it from the DSS. Tests must demonstrate that (DSS0130,A2-6-1,3d) automatic removal of subscriptions occurs on all DSS instances. +4. *DELETE Subscription:* Tests must demonstrate that a subscription can be (DSS0130,A2-6-1,4a) deleted on any DSS instance and (DSS0130,A2-6-1,4b) the deletion is reflected on all other DSS instances. +5. *GET Subscription:* (DSS0130,A2-6-1,5) Tests must demonstrate that a specific subscription can be retrieved from any DSS instance with consistent results. +6. *GET Subscriptions*: (DSS0130,A2-6-1,6) Tests must demonstrate that the complete set of subscriptions in an area for a Net-RID Display Provider can be retrieved from any DSS instance with consistent results. ### Test Environment Requirements diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v19/display_provider.md b/monitoring/uss_qualifier/requirements/astm/f3411/v19/display_provider.md index 1b971045ad..93448bfdf0 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v19/display_provider.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v19/display_provider.md @@ -30,7 +30,7 @@ This file describes the set of ASTM F3411-19 requirements with which a USS fulfi * **astm.f3411.v19.NET0440** * **astm.f3411.v19.NET0450** * **astm.f3411.v19.NET0460** -* **astm.f3411.v19.NET0470** +* NET0470 is not included in this list because the Display Application may not request any particular enumerated data field. * **astm.f3411.v19.NET0480** * **astm.f3411.v19.NET0490** diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v19/dss_provider.md b/monitoring/uss_qualifier/requirements/astm/f3411/v19/dss_provider.md index 7f0073a3b1..b15dec2896 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v19/dss_provider.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v19/dss_provider.md @@ -8,7 +8,13 @@ This file describes the set of ASTM F3411-19 requirements with which a USS provi * **astm.f3411.v19.DSS0010** * **astm.f3411.v19.DSS0020** -* **astm.f3411.v19.DSS0030** +* DSS0030 + * **astm.f3411.v19.DSS0030,a** + * **astm.f3411.v19.DSS0030,b** + * **astm.f3411.v19.DSS0030,c** + * **astm.f3411.v19.DSS0030,d** + * **astm.f3411.v19.DSS0030,e** + * **astm.f3411.v19.DSS0030,f** * **astm.f3411.v19.DSS0040** * **astm.f3411.v19.DSS0050** * **astm.f3411.v19.DSS0060** @@ -18,30 +24,33 @@ This file describes the set of ASTM F3411-19 requirements with which a USS provi * **astm.f3411.v19.DSS0110** * **astm.f3411.v19.DSS0120** -* **astm.f3411.v19.DSS0130** +* DSS0130 + * **astm.f3411.v19.DSS0130,1** * **astm.f3411.v19.DSS0130,2,a** * **astm.f3411.v19.DSS0130,2,b** * **astm.f3411.v19.DSS0130,2,c** * **astm.f3411.v19.DSS0130,2,d** + * **astm.f3411.v19.DSS0130,2,e** * **astm.f3411.v19.DSS0130,2,f** * **astm.f3411.v19.DSS0130,3,a** * **astm.f3411.v19.DSS0130,3,b** * **astm.f3411.v19.DSS0130,3,c** * **astm.f3411.v19.DSS0130,3,d** - * **astm.f3411.v19.A2-6-1,1a** - * **astm.f3411.v19.A2-6-1,1b** - * **astm.f3411.v19.A2-6-1,1c** - * **astm.f3411.v19.A2-6-1,1d** - * **astm.f3411.v19.A2-6-1,2a** - * **astm.f3411.v19.A2-6-1,2b** - * **astm.f3411.v19.A2-6-1,3a** - * **astm.f3411.v19.A2-6-1,3b** - * **astm.f3411.v19.A2-6-1,3c** - * **astm.f3411.v19.A2-6-1,3d** - * **astm.f3411.v19.A2-6-1,4a** - * **astm.f3411.v19.A2-6-1,4b** - * **astm.f3411.v19.A2-6-1,5** - * **astm.f3411.v19.A2-6-1,6** + * **astm.f3411.v19.DSS0130,3,e** + * **astm.f3411.v19.DSS0130,A2-6-1,1a** + * **astm.f3411.v19.DSS0130,A2-6-1,1b** + * **astm.f3411.v19.DSS0130,A2-6-1,1c** + * **astm.f3411.v19.DSS0130,A2-6-1,1d** + * **astm.f3411.v19.DSS0130,A2-6-1,2a** + * **astm.f3411.v19.DSS0130,A2-6-1,2b** + * **astm.f3411.v19.DSS0130,A2-6-1,3a** + * **astm.f3411.v19.DSS0130,A2-6-1,3b** + * **astm.f3411.v19.DSS0130,A2-6-1,3c** + * **astm.f3411.v19.DSS0130,A2-6-1,3d** + * **astm.f3411.v19.DSS0130,A2-6-1,4a** + * **astm.f3411.v19.DSS0130,A2-6-1,4b** + * **astm.f3411.v19.DSS0130,A2-6-1,5** + * **astm.f3411.v19.DSS0130,A2-6-1,6** ### Test Environment Requirements diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v19/service_provider.md b/monitoring/uss_qualifier/requirements/astm/f3411/v19/service_provider.md index 4e26f4837f..09a1ffc63d 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v19/service_provider.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v19/service_provider.md @@ -46,4 +46,5 @@ This file describes the set of ASTM F3411-19 requirements with which a USS fulfi #### USS-USS Interfaces -* **astm.f3411.v19.NET0710** +* **astm.f3411.v19.NET0710,1** +* **astm.f3411.v19.NET0710,2** diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v22a.md b/monitoring/uss_qualifier/requirements/astm/f3411/v22a.md index e8c500b24a..3dcf2e432f 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v22a.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v22a.md @@ -26,7 +26,10 @@ For information on these requirements, refer to [the ASTM standard F3411-22a](ht * NET0230 * NET0240 * NET0250 -* NET0260 +* NET0260 + * NET0260,NetSpDataResponseTime95thPercentile: 95th percentile response time + * NET0260,NetSpDataResponseTime99thPercentile: 99th percentile response time + * NET0260,NearRealTime: Near-real-time position information for applicable UAs * NET0260,Table1,1: UAS ID, any option * NET0260,Table1,1a: UAS ID, option 1 - serial number * NET0260,Table1,1b: UAS ID, option 2 - registration id @@ -136,7 +139,9 @@ For information on these requirements, refer to [the ASTM standard F3411-22a](ht ### USS-USS Interfaces -* NET0710 +* NET0710 + * NET0710,1 + * NET0710,2 * NET0720 * NET0730 * NET0740 @@ -147,7 +152,13 @@ For information on these requirements, refer to [the ASTM standard F3411-22a](ht * DSS0010 * DSS0020 -* DSS0030 +* DSS0030 + * DSS0030,a + * DSS0030,b + * DSS0030,c + * DSS0030,d + * DSS0030,e + * DSS0030,f * DSS0040 * DSS0050 * DSS0060 @@ -157,25 +168,28 @@ For information on these requirements, refer to [the ASTM standard F3411-22a](ht * DSS0110 * DSS0120 -* DSS0130: Data Synchronization - * DSS0130,2,a: Subscription ID Synchronization - * DSS0130,2,b: Subscription Owner Synchronization - * DSS0130,2,c: Subscription URL Synchronization - * DSS0130,2,d: Subscription Start/End Times Synchronization - * DSS0130,2,f: Subscription Notification Count Synchronization - * DSS0130,3,a: ISA ID Synchronization - * DSS0130,3,b: ISA Owner Synchronization - * DSS0130,3,c: ISA URL Synchronization - * DSS0130,3,d: ISA Start/End Times Synchronization +* DSS0130: Data Synchronization + * DSS0130,1: Cell ID + * DSS0130,2,a: Subscription ID + * DSS0130,2,b: Subscription Owner + * DSS0130,2,c: Subscription URL + * DSS0130,2,d: Subscription Start/End Times + * DSS0130,2,e: Subscription Area + * DSS0130,2,f: Subscription Notification Count + * DSS0130,3,a: ISA ID + * DSS0130,3,b: ISA Owner + * DSS0130,3,c: ISA URL + * DSS0130,3,d: ISA Start/End Times + * DSS0130,3,e: ISA Area Elaboration on testing methods for DSS0130 in section A2.6.1 implies the following requirements: -1. *PUT Identification Service Area:* Tests must demonstrate that after an ISA is (A2-6-1,1a) created or (A2-6-1,1b) modified, it can (A2-6-1,1c) be retrieved from all DSS instances for the region with consistent results. In addition, the end time for an ISA governs when the DSS automatically removes it from the DSS. Tests must demonstrate that (A2-6-1,1d) automatic removal of ISAs occurs on all DSS instances. -2. *DELETE Identification Service Area:* Tests must demonstrate that (A2-6-1,2a) an ISA can be deleted on any DSS instance and (A2-6-1,2b) the deletion is reflected on all other DSS instances. -3. *PUT Subscription:* Tests must demonstrate that a subscription can be (A2-6-1,3a) created on any instance and notifications for the subscription are triggered when intersecting ISAs are (A2-6-1,3b) added or (A2-6-1,3c) modified to all other instances. In addition, the end time for a subscription governs when the DSS automatically removes it from the DSS. Tests must demonstrate that (A2-6-1,3d) automatic removal of subscriptions occurs on all DSS instances. -4. *DELETE Subscription:* Tests must demonstrate that a subscription can be (A2-6-1,4a) deleted on any DSS instance and (A2-6-1,4b) the deletion is reflected on all other DSS instances. -5. *GET Subscription:* (A2-6-1,5) Tests must demonstrate that a specific subscription can be retrieved from any DSS instance with consistent results. -6. *GET Subscriptions*: (A2-6-1,6) Tests must demonstrate that the complete set of subscriptions in an area for a Net-RID Display Provider can be retrieved from any DSS instance with consistent results. +1. *PUT Identification Service Area:* Tests must demonstrate that after an ISA is (DSS0130,A2-6-1,1a) created or (DSS0130,A2-6-1,1b) modified, it can (DSS0130,A2-6-1,1c) be retrieved from all DSS instances for the region with consistent results. In addition, the end time for an ISA governs when the DSS automatically removes it from the DSS. Tests must demonstrate that (DSS0130,A2-6-1,1d) automatic removal of ISAs occurs on all DSS instances. +2. *DELETE Identification Service Area:* Tests must demonstrate that (DSS0130,A2-6-1,2a) an ISA can be deleted on any DSS instance and (DSS0130,A2-6-1,2b) the deletion is reflected on all other DSS instances. +3. *PUT Subscription:* Tests must demonstrate that a subscription can be (DSS0130,A2-6-1,3a) created on any instance and notifications for the subscription are triggered when intersecting ISAs are (DSS0130,A2-6-1,3b) added or (DSS0130,A2-6-1,3c) modified to all other instances. In addition, the end time for a subscription governs when the DSS automatically removes it from the DSS. Tests must demonstrate that (DSS0130,A2-6-1,3d) automatic removal of subscriptions occurs on all DSS instances. +4. *DELETE Subscription:* Tests must demonstrate that a subscription can be (DSS0130,A2-6-1,4a) deleted on any DSS instance and (DSS0130,A2-6-1,4b) the deletion is reflected on all other DSS instances. +5. *GET Subscription:* (DSS0130,A2-6-1,5) Tests must demonstrate that a specific subscription can be retrieved from any DSS instance with consistent results. +6. *GET Subscriptions*: (DSS0130,A2-6-1,6) Tests must demonstrate that the complete set of subscriptions in an area for a Net-RID Display Provider can be retrieved from any DSS instance with consistent results. ### Test Environment Requirements diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v22a/display_provider.md b/monitoring/uss_qualifier/requirements/astm/f3411/v22a/display_provider.md index ecbbfe4c2b..ad9dad94e6 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v22a/display_provider.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v22a/display_provider.md @@ -30,7 +30,7 @@ This file describes the set of ASTM F3411-22a requirements with which a USS fulf * **astm.f3411.v22a.NET0440** * **astm.f3411.v22a.NET0450** * **astm.f3411.v22a.NET0460** -* **astm.f3411.v22a.NET0470** +* NET0470 is not included in this list because the Display Application may not request any particular enumerated data field. * **astm.f3411.v22a.NET0480** * **astm.f3411.v22a.NET0490** diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v22a/dss_provider.md b/monitoring/uss_qualifier/requirements/astm/f3411/v22a/dss_provider.md index 459b5efe52..ea81f8c0a6 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v22a/dss_provider.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v22a/dss_provider.md @@ -8,7 +8,13 @@ This file describes the set of ASTM F3411-22a requirements with which a USS prov * **astm.f3411.v22a.DSS0010** * **astm.f3411.v22a.DSS0020** -* **astm.f3411.v22a.DSS0030** +* DSS0030 + * **astm.f3411.v22a.DSS0030,a** + * **astm.f3411.v22a.DSS0030,b** + * **astm.f3411.v22a.DSS0030,c** + * **astm.f3411.v22a.DSS0030,d** + * **astm.f3411.v22a.DSS0030,e** + * **astm.f3411.v22a.DSS0030,f** * **astm.f3411.v22a.DSS0040** * **astm.f3411.v22a.DSS0050** * **astm.f3411.v22a.DSS0060** @@ -18,30 +24,33 @@ This file describes the set of ASTM F3411-22a requirements with which a USS prov * **astm.f3411.v22a.DSS0110** * **astm.f3411.v22a.DSS0120** -* **astm.f3411.v22a.DSS0130** +* DSS0130 + * **astm.f3411.v22a.DSS0130,1** * **astm.f3411.v22a.DSS0130,2,a** * **astm.f3411.v22a.DSS0130,2,b** * **astm.f3411.v22a.DSS0130,2,c** * **astm.f3411.v22a.DSS0130,2,d** + * **astm.f3411.v22a.DSS0130,2,e** * **astm.f3411.v22a.DSS0130,2,f** * **astm.f3411.v22a.DSS0130,3,a** * **astm.f3411.v22a.DSS0130,3,b** * **astm.f3411.v22a.DSS0130,3,c** * **astm.f3411.v22a.DSS0130,3,d** - * **astm.f3411.v22a.A2-6-1,1a** - * **astm.f3411.v22a.A2-6-1,1b** - * **astm.f3411.v22a.A2-6-1,1c** - * **astm.f3411.v22a.A2-6-1,1d** - * **astm.f3411.v22a.A2-6-1,2a** - * **astm.f3411.v22a.A2-6-1,2b** - * **astm.f3411.v22a.A2-6-1,3a** - * **astm.f3411.v22a.A2-6-1,3b** - * **astm.f3411.v22a.A2-6-1,3c** - * **astm.f3411.v22a.A2-6-1,3d** - * **astm.f3411.v22a.A2-6-1,4a** - * **astm.f3411.v22a.A2-6-1,4b** - * **astm.f3411.v22a.A2-6-1,5** - * **astm.f3411.v22a.A2-6-1,6** + * **astm.f3411.v22a.DSS0130,3,e** + * **astm.f3411.v22a.DSS0130,A2-6-1,1a** + * **astm.f3411.v22a.DSS0130,A2-6-1,1b** + * **astm.f3411.v22a.DSS0130,A2-6-1,1c** + * **astm.f3411.v22a.DSS0130,A2-6-1,1d** + * **astm.f3411.v22a.DSS0130,A2-6-1,2a** + * **astm.f3411.v22a.DSS0130,A2-6-1,2b** + * **astm.f3411.v22a.DSS0130,A2-6-1,3a** + * **astm.f3411.v22a.DSS0130,A2-6-1,3b** + * **astm.f3411.v22a.DSS0130,A2-6-1,3c** + * **astm.f3411.v22a.DSS0130,A2-6-1,3d** + * **astm.f3411.v22a.DSS0130,A2-6-1,4a** + * **astm.f3411.v22a.DSS0130,A2-6-1,4b** + * **astm.f3411.v22a.DSS0130,A2-6-1,5** + * **astm.f3411.v22a.DSS0130,A2-6-1,6** ### Test Environment Requirements diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v22a/service_provider.md b/monitoring/uss_qualifier/requirements/astm/f3411/v22a/service_provider.md index e7db297716..b6a1836e32 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v22a/service_provider.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v22a/service_provider.md @@ -22,7 +22,10 @@ All Service Provider Role requirements can be verified by automation. * **astm.f3411.v22a.NET0210** * **astm.f3411.v22a.NET0220** * **astm.f3411.v22a.NET0250** -* **astm.f3411.v22a.NET0260** +* NET0260 + * **astm.f3411.v22a.NET0260,NetSpDataResponseTime95thPercentile** + * **astm.f3411.v22a.NET0260,NetSpDataResponseTime99thPercentile** + * **astm.f3411.v22a.NET0260,NearRealTime** * **astm.f3411.v22a.NET0260,Table1,1** * **astm.f3411.v22a.NET0260,Table1,2** * **astm.f3411.v22a.NET0260,Table1,4** @@ -53,7 +56,8 @@ All Service Provider Role requirements can be verified by automation. #### USS-USS Interfaces -* **astm.f3411.v22a.NET0710** +* **astm.f3411.v22a.NET0710,1** +* **astm.f3411.v22a.NET0710,2** * **astm.f3411.v22a.NET0740** ## Additional Capabilities diff --git a/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md b/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md new file mode 100644 index 0000000000..2d8a926754 --- /dev/null +++ b/monitoring/uss_qualifier/requirements/interuss/f3411/dss_endpoints.md @@ -0,0 +1,6 @@ +# ASTM F3411 DSS endpoint requirements + +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: + +* 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. +* 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. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common/aggregate_checks.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common/aggregate_checks.py index 9edd3b416e..a284f4465e 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/common/aggregate_checks.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common/aggregate_checks.py @@ -271,9 +271,7 @@ def _sp_flights_area_times_step(self): durations = [query.response.elapsed_s for query in relevant_queries] (p95, p99) = evaluation.compute_percentiles(durations, [95, 99]) - with self.check( - "Performance for replies to requested flights in an area", [participant] - ) as check: + with self.check("95th percentile response time", [participant]) as check: if p95 > self._rid_version.sp_data_resp_percentile95_s: check.record_failed( summary=f"95th percentile of /flights?view requests is {p95} s", @@ -281,6 +279,7 @@ def _sp_flights_area_times_step(self): participants=[participant], details=f"expected less than {self._rid_version.sp_data_resp_percentile95_s} s, was {p95}", ) + with self.check("99th percentile response time", [participant]) as check: if p99 > self._rid_version.sp_data_resp_percentile99_s: check.record_failed( summary=f"99th percentile of /flights?view requests is {p99} s", diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/display_data_evaluator.py b/monitoring/uss_qualifier/scenarios/astm/netrid/display_data_evaluator.py index c64257741f..06e0206506 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/display_data_evaluator.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/display_data_evaluator.py @@ -361,7 +361,9 @@ def _evaluate_normal_observation( observed_position = mapping.observed_flight.most_recent_position injected_position = injected_telemetry.position - with self._test_scenario.check("Altitude is present") as check: + with self._test_scenario.check( + "Altitude is present", [observer.participant_id] + ) as check: if "alt" not in observed_position: check.record_failed( summary="Displayed flight is missing altitude", @@ -822,7 +824,9 @@ def _evaluate_sp_observation( # endpoints (and therefore cannot provide a callback/base URL), calling the one-time query endpoint # is currently much cleaner. If this test is applied to a DSS that does not implement the one-time # ISA query endpoint, this check can be adapted. - with self._test_scenario.check("ISA query") as check: + with self._test_scenario.check( + "ISA query", [self._dss.participant_id] + ) as check: if not sp_observation.dss_isa_query.success: check.record_failed( summary="Could not query ISAs from DSS", diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/aggregate_checks.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/aggregate_checks.md index ada4d2df92..b7ee707e73 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/aggregate_checks.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/aggregate_checks.md @@ -50,11 +50,17 @@ of the durations for the subsequent display data queries do not exceed the respe ### Performance of /flights?view requests test step -#### Performance for replies to requested flights in an area check +#### 95th percentile response time check -**[astm.f3411.v19.NET0260-a](../../../../requirements/astm/f3411/v19.md)** requires that the 95th and 99th percentiles -of the durations for the replies to requested flights in an area do not exceed the respective thresholds -`NetSpDataResponseTime95thPercentile` (1 second) and `NetSpDataResponseTime99thPercentile` (3 seconds). +**[astm.f3411.v19.NET0260,NetSpDataResponseTime95thPercentile](../../../../requirements/astm/f3411/v19.md)** requires that the 95th percentile +of the durations for the replies to requested flights in an area does not exceed the threshold +`NetSpDataResponseTime95thPercentile` (1 second). + +#### 99th percentile response time check + +**[astm.f3411.v19.NET0260,NetSpDataResponseTime99thPercentile](../../../../requirements/astm/f3411/v19.md)** requires that the 99th percentile +of the durations for the replies to requested flights in an area does not exceed the threshold +`NetSpDataResponseTime99thPercentile` (3 seconds). ## Verify https is in use test case diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_simple.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_simple.md index 7ba1e3d551..a4b081f766 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_simple.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/isa_simple.md @@ -28,15 +28,15 @@ part of the test. #### Successful ISA query check -**[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.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. +While F3411-19 does not explicitly require the implementation of a specific ISA retrieval endpoint, Annex A4 specifies the explicit format for this endpoint. If this format is not followed and the error isn't a 404, this check will fail per **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### 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](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the ISA deletion endpoint might not be met. +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,b](../../../../../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.NET0710](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the POST ISAs endpoint isn't met. +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. ## Create and check ISA test case @@ -46,7 +46,7 @@ This step attempts to query the configured DSS with the ISA provided as a resour #### ISA created check -If the ISA cannot be created, the PUT DSS endpoint in **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.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. ### Get ISA by ID test step @@ -54,14 +54,13 @@ This step attempts to retrieve the previously created ISA from the DSS. #### Successful ISA query check -If the ISA cannot be queried, the GET ISA DSS endpoint in **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** is likely not implemented correctly. +If the ISA cannot be queried, the GET ISA DSS endpoint in **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** is likely not implemented correctly. -The DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. +The DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** was not implemented correctly and this check will fail. #### ISA version match check -The DSS returns the version of the ISA in the response body. If this version does not match the version that was returned after creation, and that no modification of the ISA occurred in the meantime, **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. - +The DSS returns the version of the ISA in the response body. If this version does not match the version that was returned after creation, and that no modification of the ISA occurred in the meantime, **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** was not implemented correctly and this check will fail. ## Update and search ISA test case @@ -71,7 +70,7 @@ This step attempts to update the configured DSS with the ISA provided as a resou #### ISA updated check -If the ISA cannot be updated, the PUT DSS endpoint in **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** is likely not implemented correctly. +If the ISA cannot be updated, the PUT DSS endpoint in **[astm.f3411.v19.DSS0030,a](../../../../../requirements/astm/f3411/v19.md)** is likely not implemented correctly. ### Get ISA by ID test step @@ -79,13 +78,13 @@ This step attempts to retrieve at the DSS the ISA just updated. #### Successful ISA query check -If the ISA cannot be queried, the GET ISA DSS endpoint in **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** is likely not implemented correctly. +If the ISA cannot be queried, the GET ISA DSS endpoint in **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** is likely not implemented correctly. -The DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. +The DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** was not implemented correctly and this check will fail. #### ISA version match check -The DSS returns the version of the ISA in the response body. If this version does not match the version that was returned after update, and that no modification of the ISA occurred in the meantime, **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. +The DSS returns the version of the ISA in the response body. If this version does not match the version that was returned after update, and that no modification of the ISA occurred in the meantime, **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** was not implemented correctly and this check will fail. ### [Search by earliest time (included) test step](test_steps/search_isas.md) @@ -93,11 +92,11 @@ This step attempts an ISA search at the DSS with the area of the ISA resource an #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA returned by search check -The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail. ### [Search by earliest time (excluded) test step](test_steps/search_isas.md) @@ -105,11 +104,11 @@ This step attempts an ISA search at the DSS with the area of the ISA resource an #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA not returned by search check -The ISA search are parameter cover the resource ISA but the earliest time does not, as such the resource ISA that exists at the DSS should not be returned by the search. If it is returned, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search are parameter cover the resource ISA but the earliest time does not, as such the resource ISA that exists at the DSS should not be returned by the search. If it is returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### [Search by latest time (included) test step](test_steps/search_isas.md) @@ -117,11 +116,11 @@ This step attempts an ISA search at the DSS with the area of the ISA resource an #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA returned by search check -The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### [Search by latest time (excluded) test step](test_steps/search_isas.md) @@ -129,11 +128,11 @@ This step attempts an ISA search at the DSS with the area of the ISA resource an #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA not returned by search check -The ISA search are parameter cover the resource ISA but the latest time does not, as such the resource ISA that exists at the DSS should not be returned by the search. If it is returned, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search are parameter cover the resource ISA but the latest time does not, as such the resource ISA that exists at the DSS should not be returned by the search. If it is returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### [Search by area only test step](test_steps/search_isas.md) @@ -141,11 +140,11 @@ This step attempts an ISA search at the DSS with only the area of the ISA resour #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA returned by search check -The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### Search with invalid params test step @@ -153,7 +152,7 @@ This step attempts an ISA search at the DSS with an empty search area. #### Search request rejected check -The search request contained invalid parameters (empty search area), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The search request contained invalid parameters (empty search area), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### Search by huge area test step @@ -161,7 +160,7 @@ This step attempts an ISA search at the DSS with a too large search area. #### Search request rejected check -The search request contained invalid parameters (too large search area), as such the DSS should reject it with a 413 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The search request contained invalid parameters (too large search area), as such the DSS should reject it with a 413 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### Search ISA with loop test step @@ -169,8 +168,7 @@ This step attempts an ISA search at the DSS with a polygon defining the area tha #### Search request rejected check -The search request contained invalid parameters (area polygon is a loop, which is not allowed), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. - +The search request contained invalid parameters (area polygon is a loop, which is not allowed), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ## Delete ISA test case @@ -180,7 +178,7 @@ This step attempts an ISA deletion with a wrong version. #### Delete request rejected check -The deletion request contained invalid parameters (wrong version), as such the DSS should reject it with a 409 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The deletion request contained invalid parameters (wrong version), as such the DSS should reject it with a 409 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v19.DSS0030,b](../../../../../requirements/astm/f3411/v19.md)**. ### Delete with empty version test step @@ -188,7 +186,7 @@ This step attempts an ISA deletion with an empty version. #### Delete request rejected check -The deletion request contained invalid parameters (empty version), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The deletion request contained invalid parameters (empty version), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v19.DSS0030,b](../../../../../requirements/astm/f3411/v19.md)**. ### [Delete ISA test step](test_steps/delete_isa.md) @@ -196,7 +194,7 @@ This step attempts an ISA deletion at the DSS. #### ISA deleted check -If the ISA cannot be deleted, the PUT DSS endpoint in **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** is likely not implemented correctly. +If the ISA cannot be deleted, the PUT DSS endpoint in **[astm.f3411.v19.DSS0030,b](../../../../../requirements/astm/f3411/v19.md)** is likely not implemented correctly. ### Get deleted ISA by ID test step @@ -204,7 +202,7 @@ This step attempts to retrieve at the DSS the ISA just deleted. #### ISA not found check -The ISA fetch request was about a deleted ISA, as such the DSS should reject it with a 404 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA fetch request was about a deleted ISA, as such the DSS should reject it with a 404 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### [Search ISA test step](test_steps/search_isas.md) @@ -212,12 +210,11 @@ This step attempts an ISA search at the DSS with only the area of the ISA resour #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA not returned by search check -The ISA search are parameter cover the resource ISA, but it has been previously deleted, as such the ISA should not be returned by the search. If it is returned, this check will fail as per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. - +The ISA search are parameter cover the resource ISA, but it has been previously deleted, as such the ISA should not be returned by the search. If it is returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ## Cleanup @@ -225,11 +222,11 @@ The cleanup phase of this test scenario attempts to remove the ISA if the test e ### Successful ISA query check -**[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.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. +**[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 still present in the DSS, it needs to be removed before exiting the test. If that ISA cannot be deleted, then the **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the ISA deletion endpoint might not be met. +If an ISA with the intended ID is still present in the DSS, it needs to be removed before exiting the test. If that ISA cannot be deleted, then the **[astm.f3411.v19.DSS0030,b](../../../../../requirements/astm/f3411/v19.md)** requirement to implement the ISA deletion endpoint might not be met. ### Notified subscriber check diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/subscription_validation.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/subscription_validation.md index 865410114f..7b987cc193 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/subscription_validation.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/subscription_validation.md @@ -26,11 +26,11 @@ This step ensures that we remove any subscription that may already exist for the #### Successful subscription query check -If the query for subscriptions fails, the "GET Subscriptions" portion of **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not met. +If the query for subscriptions fails, **[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** was not met. #### Successful subscription deletion -If the deletion attempt fails, the "DELETE Subscription" portion of **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not met. +If the deletion attempt fails, **[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** was not met. ## Subscription quantity limitations test case @@ -40,7 +40,7 @@ The test will attempt to create 10 identical subscriptions for the same area and #### Create up to the maximum allowed number of subscriptions in an area check -As per **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**, the DSS API is expected to allow us +As per **[astm.f3411.v19.DSS0030,c](../../../../../requirements/astm/f3411/v19.md)**, the DSS API is expected to allow us to create multiple subscriptions. ### Exceed maximum number of subscriptions test step @@ -58,11 +58,11 @@ Clean up any subscriptions created. #### Successful subscription query check -If the query for subscriptions fails, the "GET Subscriptions" portion of **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not met. +If the query for subscriptions fails, **[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** was not met. #### Successful subscription deletion check -If the deletion attempt fails, the "DELETE Subscription" portion of **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not met. +If the deletion attempt fails, **[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** was not met. ## Subscription duration limitations test case @@ -83,7 +83,7 @@ expecting this update to fail. #### Valid subscription created check -The ability to create a valid subscription is required in **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ability to create a valid subscription is required in **[astm.f3411.v19.DSS0030,c](../../../../../requirements/astm/f3411/v19.md)**. #### Subscription duration limited during update check @@ -95,7 +95,7 @@ To clean up after itself, the test deletes the subscription created in the previ #### Subscription deleted check -The ability to delete an existing subscription is required in **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)**. +The ability to delete an existing subscription is required in **[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)**. ## Cleanup @@ -103,8 +103,8 @@ The cleanup phase of this test scenario will remove any subscription that may ha ### Successful subscription query check -If the query for subscriptions fails, the "GET Subscriptions" portion of **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not met. +If the query for subscriptions fails, the "GET Subscriptions" portion of **[astm.f3411.v19.DSS0030,f](../../../../../requirements/astm/f3411/v19.md)** was not met. ### Successful subscription deletion -If the deletion attempt fails, the "DELETE Subscription" portion of **[astm.f3411.v19.DSS0030](../../../../../requirements/astm/f3411/v19.md)** was not met. +If the deletion attempt fails, the "DELETE Subscription" portion of **[astm.f3411.v19.DSS0030,d](../../../../../requirements/astm/f3411/v19.md)** was not met. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/delete_isa.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/delete_isa.md index dc24be0f0c..3047262f19 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/delete_isa.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/delete_isa.md @@ -5,12 +5,12 @@ See `DSSWrapper.del_isa` in [`dss_wrapper.py`](../../../dss_wrapper.py). ## ISA response format check -The API for **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. +The API for **[astm.f3411.v19.DSS0030,b](../../../../../../requirements/astm/f3411/v19.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. ## ISA ID matches check -When the ISA is deleted, the DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. +When the ISA is deleted, the DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v19.DSS0030,b](../../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. ## ISA version matches check -When the ISA is deleted, the DSS returns the version of the ISA in the response body. If this version does not match the version in the resource path, **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. +When the ISA is deleted, the DSS returns the version of the ISA in the response body. If this version does not match the version in the resource path, **[astm.f3411.v19.DSS0030,b](../../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/put_isa.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/put_isa.md index cddd227af7..57bd29e228 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/put_isa.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/put_isa.md @@ -5,19 +5,19 @@ See `DSSWrapper.put_isa` in [`dss_wrapper.py`](../../../dss_wrapper.py). ## ISA response code check -The API for **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** specifies that the code of successful DSS responses is 200. While tolerated in some cases, if the DSS responds with an HTTP code 201 for success, this check will fail with a low severity. +The API for **[astm.f3411.v19.DSS0030,a](../../../../../../requirements/astm/f3411/v19.md)** specifies that the code of successful DSS responses is 200. While tolerated in some cases, if the DSS responds with an HTTP code 201 for success, this check will fail with a low severity. ## ISA response format check -The API for **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. +The API for **[astm.f3411.v19.DSS0030,a](../../../../../../requirements/astm/f3411/v19.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. ## ISA ID matches check -When the ISA is created, the DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. +When the ISA is created, the DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v19.DSS0030,a](../../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. ## ISA version changed check -When the ISA is updated, the DSS returns the updated version of the ISA in the response body. If this version remains the same as the one before the update, **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. +When the ISA is updated, the DSS returns the updated version of the ISA in the response body. If this version remains the same as the one before the update, **[astm.f3411.v19.DSS0030,a](../../../../../../requirements/astm/f3411/v19.md)** was not implemented correctly and this check will fail. ## ISA version format check @@ -25,12 +25,12 @@ Because the ISA version must be used in URLs, it must be URL-safe even though th ## ISA start time matches check -The ISA creation request specified an exact start time slightly past now, so the DSS should have created an ISA starting at exactly that time. If the DSS response indicates the ISA start time is not this value, **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** is not implemented correctly and this check will fail. +The ISA creation request specified an exact start time slightly past now, so the DSS should have created an ISA starting at exactly that time. If the DSS response indicates the ISA start time is not this value, **[astm.f3411.v19.DSS0030,a](../../../../../../requirements/astm/f3411/v19.md)** is not implemented correctly and this check will fail. ## ISA end time matches check -The ISA creation request specified an exact end time, so the DSS should have created an ISA ending at exactly that time. If the DSS response indicates the ISA end time is not this value, **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** is not implemented correctly and this check will fail. +The ISA creation request specified an exact end time, so the DSS should have created an ISA ending at exactly that time. If the DSS response indicates the ISA end time is not this value, **[astm.f3411.v19.DSS0030,a](../../../../../../requirements/astm/f3411/v19.md)** is not implemented correctly and this check will fail. ## ISA URL matches check -When the ISA is created, the DSS returns the URL of the ISA in the response body. If this URL does not match the URL requested, **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** is not implemented correctly and this check will fail. +When the ISA is created, the DSS returns the URL of the ISA in the response body. If this URL does not match the URL requested, **[astm.f3411.v19.DSS0030,a](../../../../../../requirements/astm/f3411/v19.md)** is not implemented correctly and this check will fail. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/search_isas.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/search_isas.md index f1cfb958ce..0103964533 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/search_isas.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss/test_steps/search_isas.md @@ -5,4 +5,4 @@ See `DSSWrapper.search_isa` in [`dss_wrapper.py`](../../../dss_wrapper.py). ## ISAs search response format check -The API for **[astm.f3411.v19.DSS0030](../../../../../../requirements/astm/f3411/v19.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. +While F3411-19 does not explicitly require the implementation of the ISA search endpoint, Annex A4 specifies the explicit format for this endpoint. If this format is not followed, this check will fail per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../../requirements/interuss/f3411/dss_endpoints.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss_interoperability.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss_interoperability.md index 1cd0a31eb1..ed3aa4be6e 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss_interoperability.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss_interoperability.md @@ -64,7 +64,7 @@ Qualitatively proves: Can create ISA in primary DSS #### ISA[*P*] created with proper response check -**[astm.f3411.v19.A2-6-1,1a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,1a](../../../../requirements/astm/f3411/v19.md)** ### S2 test step @@ -74,11 +74,12 @@ Qualitatively proves: Can create Subscription in primary DSS, ISA accessible fro #### Subscription[*n*] created with proper response check -**[astm.f3411.v19.A2-6-1,3a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3a](../../../../requirements/astm/f3411/v19.md)** #### service_areas includes ISA from S1 check -**[astm.f3411.v19.A2-6-1,1c](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,1c](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,3,e](../../../../requirements/astm/f3411/v19.md)** #### ID of ISA from S1 is properly synchronized with all DSS check @@ -104,7 +105,7 @@ Qualitatively proves: Can retrieve specific Subscription emplaced in primary DSS #### Subscription[*P*] returned with proper response check -**[astm.f3411.v19.A2-6-1,5](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,5](../../../../requirements/astm/f3411/v19.md)** **[astm.f3411.v19.DSS0070](../../../../requirements/astm/f3411/v19.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -136,7 +137,7 @@ Qualitatively proves: All Subscription[i] 1≤i≤n are returned in subscription #### Can query all Subscriptions in area from all DSSs check -**[astm.f3411.v19.A2-6-1,6](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,6](../../../../requirements/astm/f3411/v19.md)** **[astm.f3411.v19.DSS0070](../../../../requirements/astm/f3411/v19.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -148,17 +149,17 @@ Qualitatively proves: ISA[*P*] modified with proper response, all Subscription[i #### Can get ISA from primary DSS check -**[astm.f3411.v19.DSS0130](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,3,a](../../../../requirements/astm/f3411/v19.md)** #### Can modify ISA in primary DSS check -**[astm.f3411.v19.A2-6-1,1b](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,1b](../../../../requirements/astm/f3411/v19.md)** #### ISA modification triggers subscription notification requests check TODO: Implement -**[astm.f3411.v19.A2-6-1,3c](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3c](../../../../requirements/astm/f3411/v19.md)** ### S6 test step @@ -168,7 +169,7 @@ Qualitatively proves: Can delete Subscriptions in primary DSS #### Subscription[*n*] deleted with proper response check -**[astm.f3411.v19.A2-6-1,4a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,4a](../../../../requirements/astm/f3411/v19.md)** ### S7 test step @@ -178,7 +179,7 @@ Qualitatively proves: Subscription deletion from ID index was effective from pri #### 404 with proper response check -**[astm.f3411.v19.A2-6-1,4b](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,4b](../../../../requirements/astm/f3411/v19.md)** **[astm.f3411.v19.DSS0070](../../../../requirements/astm/f3411/v19.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -190,11 +191,11 @@ Qualitatively proves: Subscription deletion from geographic index was effective #### Subscriptions queried successfully check -**[astm.f3411.v19.A2-6-1,6](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,6](../../../../requirements/astm/f3411/v19.md)** #### No Subscription[i] 1≤i≤n returned with proper response check -**[astm.f3411.v19.A2-6-1,4b](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,4b](../../../../requirements/astm/f3411/v19.md)** **[astm.f3411.v19.DSS0070](../../../../requirements/astm/f3411/v19.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -206,11 +207,11 @@ Qualitatively proves: Expired ISA automatically removed, ISA modifications acces #### Subscription[*n*] created with proper response check -**[astm.f3411.v19.A2-6-1,1c](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,1c](../../../../requirements/astm/f3411/v19.md)** #### service_areas does not include ISA from S1 check -**[astm.f3411.v19.A2-6-1,1d](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,1d](../../../../requirements/astm/f3411/v19.md)** **[astm.f3411.v19.DSS0070](../../../../requirements/astm/f3411/v19.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -222,11 +223,11 @@ Qualitatively proves: ISA creation triggers subscription notification requests #### ISA[*P*] created with proper response check -**[astm.f3411.v19.A2-6-1,1a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,1a](../../../../requirements/astm/f3411/v19.md)** #### All Subscription[i] 1≤i≤n returned in subscribers check -**[astm.f3411.v19.A2-6-1,3b](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3b](../../../../requirements/astm/f3411/v19.md)** ### [S11 test step](dss/test_steps/delete_isa.md) @@ -236,11 +237,11 @@ Qualitatively proves: ISA deletion triggers subscription notification requests #### ISA[*P*] deleted with proper response check -**[astm.f3411.v19.A2-6-1,2a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,2a](../../../../requirements/astm/f3411/v19.md)** #### All Subscription[i] 1≤i≤n returned in subscribers check -**[astm.f3411.v19.A2-6-1,3c](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3c](../../../../requirements/astm/f3411/v19.md)** ### [S12 test step](dss/test_steps/put_isa.md) @@ -250,11 +251,11 @@ Qualitatively proves: Expired Subscriptions don’t trigger subscription notific #### ISA[*P*] created with proper response check -**[astm.f3411.v19.A2-6-1,1a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,1a](../../../../requirements/astm/f3411/v19.md)** #### None of Subscription[i] 1≤i≤n returned in subscribers check -**[astm.f3411.v19.A2-6-1,3d](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3d](../../../../requirements/astm/f3411/v19.md)** ### S13 test step @@ -264,11 +265,11 @@ Qualitatively proves: Expired Subscription removed from geographic index on prim #### Subscriptions queried successfully check -**[astm.f3411.v19.A2-6-1,6](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,6](../../../../requirements/astm/f3411/v19.md)** #### No Subscription[i] 1≤i≤n returned with proper response check -**[astm.f3411.v19.A2-6-1,3d](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3d](../../../../requirements/astm/f3411/v19.md)** **[astm.f3411.v19.DSS0070](../../../../requirements/astm/f3411/v19.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -282,7 +283,7 @@ Qualitatively proves: Expired Subscription removed from ID index on primary DSS TODO: Investigate expected behavior and "404 with proper response" check -**[astm.f3411.v19.A2-6-1,3d](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3d](../../../../requirements/astm/f3411/v19.md)** ### [S15 test step](dss/test_steps/delete_isa.md) @@ -292,11 +293,11 @@ Qualitatively proves: ISA deletion does not trigger subscription notification re #### ISA[*P*] deleted with proper response check -**[astm.f3411.v19.A2-6-1,2a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,2a](../../../../requirements/astm/f3411/v19.md)** #### None of Subscription[i] 1≤i≤n returned in subscribers with proper response check -**[astm.f3411.v19.A2-6-1,3d](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3d](../../../../requirements/astm/f3411/v19.md)** ### S16 test step @@ -306,11 +307,11 @@ Qualitatively proves: Deleted ISA removed from all DSSs #### Subscription[*n*] created with proper response check -**[astm.f3411.v19.A2-6-1,3a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,3a](../../../../requirements/astm/f3411/v19.md)** #### service_areas does not include ISA from S12 check -**[astm.f3411.v19.A2-6-1,2b](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,2b](../../../../requirements/astm/f3411/v19.md)** **[astm.f3411.v19.DSS0070](../../../../requirements/astm/f3411/v19.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -320,7 +321,7 @@ Action: USS2@DSS*P*: DELETE Subscription[*n*] #### Subscription[*n*] deleted with proper response check -**[astm.f3411.v19.A2-6-1,4a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,4a](../../../../requirements/astm/f3411/v19.md)** ## Cleanup @@ -328,8 +329,8 @@ Any entities (ISAs or Subscriptions) not deleted normally will be deleted here. ### ISA deleted with proper response check -**[astm.f3411.v19.A2-6-1,2a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,2a](../../../../requirements/astm/f3411/v19.md)** ### Subscription deleted with proper response check -**[astm.f3411.v19.A2-6-1,4a](../../../../requirements/astm/f3411/v19.md)** +**[astm.f3411.v19.DSS0130,A2-6-1,4a](../../../../requirements/astm/f3411/v19.md)** diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md index a71c94ea9e..c39e680f2d 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md @@ -66,11 +66,11 @@ This implies that any recent position outside the area must be either preceded o #### Flights data format check -**[astm.f3411.v19.NET0710](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.NET0340](../../../../requirements/astm/f3411/v19.md)** require a Service Provider to implement the P2P portion of the OpenAPI specification. This check will fail if the response to the /flights endpoint does not validate against the OpenAPI-specified schema. +**[astm.f3411.v19.NET0710,1](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.NET0340](../../../../requirements/astm/f3411/v19.md)** require a Service Provider to implement the P2P portion of the OpenAPI specification. This check will fail if the response to the /flights endpoint does not validate against the OpenAPI-specified schema. #### ISA query check -**[astm.f3411.v19.DSS0030](../../../../requirements/astm/f3411/v19.md)** requires a USS providing a DSS instance to implement the DSS endpoints of the OpenAPI specification. If uss_qualifier is unable to query the DSS for ISAs, this check will fail. +**[interuss.f3411.dss_endpoints.SearchISAs](../../../../requirements/interuss/f3411/dss_endpoints.md)** requires a USS providing a DSS instance to implement the DSS endpoints of the OpenAPI specification. If uss_qualifier is unable to query the DSS for ISAs, this check will fail. #### Premature flight check @@ -80,23 +80,25 @@ The timestamps of the injected telemetry usually start in the future. If a flig **[astm.f3411.v19.NET0610](../../../../requirements/astm/f3411/v19.md)** requires that SPs make all UAS operations discoverable over the duration of the flight plus *NetMaxNearRealTimeDataPeriod*, so each injected flight should be observable during this time. If a flight is not observed during its appropriate time period, this check will fail. -**[astm.f3411.v19.NET0710](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.NET0340](../../../../requirements/astm/f3411/v19.md)** require a Service Provider to implement the GET flights endpoint. This check will also fail if uss_qualifier cannot query that endpoint (specified in the ISA present in the DSS) successfully. +**[astm.f3411.v19.NET0710,1](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.NET0340](../../../../requirements/astm/f3411/v19.md)** require a Service Provider to implement the GET flights endpoint. This check will also fail if uss_qualifier cannot query that endpoint (specified in the ISA present in the DSS) successfully. + +The identity of flights is determined by precisely matching the known injected positions. If the flight can be found, the USS may not have met **[astm.f3411.v19.NET0260,Table1,9](../../../../requirements/astm/f3411/v19.md)** or **[astm.f3411.v19.NET0260,Table1,10](../../../../requirements/astm/f3411/v19.md)** prescribing provision of position data consistent with the common data dictionary. #### Service Provider altitude check -**[astm.f3411.v19.NET0260](../../../../requirements/astm/f3411/v19.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. Injected flight data had known altitudes, but the altitude reported by the Service Provider did not match those known altitudes. +**[astm.f3411.v19.NET0260,Table1,11](../../../../requirements/astm/f3411/v19.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. Injected flight data had known altitudes, but the altitude reported by the Service Provider did not match those known altitudes. #### Successful flight details query check -**[astm.f3411.v19.NET0710](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.NET0340](../../../../requirements/astm/f3411/v19.md)** require a Service Provider to implement the GET flight details endpoint. This check will fail if uss_qualifier cannot query that endpoint (specified in the ISA present in the DSS) successfully. +**[astm.f3411.v19.NET0710,2](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.NET0340](../../../../requirements/astm/f3411/v19.md)** require a Service Provider to implement the GET flight details endpoint. This check will fail if uss_qualifier cannot query that endpoint (specified in the ISA present in the DSS) successfully. #### Flight details data format check -**[astm.f3411.v19.NET0710](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.NET0340](../../../../requirements/astm/f3411/v19.md)** require a Service Provider to implement the P2P portion of the OpenAPI specification. This check will fail if the response to the flight details endpoint does not validate against the OpenAPI-specified schema. +**[astm.f3411.v19.NET0710,2](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.NET0340](../../../../requirements/astm/f3411/v19.md)** require a Service Provider to implement the P2P portion of the OpenAPI specification. This check will fail if the response to the flight details endpoint does not validate against the OpenAPI-specified schema. #### Lingering flight check -**[astm.f3411.v19.NET0260](../../../../requirements/astm/f3411/v19.md)** requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in the past, but an SP should preserve privacy and ensure relevancy by not sharing flights that are further in the past than this window. +**[astm.f3411.v19.NET0270](../../../../requirements/astm/f3411/v19.md)** requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in the past, but an SP should preserve privacy and ensure relevancy by not sharing flights that are further in the past than this window. #### Area too large check @@ -124,7 +126,7 @@ The timestamps of the injected telemetry usually start in the future. If a flig #### Lingering flight check -**[astm.f3411.v19.NET0260](../../../../requirements/astm/f3411/v19.md)** requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in the past, but an SP should preserve privacy and ensure relevancy by not sharing flights that are further in the past than this window. +**[astm.f3411.v19.NET0270](../../../../requirements/astm/f3411/v19.md)** requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in the past, but an SP should preserve privacy and ensure relevancy by not sharing flights that are further in the past than this window. #### Telemetry being used when present check diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/aggregate_checks.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/aggregate_checks.md index d5e721678e..8a15847f9f 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/aggregate_checks.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/aggregate_checks.md @@ -26,7 +26,7 @@ For this step, all successful display data queries made during the execution of #### Performance of /display_data/ requests check -**[astm.f3411.v22a.NET0460](../../../../requirements/astm/f3411/v22a.md) Checks that the DP response times for the +**[astm.f3411.v22a.NET0460](../../../../requirements/astm/f3411/v22a.md)** Checks that the DP response times for the Display Application's flight details requests have a p95 and p99 that are respectively below `NetDpDetailsResponse95thPercentileSeconds` (2 seconds) and `NetDpDetailsResponse99thPercentileSeconds` (6 seconds). @@ -50,11 +50,17 @@ of the durations for the subsequent display data queries do not exceed the respe ### Performance of /flights?view requests test step -#### Performance for replies to requested flights in an area check +#### 95th percentile response time check -**[astm.f3411.v22a.NET0260-a](../../../../requirements/astm/f3411/v22a.md)** requires that the 95th and 99th percentiles -of the durations for the replies to requested flights in an area do not exceed the respective thresholds -`NetSpDataResponseTime95thPercentile` (1 second) and `NetSpDataResponseTime99thPercentile` (3 seconds). +**[astm.f3411.v22a.NET0260,NetSpDataResponseTime95thPercentile](../../../../requirements/astm/f3411/v22a.md)** requires that the 95th percentile +of the durations for the replies to requested flights in an area does not exceed the threshold +`NetSpDataResponseTime95thPercentile` (1 second). + +#### 99th percentile response time check + +**[astm.f3411.v22a.NET0260,NetSpDataResponseTime99thPercentile](../../../../requirements/astm/f3411/v22a.md)** requires that the 99th percentile +of the durations for the replies to requested flights in an area does not exceed the threshold +`NetSpDataResponseTime99thPercentile` (3 seconds). ## Verify https is in use test case diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_simple.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_simple.md index 29ca35daf9..292216de32 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_simple.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/isa_simple.md @@ -28,15 +28,15 @@ part of the test. #### Successful ISA query check -**[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.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. +While F3411-22a does not explicitly require the implementation of a specific ISA retrieval endpoint, Annex A4 specifies the explicit format for this endpoint. If this format is not followed and the error isn't a 404, this check will fail per **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### 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](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the ISA deletion endpoint might not be met. +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,b](../../../../../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.NET0710](../../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../../requirements/astm/f3411/v22a.md)** requirements to implement the POST ISAs endpoint aren't met. +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)** and **[astm.f3411.v22a.NET0340](../../../../../requirements/astm/f3411/v22a.md)** requirements to implement the POST ISAs endpoint aren't met. ## Create and check ISA test case @@ -46,7 +46,7 @@ This step attempts to query the configured DSS with the ISA provided as a resour #### ISA created check -If the ISA cannot be created, the PUT DSS endpoint in **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. +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. ### Get ISA by ID test step @@ -54,14 +54,13 @@ This step attempts to retrieve the previously created ISA from the DSS. #### Successful ISA query check -If the ISA cannot be queried, the GET ISA DSS endpoint in **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. +If the ISA cannot be queried, the GET ISA DSS endpoint in **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** is likely not implemented correctly. -The DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. +The DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** was not implemented correctly and this check will fail. #### ISA version match check -The DSS returns the version of the ISA in the response body. If this version does not match the version that was returned after creation, and that no modification of the ISA occurred in the meantime, **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. - +The DSS returns the version of the ISA in the response body. If this version does not match the version that was returned after creation, and that no modification of the ISA occurred in the meantime, **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** was not implemented correctly and this check will fail. ## Update and search ISA test case @@ -71,7 +70,7 @@ This step attempts to update the configured DSS with the ISA provided as a resou #### ISA updated check -If the ISA cannot be updated, the PUT DSS endpoint in **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. +If the ISA cannot be updated, the PUT DSS endpoint in **[astm.f3411.v22a.DSS0030,a](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. ### Get ISA by ID test step @@ -79,13 +78,13 @@ This step attempts to retrieve at the DSS the ISA just updated. #### Successful ISA query check -If the ISA cannot be queried, the GET ISA DSS endpoint in **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. +If the ISA cannot be queried, the GET ISA DSS endpoint in **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** is likely not implemented correctly. -The DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. +The DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** was not implemented correctly and this check will fail. #### ISA version match check -The DSS returns the version of the ISA in the response body. If this version does not match the version that was returned after update, and that no modification of the ISA occurred in the meantime, **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. +The DSS returns the version of the ISA in the response body. If this version does not match the version that was returned after update, and that no modification of the ISA occurred in the meantime, **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)** was not implemented correctly and this check will fail. ### [Search by earliest time (included) test step](test_steps/search_isas.md) @@ -93,11 +92,11 @@ This step attempts an ISA search at the DSS with the area of the ISA resource an #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA returned by search check -The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail. ### [Search by earliest time (excluded) test step](test_steps/search_isas.md) @@ -105,11 +104,11 @@ This step attempts an ISA search at the DSS with the area of the ISA resource an #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA not returned by search check -The ISA search are parameter cover the resource ISA but the earliest time does not, as such the resource ISA that exists at the DSS should not be returned by the search. If it is returned, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search are parameter cover the resource ISA but the earliest time does not, as such the resource ISA that exists at the DSS should not be returned by the search. If it is returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### [Search by latest time (included) test step](test_steps/search_isas.md) @@ -117,11 +116,11 @@ This step attempts an ISA search at the DSS with the area of the ISA resource an #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA returned by search check -The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### [Search by latest time (excluded) test step](test_steps/search_isas.md) @@ -129,11 +128,11 @@ This step attempts an ISA search at the DSS with the area of the ISA resource an #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA not returned by search check -The ISA search are parameter cover the resource ISA but the latest time does not, as such the resource ISA that exists at the DSS should not be returned by the search. If it is returned, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search are parameter cover the resource ISA but the latest time does not, as such the resource ISA that exists at the DSS should not be returned by the search. If it is returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### [Search by area only test step](test_steps/search_isas.md) @@ -141,11 +140,11 @@ This step attempts an ISA search at the DSS with only the area of the ISA resour #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA returned by search check -The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters cover the resource ISA, as such the resource ISA that exists at the DSS should be returned by the search. If it is not returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### Search with invalid params test step @@ -153,7 +152,7 @@ This step attempts an ISA search at the DSS with an empty search area. #### Search request rejected check -The search request contained invalid parameters (empty search area), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The search request contained invalid parameters (empty search area), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### Search by huge area test step @@ -161,7 +160,7 @@ This step attempts an ISA search at the DSS with a too large search area. #### Search request rejected check -The search request contained invalid parameters (too large search area), as such the DSS should reject it with a 413 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The search request contained invalid parameters (too large search area), as such the DSS should reject it with a 413 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### Search ISA with loop test step @@ -169,8 +168,7 @@ This step attempts an ISA search at the DSS with a polygon defining the area tha #### Search request rejected check -The search request contained invalid parameters (area polygon is a loop, which is not allowed), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. - +The search request contained invalid parameters (area polygon is a loop, which is not allowed), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ## Delete ISA test case @@ -180,7 +178,7 @@ This step attempts an ISA deletion with a wrong version. #### Delete request rejected check -The deletion request contained invalid parameters (wrong version), as such the DSS should reject it with a 409 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The deletion request contained invalid parameters (wrong version), as such the DSS should reject it with a 409 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v22a.DSS0030,b](../../../../../requirements/astm/f3411/v22a.md)**. ### Delete with empty version test step @@ -188,7 +186,7 @@ This step attempts an ISA deletion with an empty version. #### Delete request rejected check -The deletion request contained invalid parameters (empty version), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The deletion request contained invalid parameters (empty version), as such the DSS should reject it with a 400 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v22a.DSS0030,b](../../../../../requirements/astm/f3411/v22a.md)**. ### [Delete ISA test step](test_steps/delete_isa.md) @@ -196,7 +194,7 @@ This step attempts an ISA deletion at the DSS. #### ISA deleted check -If the ISA cannot be deleted, the PUT DSS endpoint in **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. +If the ISA cannot be deleted, the PUT DSS endpoint in **[astm.f3411.v22a.DSS0030,b](../../../../../requirements/astm/f3411/v22a.md)** is likely not implemented correctly. ### Get deleted ISA by ID test step @@ -204,7 +202,7 @@ This step attempts to retrieve at the DSS the ISA just deleted. #### ISA not found check -The ISA fetch request was about a deleted ISA, as such the DSS should reject it with a 404 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA fetch request was about a deleted ISA, as such the DSS should reject it with a 404 HTTP code. If the DSS responds successfully to this request, or if it rejected with an incorrect HTTP code, this check will fail as per **[interuss.f3411.dss_endpoints.GetISA](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ### [Search ISA test step](test_steps/search_isas.md) @@ -212,12 +210,11 @@ This step attempts an ISA search at the DSS with only the area of the ISA resour #### Successful ISAs search check -The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ISA search parameters are valid, as such the search should be successful. If the request is not successful, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. #### ISA not returned by search check -The ISA search are parameter cover the resource ISA, but it has been previously deleted, as such the ISA should not be returned by the search. If it is returned, this check will fail as per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. - +The ISA search are parameter cover the resource ISA, but it has been previously deleted, as such the ISA should not be returned by the search. If it is returned, this check will fail as per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../requirements/interuss/f3411/dss_endpoints.md)**. ## Cleanup @@ -225,11 +222,11 @@ The cleanup phase of this test scenario attempts to remove the ISA if the test e ### Successful ISA query check -**[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.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. +**[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 still present in the DSS, it needs to be removed before exiting the test. If that ISA cannot be deleted, then the **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the ISA deletion endpoint might not be met. +If an ISA with the intended ID is still present in the DSS, it needs to be removed before exiting the test. If that ISA cannot be deleted, then the **[astm.f3411.v22a.DSS0030,b](../../../../../requirements/astm/f3411/v22a.md)** requirement to implement the ISA deletion endpoint might not be met. ### Notified subscriber check diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/subscription_validation.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/subscription_validation.md index 4d5881e62e..d92aa31975 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/subscription_validation.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/subscription_validation.md @@ -26,11 +26,11 @@ This step ensures that we remove any subscription that may already exist for the #### Successful subscription query check -If the query for subscriptions fails, the "GET Subscriptions" portion of **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not met. +If the query for subscriptions fails, **[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** was not met. #### Successful subscription deletion -If the deletion attempt fails, the "DELETE Subscription" portion of **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not met. +If the deletion attempt fails, **[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** was not met. ## Subscription quantity limitations test case @@ -40,7 +40,7 @@ The test will attempt to create 10 identical subscriptions for the same area and #### Create up to the maximum allowed number of subscriptions in an area check -As per **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**, the DSS API is expected to allow us +As per **[astm.f3411.v22a.DSS0030,c](../../../../../requirements/astm/f3411/v22a.md)**, the DSS API is expected to allow us to create multiple subscriptions. ### Exceed maximum number of subscriptions test step @@ -58,11 +58,11 @@ Clean up any subscriptions created. #### Successful subscription query check -If the query for subscriptions fails, the "GET Subscriptions" portion of **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not met. +If the query for subscriptions fails, **[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** was not met. #### Successful subscription deletion check -If the deletion attempt fails, the "DELETE Subscription" portion of **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not met. +If the deletion attempt fails, **[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** was not met. ## Subscription duration limitations test case @@ -83,7 +83,7 @@ expecting this update to fail. #### Valid subscription created check -The ability to create a valid subscription is required in **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ability to create a valid subscription is required in **[astm.f3411.v22a.DSS0030,c](../../../../../requirements/astm/f3411/v22a.md)**. #### Subscription duration limited during update check @@ -95,7 +95,7 @@ To clean up after itself, the test deletes the subscription created in the previ #### Subscription deleted check -The ability to delete an existing subscription is required in **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)**. +The ability to delete an existing subscription is required in **[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)**. ## Cleanup @@ -103,8 +103,8 @@ The cleanup phase of this test scenario will remove any subscription that may ha ### Successful subscription query check -If the query for subscriptions fails, the "GET Subscriptions" portion of **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not met. +If the query for subscriptions fails, the "GET Subscriptions" portion of **[astm.f3411.v22a.DSS0030,f](../../../../../requirements/astm/f3411/v22a.md)** was not met. ### Successful subscription deletion -If the deletion attempt fails, the "DELETE Subscription" portion of **[astm.f3411.v22a.DSS0030](../../../../../requirements/astm/f3411/v22a.md)** was not met. +If the deletion attempt fails, the "DELETE Subscription" portion of **[astm.f3411.v22a.DSS0030,d](../../../../../requirements/astm/f3411/v22a.md)** was not met. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/delete_isa.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/delete_isa.md index 85a475879e..c0c048aa21 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/delete_isa.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/delete_isa.md @@ -5,12 +5,12 @@ See `DSSWrapper.del_isa` in [`dss_wrapper.py`](../../../dss_wrapper.py). ## ISA response format check -The API for **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. +The API for **[astm.f3411.v22a.DSS0030,b](../../../../../../requirements/astm/f3411/v22a.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. ## ISA ID matches check -When the ISA is deleted, the DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. +When the ISA is deleted, the DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v22a.DSS0030,b](../../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. ## ISA version matches check -When the ISA is deleted, the DSS returns the version of the ISA in the response body. If this version does not match the version in the resource path, **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. +When the ISA is deleted, the DSS returns the version of the ISA in the response body. If this version does not match the version in the resource path, **[astm.f3411.v22a.DSS0030,b](../../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/put_isa.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/put_isa.md index 495959a7d8..aabd1b6a9c 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/put_isa.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/put_isa.md @@ -5,19 +5,19 @@ See `DSSWrapper.put_isa` in [`dss_wrapper.py`](../../../dss_wrapper.py). ## ISA response code check -The API for **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** specifies that the code of successful DSS responses is 200. While tolerated in some cases, if the DSS responds with an HTTP code 201 for success, this check will fail with a low severity. +The API for **[astm.f3411.v22a.DSS0030,a](../../../../../../requirements/astm/f3411/v22a.md)** specifies that the code of successful DSS responses is 200. While tolerated in some cases, if the DSS responds with an HTTP code 201 for success, this check will fail with a low severity. ## ISA response format check -The API for **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. +The API for **[astm.f3411.v22a.DSS0030,a](../../../../../../requirements/astm/f3411/v22a.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. ## ISA ID matches check -When the ISA is created, the DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. +When the ISA is created, the DSS returns the ID of the ISA in the response body. If this ID does not match the ID in the resource path, **[astm.f3411.v22a.DSS0030,a](../../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. ## ISA version changed check -When the ISA is updated, the DSS returns the updated version of the ISA in the response body. If this version remains the same as the one before the update, **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. +When the ISA is updated, the DSS returns the updated version of the ISA in the response body. If this version remains the same as the one before the update, **[astm.f3411.v22a.DSS0030,a](../../../../../../requirements/astm/f3411/v22a.md)** was not implemented correctly and this check will fail. ## ISA version format check @@ -25,12 +25,12 @@ Because the ISA version must be used in URLs, it must be URL-safe even though th ## ISA start time matches check -The ISA creation request specified an exact start time slightly past now, so the DSS should have created an ISA starting at exactly that time. If the DSS response indicates the ISA start time is not this value, **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** is not implemented correctly and this check will fail. +The ISA creation request specified an exact start time slightly past now, so the DSS should have created an ISA starting at exactly that time. If the DSS response indicates the ISA start time is not this value, **[astm.f3411.v22a.DSS0030,a](../../../../../../requirements/astm/f3411/v22a.md)** is not implemented correctly and this check will fail. ## ISA end time matches check -The ISA creation request specified an exact end time, so the DSS should have created an ISA ending at exactly that time. If the DSS response indicates the ISA end time is not this value, **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** is not implemented correctly and this check will fail. +The ISA creation request specified an exact end time, so the DSS should have created an ISA ending at exactly that time. If the DSS response indicates the ISA end time is not this value, **[astm.f3411.v22a.DSS0030,a](../../../../../../requirements/astm/f3411/v22a.md)** is not implemented correctly and this check will fail. ## ISA URL matches check -When the ISA is created, the DSS returns the URL of the ISA in the response body. If this URL does not match the URL requested, **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** is not implemented correctly and this check will fail. +When the ISA is created, the DSS returns the URL of the ISA in the response body. If this URL does not match the URL requested, **[astm.f3411.v22a.DSS0030,a](../../../../../../requirements/astm/f3411/v22a.md)** is not implemented correctly and this check will fail. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/search_isas.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/search_isas.md index f7d5705563..5f50e1b067 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/search_isas.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss/test_steps/search_isas.md @@ -5,4 +5,4 @@ See `DSSWrapper.search_isa` in [`dss_wrapper.py`](../../../dss_wrapper.py). ## ISAs search response format check -The API for **[astm.f3411.v22a.DSS0030](../../../../../../requirements/astm/f3411/v22a.md)** specifies an explicit format that the DSS responses must follow. If the DSS response does not validate against this format, this check will fail. +While F3411-22a does not explicitly require the implementation of the ISA search endpoint, Annex A4 specifies the explicit format for this endpoint. If this format is not followed, this check will fail per **[interuss.f3411.dss_endpoints.SearchISAs](../../../../../../requirements/interuss/f3411/dss_endpoints.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss_interoperability.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss_interoperability.md index 7b8fd80b7e..7c03d9a41c 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss_interoperability.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss_interoperability.md @@ -63,7 +63,7 @@ Qualitatively proves: Can create ISA in primary DSS #### ISA[*P*] created with proper response check -**[astm.f3411.v22a.A2-6-1,1a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,1a](../../../../requirements/astm/f3411/v22a.md)** ### S2 test step @@ -73,11 +73,12 @@ Qualitatively proves: Can create Subscription in primary DSS, ISA accessible fro #### Subscription[*n*] created with proper response check -**[astm.f3411.v22a.A2-6-1,3a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3a](../../../../requirements/astm/f3411/v22a.md)** #### service_areas includes ISA from S1 check -**[astm.f3411.v22a.A2-6-1,1c](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,1c](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,3,e](../../../../requirements/astm/f3411/v22a.md)** #### ID of ISA from S1 is properly synchronized with all DSS check @@ -103,7 +104,7 @@ Qualitatively proves: Can retrieve specific Subscription emplaced in primary DSS #### Subscription[*P*] returned with proper response check -**[astm.f3411.v22a.A2-6-1,5](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,5](../../../../requirements/astm/f3411/v22a.md)** **[astm.f3411.v22a.DSS0070](../../../../requirements/astm/f3411/v22a.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -135,7 +136,7 @@ Qualitatively proves: All Subscription[i] 1≤i≤n are returned in subscription #### Can query all Subscriptions in area from all DSSs check -**[astm.f3411.v22a.A2-6-1,6](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,6](../../../../requirements/astm/f3411/v22a.md)** **[astm.f3411.v22a.DSS0070](../../../../requirements/astm/f3411/v22a.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -147,17 +148,17 @@ Qualitatively proves: ISA[*P*] modified with proper response, all Subscription[i #### Can get ISA from primary DSS check -**[astm.f3411.v22a.DSS0130](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,3,a](../../../../requirements/astm/f3411/v22a.md)** #### Can modify ISA in primary DSS check -**[astm.f3411.v22a.A2-6-1,1b](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,1b](../../../../requirements/astm/f3411/v22a.md)** #### ISA modification triggers subscription notification requests check TODO: Implement -**[astm.f3411.v22a.A2-6-1,3c](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3c](../../../../requirements/astm/f3411/v22a.md)** ### S6 test step @@ -167,7 +168,7 @@ Qualitatively proves: Can delete Subscriptions in primary DSS #### Subscription[*n*] deleted with proper response check -**[astm.f3411.v22a.A2-6-1,4a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,4a](../../../../requirements/astm/f3411/v22a.md)** ### S7 test step @@ -177,7 +178,7 @@ Qualitatively proves: Subscription deletion from ID index was effective from pri #### 404 with proper response check -**[astm.f3411.v22a.A2-6-1,4b](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,4b](../../../../requirements/astm/f3411/v22a.md)** **[astm.f3411.v22a.DSS0070](../../../../requirements/astm/f3411/v22a.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -189,11 +190,11 @@ Qualitatively proves: Subscription deletion from geographic index was effective #### Subscriptions queried successfully check -**[astm.f3411.v22a.A2-6-1,6](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,6](../../../../requirements/astm/f3411/v22a.md)** #### No Subscription[i] 1≤i≤n returned with proper response check -**[astm.f3411.v22a.A2-6-1,4b](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,4b](../../../../requirements/astm/f3411/v22a.md)** **[astm.f3411.v22a.DSS0070](../../../../requirements/astm/f3411/v22a.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -205,11 +206,11 @@ Qualitatively proves: Expired ISA automatically removed, ISA modifications acces #### Subscription[*n*] created with proper response check -**[astm.f3411.v22a.A2-6-1,1c](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,1c](../../../../requirements/astm/f3411/v22a.md)** #### service_areas does not include ISA from S1 check -**[astm.f3411.v22a.A2-6-1,1d](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,1d](../../../../requirements/astm/f3411/v22a.md)** **[astm.f3411.v22a.DSS0070](../../../../requirements/astm/f3411/v22a.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -221,11 +222,11 @@ Qualitatively proves: ISA creation triggers subscription notification requests #### ISA[*P*] created with proper response check -**[astm.f3411.v22a.A2-6-1,1a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,1a](../../../../requirements/astm/f3411/v22a.md)** #### All Subscription[i] 1≤i≤n returned in subscribers check -**[astm.f3411.v22a.A2-6-1,3b](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3b](../../../../requirements/astm/f3411/v22a.md)** ### [S11 test step](dss/test_steps/delete_isa.md) @@ -235,11 +236,11 @@ Qualitatively proves: ISA deletion triggers subscription notification requests #### ISA[*P*] deleted with proper response check -**[astm.f3411.v22a.A2-6-1,2a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,2a](../../../../requirements/astm/f3411/v22a.md)** #### All Subscription[i] 1≤i≤n returned in subscribers check -**[astm.f3411.v22a.A2-6-1,3c](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3c](../../../../requirements/astm/f3411/v22a.md)** ### [S12 test step](dss/test_steps/put_isa.md) @@ -249,11 +250,11 @@ Qualitatively proves: Expired Subscriptions don’t trigger subscription notific #### ISA[*P*] created with proper response check -**[astm.f3411.v22a.A2-6-1,1a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,1a](../../../../requirements/astm/f3411/v22a.md)** #### None of Subscription[i] 1≤i≤n returned in subscribers check -**[astm.f3411.v22a.A2-6-1,3d](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3d](../../../../requirements/astm/f3411/v22a.md)** ### S13 test step @@ -263,11 +264,11 @@ Qualitatively proves: Expired Subscription removed from geographic index on prim #### Subscriptions queried successfully check -**[astm.f3411.v22a.A2-6-1,6](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,6](../../../../requirements/astm/f3411/v22a.md)** #### No Subscription[i] 1≤i≤n returned with proper response check -**[astm.f3411.v22a.A2-6-1,3d](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3d](../../../../requirements/astm/f3411/v22a.md)** **[astm.f3411.v22a.DSS0070](../../../../requirements/astm/f3411/v22a.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -281,7 +282,7 @@ Qualitatively proves: Expired Subscription removed from ID index on primary DSS TODO: Investigate expected behavior and "404 with proper response" check -**[astm.f3411.v22a.A2-6-1,3d](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3d](../../../../requirements/astm/f3411/v22a.md)** ### [S15 test step](dss/test_steps/delete_isa.md) @@ -291,11 +292,11 @@ Qualitatively proves: ISA deletion does not trigger subscription notification re #### ISA[*P*] deleted with proper response check -**[astm.f3411.v22a.A2-6-1,2a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,2a](../../../../requirements/astm/f3411/v22a.md)** #### None of Subscription[i] 1≤i≤n returned in subscribers with proper response check -**[astm.f3411.v22a.A2-6-1,3d](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3d](../../../../requirements/astm/f3411/v22a.md)** ### S16 test step @@ -305,11 +306,11 @@ Qualitatively proves: Deleted ISA removed from all DSSs #### Subscription[*n*] created with proper response check -**[astm.f3411.v22a.A2-6-1,3a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,3a](../../../../requirements/astm/f3411/v22a.md)** #### service_areas does not include ISA from S12 check -**[astm.f3411.v22a.A2-6-1,2b](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,2b](../../../../requirements/astm/f3411/v22a.md)** **[astm.f3411.v22a.DSS0070](../../../../requirements/astm/f3411/v22a.md)** requires that all DSS instances in a pool return the same result. This check fails if the DSS instance does not return the same result as the other DSS instances. @@ -319,7 +320,7 @@ Action: USS2@DSS*P*: DELETE Subscription[*n*] #### Subscription[*n*] deleted with proper response check -**[astm.f3411.v22a.A2-6-1,4a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,4a](../../../../requirements/astm/f3411/v22a.md)** ## Cleanup @@ -327,8 +328,8 @@ Any entities (ISAs or Subscriptions) not deleted normally will be deleted here. ### ISA deleted with proper response check -**[astm.f3411.v22a.A2-6-1,2a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,2a](../../../../requirements/astm/f3411/v22a.md)** ### Subscription deleted with proper response check -**[astm.f3411.v22a.A2-6-1,4a](../../../../requirements/astm/f3411/v22a.md)** +**[astm.f3411.v22a.DSS0130,A2-6-1,4a](../../../../requirements/astm/f3411/v22a.md)** diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/misbehavior.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/misbehavior.md index d94a021a73..5089d9d23c 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/misbehavior.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/misbehavior.md @@ -48,7 +48,7 @@ It then repeats the exact same request while omitting the credentials, and expec #### Missing credentials check -This check ensures that all requests are properly authenticated, as required by **[astm.f3411.v22a.NET0500](../../../../requirements/astm/f3411/v22a.md)**, +This check ensures that all requests are properly authenticated, as required by **[astm.f3411.v22a.NET0210](../../../../requirements/astm/f3411/v22a.md)**, and that requests for existing flights that are executed with missing or incorrect credentials fail. ## Cleanup diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/nominal_behavior.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/nominal_behavior.md index 444efe485e..4b51b1e82a 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/nominal_behavior.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/nominal_behavior.md @@ -66,11 +66,11 @@ This implies that any recent position outside the area must be either preceded o #### Flights data format check -**[astm.f3411.v22a.NET0710](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../requirements/astm/f3411/v22a.md)** requires a Service Provider to implement the P2P portion of the OpenAPI specification. This check will fail if the response to the /flights endpoint does not validate against the OpenAPI-specified schema. +**[astm.f3411.v22a.NET0710,1](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../requirements/astm/f3411/v22a.md)** requires a Service Provider to implement the P2P portion of the OpenAPI specification. This check will fail if the response to the /flights endpoint does not validate against the OpenAPI-specified schema. #### ISA query check -**[astm.f3411.v22a.DSS0030](../../../../requirements/astm/f3411/v22a.md)** requires a USS providing a DSS instance to implement the DSS endpoints of the OpenAPI specification. If uss_qualifier is unable to query the DSS for ISAs, this check will fail. +**[interuss.f3411.dss_endpoints.SearchISAs](../../../../requirements/interuss/f3411/dss_endpoints.md)** requires a USS providing a DSS instance to implement the DSS endpoints of the OpenAPI specification. If uss_qualifier is unable to query the DSS for ISAs, this check will fail. #### Premature flight check @@ -80,47 +80,49 @@ The timestamps of the injected telemetry usually start in the future. If a flig **[astm.f3411.v22a.NET0610](../../../../requirements/astm/f3411/v22a.md)** requires that SPs make all UAS operations discoverable over the duration of the flight plus *NetMaxNearRealTimeDataPeriod*, so each injected flight should be observable during this time. If a flight is not observed during its appropriate time period, this check will fail. -**[astm.f3411.v22a.NET0710](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../requirements/astm/f3411/v22a.md) require a Service Provider to implement the GET flights endpoint. This check will also fail if uss_qualifier cannot query that endpoint (specified in the ISA present in the DSS) successfully. +**[astm.f3411.v22a.NET0710,1](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../requirements/astm/f3411/v22a.md) require a Service Provider to implement the GET flights endpoint. This check will also fail if uss_qualifier cannot query that endpoint (specified in the ISA present in the DSS) successfully. + +The identity of flights is determined by precisely matching the known injected positions. If the flight can be found, the USS may not have met **[astm.f3411.v22a.NET0260,Table1,10](../../../../requirements/astm/f3411/v22a.md)** or **[astm.f3411.v22a.NET0260,Table1,11](../../../../requirements/astm/f3411/v22a.md)** prescribing provision of position data consistent with the common data dictionary. #### Service Provider altitude check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. Injected flight data had known altitudes, but the altitude reported by the Service Provider did not match those known altitudes. +**[astm.f3411.v22a.NET0260,Table1,12](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. Injected flight data had known altitudes, but the altitude reported by the Service Provider did not match those known altitudes. #### Successful flight details query check -**[astm.f3411.v22a.NET0710](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../requirements/astm/f3411/v22a.md) require a Service Provider to implement the GET flight details endpoint. This check will fail if uss_qualifier cannot query that endpoint (specified in the ISA present in the DSS) successfully. +**[astm.f3411.v22a.NET0710,2](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../requirements/astm/f3411/v22a.md) require a Service Provider to implement the GET flight details endpoint. This check will fail if uss_qualifier cannot query that endpoint (specified in the ISA present in the DSS) successfully. #### Flight details data format check -**[astm.f3411.v22a.NET0710](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../requirements/astm/f3411/v22a.md) require a Service Provider to implement the P2P portion of the OpenAPI specification. This check will fail if the response to the flight details endpoint does not validate against the OpenAPI-specified schema. +**[astm.f3411.v22a.NET0710,2](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0340](../../../../requirements/astm/f3411/v22a.md) require a Service Provider to implement the P2P portion of the OpenAPI specification. This check will fail if the response to the flight details endpoint does not validate against the OpenAPI-specified schema. #### UAS ID presence in flight details check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the UAS ID is present in the information sent by the Service Provider. (**[astm.f3411.v22a.NET0260,Table1,1](../../../../requirements/astm/f3411/v22a.md)**) +NET0260 requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the UAS ID is present in the information sent by the Service Provider. (**[astm.f3411.v22a.NET0260,Table1,1](../../../../requirements/astm/f3411/v22a.md)**) #### UAS ID (Serial Number format) consistency with Common Dictionary check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the UAS ID is in serial number format. (**[astm.f3411.v22a.NET0260,Table1,1a](../../../../requirements/astm/f3411/v22a.md)**) +NET0260 requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the UAS ID is in serial number format. (**[astm.f3411.v22a.NET0260,Table1,1a](../../../../requirements/astm/f3411/v22a.md)**) #### Operator ID consistency with Common Dictionary check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the Operator ID, if present, is expressed as ASCII text. (**[astm.f3411.v22a.NET0260,Table1,9](../../../../requirements/astm/f3411/v22a.md)**) +NET0260 requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the Operator ID, if present, is expressed as ASCII text. (**[astm.f3411.v22a.NET0260,Table1,9](../../../../requirements/astm/f3411/v22a.md)**) #### Operator Location consistency with Common Dictionary check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the Operator Latitude (**[astm.f3411.v22a.NET0260,Table1,23](../../../../requirements/astm/f3411/v22a.md)**) and Longitude (**[astm.f3411.v22a.NET0260,Table1,24](../../../../requirements/astm/f3411/v22a.md)**), if present, are valid. +NET0260 requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the Operator Latitude (**[astm.f3411.v22a.NET0260,Table1,23](../../../../requirements/astm/f3411/v22a.md)**) and Longitude (**[astm.f3411.v22a.NET0260,Table1,24](../../../../requirements/astm/f3411/v22a.md)**), if present, are valid. #### Operator Altitude consistency with Common Dictionary check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that if the Operator Altitude is based on WGS-84 height above ellipsoid (HAE) and is provided in meters. (**[astm.f3411.v22a.NET0260,Table1,25](../../../../requirements/astm/f3411/v22a.md)**) +NET0260 requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that if the Operator Altitude is based on WGS-84 height above ellipsoid (HAE) and is provided in meters. (**[astm.f3411.v22a.NET0260,Table1,25](../../../../requirements/astm/f3411/v22a.md)**) #### Operator Altitude Type consistency with Common Dictionary check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that if the Operator Altitude Type is valid, if present. (**[astm.f3411.v22a.NET0260,Table1,26](../../../../requirements/astm/f3411/v22a.md)**) +NET0260 requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that if the Operator Altitude Type is valid, if present. (**[astm.f3411.v22a.NET0260,Table1,26](../../../../requirements/astm/f3411/v22a.md)**) #### Operational Status consistency with Common Dictionary check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the Operational Status, if present, is valid. (**[astm.f3411.v22a.NET0260,Table1,7](../../../../requirements/astm/f3411/v22a.md)**) +NET0260 requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the Operational Status, if present, is valid. (**[astm.f3411.v22a.NET0260,Table1,7](../../../../requirements/astm/f3411/v22a.md)**) #### Operational Status is consistent with injected one check @@ -128,7 +130,7 @@ If the Operational status reported for an observation does not correspond to the #### Lingering flight check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in the past, but an SP should preserve privacy and ensure relevancy by not sharing flights that are further in the past than this window. +**[astm.f3411.v22a.NET0270](../../../../requirements/astm/f3411/v22a.md)** requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in the past, but an SP should preserve privacy and ensure relevancy by not sharing flights that are further in the past than this window. #### Area too large check @@ -156,7 +158,7 @@ The timestamps of the injected telemetry usually start in the future. If a flig #### Lingering flight check -**[astm.f3411.v22a.NET0260](../../../../requirements/astm/f3411/v22a.md)** requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in the past, but an SP should preserve privacy and ensure relevancy by not sharing flights that are further in the past than this window. +NET0260 requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in the past, but an SP should preserve privacy and ensure relevancy by not sharing flights that are further in the past than this window. #### Telemetry being used when present check @@ -164,7 +166,7 @@ The timestamps of the injected telemetry usually start in the future. If a flig #### Altitude is present check -Failure to report the altitude of a flight is a violation of **[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)**. +Per **[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)**, failure to report the altitude of a flight is a violation of **[astm.f3411.v22a.NET0470,Table1,12](../../../../requirements/astm/f3411/v22a.md)**. #### Correct up-to-date altitude check @@ -297,7 +299,6 @@ If the Operator Altitude contained in flight details returned by a display provi If the Operator Altitude Type contained in flight details returned by a display provider does not correspond to the injected one, the DP is not providing accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)** - ## Cleanup The cleanup phase of this test scenario attempts to remove injected data from all SPs. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/validate_not_shared_operational_intent.md b/monitoring/uss_qualifier/scenarios/astm/utm/validate_not_shared_operational_intent.md index e80962bfc2..856e6432bd 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/validate_not_shared_operational_intent.md +++ b/monitoring/uss_qualifier/scenarios/astm/utm/validate_not_shared_operational_intent.md @@ -8,8 +8,8 @@ See `OpIntentValidator.expect_not_shared()` in [test_steps.py](test_steps.py). ## DSS responses check -**astm.f3548.v21.DSS0005** +**[astm.f3548.v21.DSS0005](../../../requirements/astm/f3548/v21.md)** ## Operational intent not shared check If there are new operational intent references in the area of the flight intent, this check will fail per -**interuss.automated_testing.flight_planning.ExpectedBehavior**. +**[interuss.automated_testing.flight_planning.ExpectedBehavior](../../../requirements/interuss/automated_testing/flight_planning.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/validate_shared_operational_intent.md b/monitoring/uss_qualifier/scenarios/astm/utm/validate_shared_operational_intent.md index 249b93b094..b939ffc1ce 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/validate_shared_operational_intent.md +++ b/monitoring/uss_qualifier/scenarios/astm/utm/validate_shared_operational_intent.md @@ -4,11 +4,11 @@ This step verifies that a created flight is shared properly per ASTM F3548-21 by ## DSS responses check -**astm.f3548.v21.DSS0005** +**[astm.f3548.v21.DSS0005](../../../requirements/astm/f3548/v21.md)** ## Operational intent shared correctly check -If a reference to the operational intent for the flight is not found in the DSS, this check will fail per **astm.f3548.v21.USS0005** and **astm.f3548.v21.OPIN0025**. +If a reference to the operational intent for the flight is not found in the DSS, this check will fail per **[astm.f3548.v21.USS0005](../../../requirements/astm/f3548/v21.md)** and **[astm.f3548.v21.OPIN0025](../../../requirements/astm/f3548/v21.md)**. ## Operational intent for active flight not deleted check @@ -18,20 +18,20 @@ fail per **[interuss.automated_testing.flight_planning.FlightCoveredByOperationa ## Operational intent details retrievable check -If the operational intent details for the flight cannot be retrieved from the USS, this check will fail per **astm.f3548.v21.USS0105** and **astm.f3548.v21.OPIN0025**. +If the operational intent details for the flight cannot be retrieved from the USS, this check will fail per **[astm.f3548.v21.USS0105](../../../requirements/astm/f3548/v21.md)** and **[astm.f3548.v21.OPIN0025](../../../requirements/astm/f3548/v21.md)**. ## Operational intent details data format check -If the operational intent details response does not validate against [the GetOperationalIntentDetailsResponse schema of the OpenAPI specification](https://github.com/astm-utm/Protocol/blob/v1.0.0/utm.yaml#L1120), this check fill fail per **astm.f3548.v21.USS0105**. +If the operational intent details response does not validate against [the GetOperationalIntentDetailsResponse schema of the OpenAPI specification](https://github.com/astm-utm/Protocol/blob/v1.0.0/utm.yaml#L1120), this check fill fail per **[astm.f3548.v21.USS0105](../../../requirements/astm/f3548/v21.md)**. ## Correct operational intent details check -If the operational intent details reported by the USS do not match the user's flight intent, this check will fail per **interuss.automated_testing.flight_planning.ExpectedBehavior** and **astm.f3548.v21.OPIN0025**. +If the operational intent details reported by the USS do not match the user's flight intent, this check will fail per **[interuss.automated_testing.flight_planning.ExpectedBehavior](../../../requirements/interuss/automated_testing/flight_planning.md)** and **[astm.f3548.v21.OPIN0025](../../../requirements/astm/f3548/v21.md)**. ## Off-nominal volumes check -**astm.f3548.v21.OPIN0015** specifies that nominal operational intents (Accepted and Activated) must not include any off-nominal 4D volumes, so this check will fail if an Accepted or Activated operational intent includes off-nominal volumes. +**[astm.f3548.v21.OPIN0015](../../../requirements/astm/f3548/v21.md)** specifies that nominal operational intents (Accepted and Activated) must not include any off-nominal 4D volumes, so this check will fail if an Accepted or Activated operational intent includes off-nominal volumes. ## Vertices check -**astm.f3548.v21.OPIN0020** +**[astm.f3548.v21.OPIN0020](../../../requirements/astm/f3548/v21.md)** diff --git a/monitoring/uss_qualifier/scenarios/documentation/autoformat.py b/monitoring/uss_qualifier/scenarios/documentation/autoformat.py index 9bdb02511c..d96360aa7c 100644 --- a/monitoring/uss_qualifier/scenarios/documentation/autoformat.py +++ b/monitoring/uss_qualifier/scenarios/documentation/autoformat.py @@ -1,5 +1,5 @@ import os -from typing import Iterable, Dict +from typing import Iterable, Dict, List import marko.block import marko.element @@ -10,6 +10,7 @@ from monitoring.uss_qualifier.requirements.documentation import RequirementID from monitoring.uss_qualifier.scenarios.documentation.parsing import ( get_documentation_filename, + TEST_STEP_SUFFIX, ) from monitoring.uss_qualifier.scenarios.scenario import TestScenarioType @@ -24,17 +25,31 @@ def format_scenario_documentation( different from what it currently contains). """ new_versions: Dict[str, str] = {} + to_check = [] for test_scenario in test_scenarios: - md = marko.Markdown(renderer=MarkdownRenderer) - # Load the .md file if it exists doc_filename = get_documentation_filename(test_scenario) if not os.path.exists(doc_filename): continue + to_check.append(doc_filename) + + checked = set() + while to_check: + # Pick the next documentation file to check + doc_filename = to_check.pop(0) + if doc_filename in checked: + continue + checked.add(doc_filename) + + # Load the .md file if it exists with open(doc_filename, "r") as f: original = f.read() + md = marko.Markdown(renderer=MarkdownRenderer) doc = md.parse(original) original = md.render(doc) + linked_test_steps = _enumerate_linked_test_steps(doc, doc_filename) + to_check.extend(linked_test_steps) + _add_requirement_links(doc, doc_filename) # Return the formatted version @@ -94,3 +109,26 @@ def _add_requirement_links(parent: marko.element.Element, doc_path: str) -> None ) else: _add_requirement_links(child, doc_path) + + +def _enumerate_linked_test_steps( + parent: marko.element.Element, doc_path: str +) -> List[str]: + linked_test_steps = [] + if hasattr(parent, "children") and not isinstance(parent.children, str): + for i, child in enumerate(parent.children): + if isinstance(child, str): + continue + elif ( + isinstance(child, marko.block.Heading) + and text_of(child).lower().endswith(TEST_STEP_SUFFIX) + and child.children + and isinstance(child.children[0], marko.block.inline.Link) + ): + href = child.children[0].dest + doc_dir = os.path.dirname(doc_path) + linked_path = os.path.normpath(os.path.join(doc_dir, href)) + linked_test_steps.append(linked_path) + else: + linked_test_steps.extend(_enumerate_linked_test_steps(child, doc_path)) + return linked_test_steps diff --git a/monitoring/uss_qualifier/scenarios/documentation/parsing.py b/monitoring/uss_qualifier/scenarios/documentation/parsing.py index ea9fd91e9c..c5b27dd3f7 100644 --- a/monitoring/uss_qualifier/scenarios/documentation/parsing.py +++ b/monitoring/uss_qualifier/scenarios/documentation/parsing.py @@ -9,6 +9,7 @@ from monitoring import uss_qualifier as uss_qualifier_module from monitoring.monitorlib.inspection import fullname, get_module_object_by_name from monitoring.monitorlib.versioning import repo_url_of +from monitoring.uss_qualifier.documentation import text_of from monitoring.uss_qualifier.requirements.definitions import RequirementID from monitoring.uss_qualifier.scenarios.definitions import TestScenarioTypeName from monitoring.uss_qualifier.scenarios.documentation.definitions import ( @@ -29,29 +30,6 @@ _test_step_cache: Dict[str, TestStepDocumentation] = {} -def _text_of(value) -> str: - if isinstance(value, str): - return value - elif isinstance(value, marko.block.BlockElement): - result = "" - for child in value.children: - result += _text_of(child) - return result - elif isinstance(value, marko.inline.InlineElement): - if isinstance(value, marko.inline.LineBreak): - return "\n" - if isinstance(value.children, str): - return value.children - result = "" - for child in value.children: - result += _text_of(child) - return result - else: - raise NotImplementedError( - "Cannot yet extract raw text from {}".format(value.__class__.__name__) - ) - - def _length_of_section(values, start_of_section: int) -> int: level = values[start_of_section].level c = start_of_section + 1 @@ -65,7 +43,7 @@ def _length_of_section(values, start_of_section: int) -> int: def _parse_test_check( values, doc_filename: str, anchors: Dict[Any, str] ) -> TestCheckDocumentation: - name = _text_of(values[0])[0 : -len(TEST_CHECK_SUFFIX)] + name = text_of(values[0])[0 : -len(TEST_CHECK_SUFFIX)] url = repo_url_of(doc_filename + anchors[values[0]]) has_todo = False @@ -73,11 +51,11 @@ def _parse_test_check( c = 1 while c < len(values): if isinstance(values[c], marko.block.Paragraph): - if "TODO:" in _text_of(values[c]): + if "TODO:" in text_of(values[c]): has_todo = True for child in values[c].children: if isinstance(child, marko.inline.StrongEmphasis): - reqs.append(RequirementID(_text_of(child))) + reqs.append(RequirementID(text_of(child))) c += 1 return TestCheckDocumentation( @@ -102,7 +80,7 @@ def _get_linked_test_step( if ( not isinstance(doc.children[0], marko.block.Heading) or doc.children[0].level != 1 - or not _text_of(doc.children[0]).lower().endswith(TEST_STEP_SUFFIX) + or not text_of(doc.children[0]).lower().endswith(TEST_STEP_SUFFIX) ): raise ValueError( f'The first line of "{absolute_path}" must be a level-1 heading with the name of the test step + "{TEST_STEP_SUFFIX}" (e.g., "# Successful flight injection{TEST_STEP_SUFFIX}")' @@ -120,7 +98,7 @@ def _get_linked_test_step( def _parse_test_step( values, doc_filename: str, anchors: Dict[Any, str] ) -> TestStepDocumentation: - name = _text_of(values[0]) + name = text_of(values[0]) if name.lower().endswith(TEST_STEP_SUFFIX): name = name[0 : -len(TEST_STEP_SUFFIX)] url = repo_url_of(doc_filename + anchors[values[0]]) @@ -138,7 +116,7 @@ def _parse_test_step( c = 1 while c < len(values): if isinstance(values[c], marko.block.Heading): - if _text_of(values[c]).lower().endswith(TEST_CHECK_SUFFIX): + if text_of(values[c]).lower().endswith(TEST_CHECK_SUFFIX): # Start of a test step section dc = _length_of_section(values, c) check = _parse_test_check(values[c : c + dc + 1], doc_filename, anchors) @@ -154,7 +132,7 @@ def _parse_test_step( def _parse_test_case( values, doc_filename: str, anchors: Dict[Any, str] ) -> TestCaseDocumentation: - name = _text_of(values[0])[0 : -len(TEST_CASE_SUFFIX)] + name = text_of(values[0])[0 : -len(TEST_CASE_SUFFIX)] url = repo_url_of(doc_filename + anchors[values[0]]) @@ -162,7 +140,7 @@ def _parse_test_case( c = 1 while c < len(values): if isinstance(values[c], marko.block.Heading): - if _text_of(values[c]).lower().endswith(TEST_STEP_SUFFIX): + if text_of(values[c]).lower().endswith(TEST_STEP_SUFFIX): # Start of a test step section dc = _length_of_section(values, c) step = _parse_test_step(values[c : c + dc + 1], doc_filename, anchors) @@ -186,7 +164,7 @@ def _parse_resources(values) -> List[str]: and values[c].level == resource_level ): # This is a resource - resources.append(_text_of(values[c])) + resources.append(text_of(values[c])) c += 1 return resources @@ -203,7 +181,7 @@ def _get_anchors( anchors = {} if isinstance(value, marko.block.Heading): - base_anchor = "#" + _text_of(value).lower().replace(" ", "-") + base_anchor = "#" + text_of(value).lower().replace(" ", "-") if base_anchor not in header_counts: anchors[value] = base_anchor else: @@ -237,14 +215,14 @@ def _parse_documentation(scenario: Type) -> TestScenarioDocumentation: if ( not isinstance(doc.children[0], marko.block.Heading) or doc.children[0].level != 1 - or not _text_of(doc.children[0]).lower().endswith(TEST_SCENARIO_SUFFIX) + or not text_of(doc.children[0]).lower().endswith(TEST_SCENARIO_SUFFIX) ): raise ValueError( 'The first line of {} must be a level-1 heading with the name of the scenario + "{}" (e.g., "# ASTM NetRID nominal behavior{}")'.format( doc_filename, TEST_SCENARIO_SUFFIX, TEST_SCENARIO_SUFFIX ) ) - scenario_name = _text_of(doc.children[0])[0 : -len(TEST_SCENARIO_SUFFIX)] + scenario_name = text_of(doc.children[0])[0 : -len(TEST_SCENARIO_SUFFIX)] # Step through the document to extract important structured components test_cases: List[TestCaseDocumentation] = [] @@ -256,7 +234,7 @@ def _parse_documentation(scenario: Type) -> TestScenarioDocumentation: c += 1 continue - header_text = _text_of(doc.children[c]) + header_text = text_of(doc.children[c]) if header_text.lower().strip() == RESOURCES_HEADING: # Start of the Resources section diff --git a/monitoring/uss_qualifier/scenarios/documentation/validation.py b/monitoring/uss_qualifier/scenarios/documentation/validation.py index 4200cc3504..8681c9c387 100644 --- a/monitoring/uss_qualifier/scenarios/documentation/validation.py +++ b/monitoring/uss_qualifier/scenarios/documentation/validation.py @@ -2,6 +2,7 @@ from typing import List from monitoring.monitorlib.inspection import fullname +from monitoring.uss_qualifier.requirements.documentation import get_requirement from monitoring.uss_qualifier.scenarios.documentation.autoformat import ( format_scenario_documentation, ) @@ -17,6 +18,18 @@ def validate(test_scenarios: List[TestScenarioType]): # Verify that documentation parses docs = get_documentation(test_scenario) + # Verify that all requirements are documented + for case in docs.cases: + for step in case.steps: + for check in step.checks: + for req in check.applicable_requirements: + try: + get_requirement(req) + except ValueError as e: + raise ValueError( + f"In {fullname(test_scenario)} documentation, test case '{case.name}', test step '{step.name}', check '{check.name}': {str(e)}" + ) + # Verify that all resources are documented constructor_signature = inspect.signature(test_scenario.__init__) args = [] diff --git a/monitoring/uss_qualifier/scenarios/flight_planning/activate_flight_intent.md b/monitoring/uss_qualifier/scenarios/flight_planning/activate_flight_intent.md index 228b73f50f..025ad8c2b5 100644 --- a/monitoring/uss_qualifier/scenarios/flight_planning/activate_flight_intent.md +++ b/monitoring/uss_qualifier/scenarios/flight_planning/activate_flight_intent.md @@ -4,7 +4,7 @@ This page describes the content of a common test step where a valid user flight ## Successful activation check -All flight intent data provided is correct and valid and free of conflict in space and time, therefore it should have been activated by the USS per **interuss.automated_testing.flight_planning.ExpectedBehavior**. If the USS indicates a conflict, this check will fail. If the USS indicates that the flight was rejected, this check will fail. If the USS indicates that the injection attempt failed, this check will fail. +All flight intent data provided is correct and valid and free of conflict in space and time, therefore it should have been activated by the USS per **[interuss.automated_testing.flight_planning.ExpectedBehavior](../../requirements/interuss/automated_testing/flight_planning.md)**. If the USS indicates a conflict, this check will fail. If the USS indicates that the flight was rejected, this check will fail. If the USS indicates that the injection attempt failed, this check will fail. ## Failure check diff --git a/monitoring/uss_qualifier/scenarios/flight_planning/delete_flight_intent.md b/monitoring/uss_qualifier/scenarios/flight_planning/delete_flight_intent.md index 9391e3a7dd..e794165837 100644 --- a/monitoring/uss_qualifier/scenarios/flight_planning/delete_flight_intent.md +++ b/monitoring/uss_qualifier/scenarios/flight_planning/delete_flight_intent.md @@ -6,5 +6,5 @@ See `delete_flight_intent` in [test_steps.py](test_steps.py). ## Successful deletion check The flight ID provided is correct and corresponds to an existing flight intent, therefore it should have been deleted by -the USS per **interuss.automated_testing.flight_planning.ExpectedBehavior**. +the USS per **[interuss.automated_testing.flight_planning.ExpectedBehavior](../../requirements/interuss/automated_testing/flight_planning.md)**. If the USS indicates a failure, this check will fail. diff --git a/monitoring/uss_qualifier/scenarios/flight_planning/modify_planned_flight_intent.md b/monitoring/uss_qualifier/scenarios/flight_planning/modify_planned_flight_intent.md index 07c368557b..72764c8294 100644 --- a/monitoring/uss_qualifier/scenarios/flight_planning/modify_planned_flight_intent.md +++ b/monitoring/uss_qualifier/scenarios/flight_planning/modify_planned_flight_intent.md @@ -6,7 +6,7 @@ successfully modified by a flight planner. See `modify_planned_flight_intent` i ## Successful modification check All flight intent data provided is correct and valid and free of conflict in space and time, therefore it should have -been modified by the USS per **interuss.automated_testing.flight_planning.ExpectedBehavior**. +been modified by the USS per **[interuss.automated_testing.flight_planning.ExpectedBehavior](../../requirements/interuss/automated_testing/flight_planning.md)**. If the USS fails to modify the flight, wrongly indicates a conflict, or wrongly indicates the planned state of the flight, this check will fail. diff --git a/monitoring/uss_qualifier/scenarios/flight_planning/plan_flight_intent.md b/monitoring/uss_qualifier/scenarios/flight_planning/plan_flight_intent.md index 135877abf3..58328632bd 100644 --- a/monitoring/uss_qualifier/scenarios/flight_planning/plan_flight_intent.md +++ b/monitoring/uss_qualifier/scenarios/flight_planning/plan_flight_intent.md @@ -4,7 +4,7 @@ This page describes the content of a common test case where a valid user flight ## Successful planning check -All flight intent data provided is correct and valid and free of conflict in space and time, therefore it should have been planned by the USS per **interuss.automated_testing.flight_planning.ExpectedBehavior**. If the USS indicates a conflict, this check will fail. If the USS indicates that the flight was rejected, this check will fail. If the USS indicates that the injection attempt failed, this check will fail. +All flight intent data provided is correct and valid and free of conflict in space and time, therefore it should have been planned by the USS per **[interuss.automated_testing.flight_planning.ExpectedBehavior](../../requirements/interuss/automated_testing/flight_planning.md)**. If the USS indicates a conflict, this check will fail. If the USS indicates that the flight was rejected, this check will fail. If the USS indicates that the injection attempt failed, this check will fail. ## Failure check diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md index 4a00bf06f7..8e35702154 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md @@ -21,153 +21,173 @@ Checked in - astm
.f3411
.v19
- A2-6-1,1a + astm
.f3411
.v19
+ DSS0030,a Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1b + DSS0030,b Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1c + DSS0030,c Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1d + DSS0030,d Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2a + DSS0030,f Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2b + DSS0050 Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3a + DSS0060 Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3b + DSS0070 Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,3c - Implemented + TODO + DSS0110 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0120 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0130,2,a + Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,3d - Implemented + TODO + DSS0130,2,b + Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,4a + DSS0130,2,c Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,4b + DSS0130,2,d Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,5 + DSS0130,2,f Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,6 + DSS0130,3,a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0030 + DSS0130,3,b Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation
ASTM NetRID nominal behavior + ASTM F3411-19 NetRID DSS interoperability - DSS0050 + DSS0130,3,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-19 NetRID DSS interoperability - DSS0060 + DSS0130,3,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-19 NetRID DSS interoperability - DSS0070 + DSS0130,3,e Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0110 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1a + Implemented + ASTM F3411-19 NetRID DSS interoperability - DSS0120 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1b + Implemented + ASTM F3411-19 NetRID DSS interoperability - DSS0130 + DSS0130,A2-6-1,1c Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,a + DSS0130,A2-6-1,1d Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,b + DSS0130,A2-6-1,2a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,c + DSS0130,A2-6-1,2b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,d + DSS0130,A2-6-1,3a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,f + DSS0130,A2-6-1,3b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,a + DSS0130,A2-6-1,3c + Implemented + TODO + ASTM F3411-19 NetRID DSS interoperability + + + DSS0130,A2-6-1,3d + Implemented + TODO + ASTM F3411-19 NetRID DSS interoperability + + + DSS0130,A2-6-1,4a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,b + DSS0130,A2-6-1,4b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,c + DSS0130,A2-6-1,5 Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,d + DSS0130,A2-6-1,6 Implemented ASTM F3411-19 NetRID DSS interoperability @@ -197,15 +217,30 @@ ASTM F3411-19 NetRID aggregate checks - NET0260 + NET0260,NetSpDataResponseTime95thPercentile Implemented - ASTM NetRID nominal behavior + ASTM F3411-19 NetRID aggregate checks - NET0260-a + NET0260,NetSpDataResponseTime99thPercentile Implemented ASTM F3411-19 NetRID aggregate checks + + NET0260,Table1,10 + Implemented + ASTM NetRID nominal behavior + + + NET0260,Table1,11 + Implemented + ASTM NetRID nominal behavior + + + NET0260,Table1,9 + Implemented + ASTM NetRID nominal behavior + NET0270 Implemented @@ -272,9 +307,14 @@ ASTM NetRID: Operator interactions - NET0710 + NET0710,1 Implemented - ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + ASTM NetRID nominal behavior + + + NET0710,2 + Implemented + ASTM NetRID nominal behavior NET0730 @@ -313,4 +353,15 @@ Implemented ASTM NetRID nominal behavior + + interuss
.f3411
.dss_endpoints
+ GetISA + Implemented + ASTM NetRID DSS: Simple ISA + + + SearchISAs + Implemented + ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + 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 ad6777da5b..df91fcc24a 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 @@ -19,153 +19,173 @@ Checked in - astm
.f3411
.v19
- A2-6-1,1a + astm
.f3411
.v19
+ DSS0030,a Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1b + DSS0030,b Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1c + DSS0030,c Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1d + DSS0030,d Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2a + DSS0030,f Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2b + DSS0050 Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3a + DSS0060 Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3b + DSS0070 Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,3c - Implemented + TODO + DSS0110 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0120 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0130,2,a + Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,3d - Implemented + TODO + DSS0130,2,b + Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,4a + DSS0130,2,c Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,4b + DSS0130,2,d Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,5 + DSS0130,2,f Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,6 + DSS0130,3,a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0030 + DSS0130,3,b Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation + ASTM F3411-19 NetRID DSS interoperability - DSS0050 + DSS0130,3,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-19 NetRID DSS interoperability - DSS0060 + DSS0130,3,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-19 NetRID DSS interoperability - DSS0070 + DSS0130,3,e Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0110 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1a + Implemented + ASTM F3411-19 NetRID DSS interoperability - DSS0120 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1b + Implemented + ASTM F3411-19 NetRID DSS interoperability - DSS0130 + DSS0130,A2-6-1,1c Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,a + DSS0130,A2-6-1,1d Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,b + DSS0130,A2-6-1,2a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,c + DSS0130,A2-6-1,2b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,d + DSS0130,A2-6-1,3a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,f + DSS0130,A2-6-1,3b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,a + DSS0130,A2-6-1,3c + Implemented + TODO + ASTM F3411-19 NetRID DSS interoperability + + + DSS0130,A2-6-1,3d + Implemented + TODO + ASTM F3411-19 NetRID DSS interoperability + + + DSS0130,A2-6-1,4a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,b + DSS0130,A2-6-1,4b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,c + DSS0130,A2-6-1,5 Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,d + DSS0130,A2-6-1,6 Implemented ASTM F3411-19 NetRID DSS interoperability @@ -175,12 +195,18 @@ ASTM F3411-19 NetRID DSS interoperability - NET0710 + NET0730 Implemented ASTM NetRID DSS: Simple ISA - NET0730 + interuss
.f3411
.dss_endpoints
+ GetISA + Implemented + ASTM NetRID DSS: Simple ISA + + + SearchISAs Implemented ASTM NetRID DSS: Simple ISA diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19_suite1.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19_suite1.md deleted file mode 100644 index 2fe606005f..0000000000 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19_suite1.md +++ /dev/null @@ -1,34 +0,0 @@ - -# DSS instance validator test suite -Defined in [parent suite](f3411_19.md) [`suites.astm.netrid.f3411_19`](./f3411_19.yaml) - -## Actions - -1. 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)) - -## Checked requirements - - - - - - - - - - - - - - - - - - - - - - - - -
PackageRequirementStatusChecked in
astm.f3411.v22aDSS0030ImplementedASTM NetRID DSS: Subscription Validation
DSS0050ImplementedASTM NetRID DSS: Subscription Validation
DSS0060ImplementedASTM NetRID DSS: Subscription Validation
diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md index b0d5e2fbc9..5a49c85e70 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md @@ -21,153 +21,173 @@ Checked in - astm
.f3411
.v22a
- A2-6-1,1a + astm
.f3411
.v22a
+ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1b + DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1c + DSS0030,c Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1d + DSS0030,d Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2a + DSS0030,f Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2b + DSS0050 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3a + DSS0060 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3b + DSS0070 Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3c - Implemented + TODO + DSS0110 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0120 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0130,2,a + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3d - Implemented + TODO + DSS0130,2,b + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4a + DSS0130,2,c Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4b + DSS0130,2,d Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,5 + DSS0130,2,f Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,6 + DSS0130,3,a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0030 + DSS0130,3,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation
ASTM NetRID nominal behavior + ASTM F3411-22a NetRID DSS interoperability - DSS0050 + DSS0130,3,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0060 + DSS0130,3,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0070 + DSS0130,3,e Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0110 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1a + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0120 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1b + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0130 + DSS0130,A2-6-1,1c Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,a + DSS0130,A2-6-1,1d Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,b + DSS0130,A2-6-1,2a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,c + DSS0130,A2-6-1,2b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,d + DSS0130,A2-6-1,3a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,f + DSS0130,A2-6-1,3b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,a + DSS0130,A2-6-1,3c + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,3d + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,4a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,b + DSS0130,A2-6-1,4b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,c + DSS0130,A2-6-1,5 Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,d + DSS0130,A2-6-1,6 Implemented ASTM F3411-22a NetRID DSS interoperability @@ -186,6 +206,11 @@ TODO ASTM NetRID: Operator interactions + + NET0210 + Implemented + ASTM NetRID SP clients misbehavior handling + NET0220 Implemented @@ -197,15 +222,35 @@ ASTM F3411-22a NetRID aggregate checks - NET0260 + NET0260,NetSpDataResponseTime95thPercentile Implemented - ASTM NetRID nominal behavior + ASTM F3411-22a NetRID aggregate checks + + + NET0260,NetSpDataResponseTime99thPercentile + Implemented + ASTM F3411-22a NetRID aggregate checks NET0260,Table1,1 Implemented ASTM NetRID nominal behavior + + NET0260,Table1,10 + Implemented + ASTM NetRID nominal behavior + + + NET0260,Table1,11 + Implemented + ASTM NetRID nominal behavior + + + NET0260,Table1,12 + Implemented + ASTM NetRID nominal behavior + NET0260,Table1,1a Implemented @@ -241,11 +286,6 @@ Implemented ASTM NetRID nominal behavior - - NET0260-a - Implemented - ASTM F3411-22a NetRID aggregate checks - NET0270 Implemented @@ -281,6 +321,11 @@ Implemented ASTM NetRID nominal behavior + + NET0460 + Implemented + ASTM F3411-22a NetRID aggregate checks + NET0470 Implemented + TODO @@ -301,6 +346,11 @@ TODO ASTM NetRID nominal behavior + + NET0470,Table1,12 + Implemented + ASTM NetRID nominal behavior + NET0470,Table1,15 Implemented @@ -382,9 +432,14 @@ ASTM NetRID: Operator interactions - NET0710 + NET0710,1 Implemented - ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + ASTM NetRID nominal behavior + + + NET0710,2 + Implemented + ASTM NetRID nominal behavior NET0730 @@ -423,4 +478,15 @@ Implemented ASTM NetRID nominal behavior + + interuss
.f3411
.dss_endpoints
+ GetISA + Implemented + ASTM NetRID DSS: Simple ISA + + + SearchISAs + Implemented + ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + 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 409640cb84..7dc1c84258 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 @@ -19,153 +19,173 @@ Checked in - astm
.f3411
.v22a
- A2-6-1,1a + astm
.f3411
.v22a
+ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1b + DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1c + DSS0030,c Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1d + DSS0030,d Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2a + DSS0030,f Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2b + DSS0050 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3a + DSS0060 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3b + DSS0070 Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3c - Implemented + TODO + DSS0110 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0120 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0130,2,a + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3d - Implemented + TODO + DSS0130,2,b + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4a + DSS0130,2,c Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4b + DSS0130,2,d Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,5 + DSS0130,2,f Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,6 + DSS0130,3,a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0030 + DSS0130,3,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0050 + DSS0130,3,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0060 + DSS0130,3,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0070 + DSS0130,3,e Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0110 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1a + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0120 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1b + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0130 + DSS0130,A2-6-1,1c Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,a + DSS0130,A2-6-1,1d Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,b + DSS0130,A2-6-1,2a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,c + DSS0130,A2-6-1,2b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,d + DSS0130,A2-6-1,3a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,f + DSS0130,A2-6-1,3b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,a + DSS0130,A2-6-1,3c + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,3d + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,4a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,b + DSS0130,A2-6-1,4b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,c + DSS0130,A2-6-1,5 Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,d + DSS0130,A2-6-1,6 Implemented ASTM F3411-22a NetRID DSS interoperability @@ -180,12 +200,18 @@ ASTM NetRID DSS: Simple ISA - NET0710 + NET0730 Implemented ASTM NetRID DSS: Simple ISA - NET0730 + interuss
.f3411
.dss_endpoints
+ GetISA + Implemented + ASTM NetRID DSS: Simple ISA + + + SearchISAs Implemented ASTM NetRID DSS: Simple ISA diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a_suite1.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a_suite1.md deleted file mode 100644 index 0c90a2bfb6..0000000000 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a_suite1.md +++ /dev/null @@ -1,40 +0,0 @@ - -# DSS instance validator test suite -Defined in [parent suite](f3411_22a.md) [`suites.astm.netrid.f3411_22a`](./f3411_22a.yaml) - -## Actions - -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: Subscription Validation](../../../scenarios/astm/netrid/v22a/dss/subscription_validation.md) ([`scenarios.astm.netrid.v22a.dss.SubscriptionValidation`](../../../scenarios/astm/netrid/v22a/dss/subscription_validation.py)) - -## Checked requirements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageRequirementStatusChecked in
astm.f3411.v22aDSS0030ImplementedASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation
DSS0050ImplementedASTM NetRID DSS: Subscription Validation
DSS0060ImplementedASTM NetRID DSS: Subscription Validation
NET0710ImplementedASTM NetRID DSS: Simple ISA
diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index 43e85d6b57..ca27e218ba 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -19,153 +19,173 @@ Checked in - astm
.f3411
.v19
- A2-6-1,1a + astm
.f3411
.v19
+ DSS0030,a Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1b + DSS0030,b Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1c + DSS0030,c Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1d + DSS0030,d Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2a + DSS0030,f Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2b + DSS0050 Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3a + DSS0060 Implemented - ASTM F3411-19 NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3b + DSS0070 Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,3c - Implemented + TODO + DSS0110 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0120 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0130,2,a + Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,3d - Implemented + TODO + DSS0130,2,b + Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,4a + DSS0130,2,c Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,4b + DSS0130,2,d Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,5 + DSS0130,2,f Implemented ASTM F3411-19 NetRID DSS interoperability - A2-6-1,6 + DSS0130,3,a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0030 + DSS0130,3,b Implemented - ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation + ASTM F3411-19 NetRID DSS interoperability - DSS0050 + DSS0130,3,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-19 NetRID DSS interoperability - DSS0060 + DSS0130,3,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-19 NetRID DSS interoperability - DSS0070 + DSS0130,3,e Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0110 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1a + Implemented + ASTM F3411-19 NetRID DSS interoperability - DSS0120 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1b + Implemented + ASTM F3411-19 NetRID DSS interoperability - DSS0130 + DSS0130,A2-6-1,1c Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,a + DSS0130,A2-6-1,1d Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,b + DSS0130,A2-6-1,2a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,c + DSS0130,A2-6-1,2b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,d + DSS0130,A2-6-1,3a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,2,f + DSS0130,A2-6-1,3b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,a + DSS0130,A2-6-1,3c + Implemented + TODO + ASTM F3411-19 NetRID DSS interoperability + + + DSS0130,A2-6-1,3d + Implemented + TODO + ASTM F3411-19 NetRID DSS interoperability + + + DSS0130,A2-6-1,4a Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,b + DSS0130,A2-6-1,4b Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,c + DSS0130,A2-6-1,5 Implemented ASTM F3411-19 NetRID DSS interoperability - DSS0130,3,d + DSS0130,A2-6-1,6 Implemented ASTM F3411-19 NetRID DSS interoperability @@ -175,163 +195,178 @@ ASTM F3411-19 NetRID DSS interoperability - NET0710 + NET0730 Implemented ASTM NetRID DSS: Simple ISA - NET0730 + astm
.f3411
.v22a
+ DSS0030,a Implemented - ASTM NetRID DSS: Simple ISA + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - astm
.f3411
.v22a
- A2-6-1,1a + DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1b + DSS0030,c Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1c + DSS0030,d Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1d + DSS0030,f Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2a + DSS0050 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2b + DSS0060 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3a + DSS0070 Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3b + DSS0110 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0120 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0130,2,a Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3c - Implemented + TODO + DSS0130,2,b + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3d - Implemented + TODO + DSS0130,2,c + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4a + DSS0130,2,d Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4b + DSS0130,2,f Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,5 + DSS0130,3,a Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,6 + DSS0130,3,b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0030 + DSS0130,3,c Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0050 + DSS0130,3,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0060 + DSS0130,3,e Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0070 + DSS0130,A2-6-1,1a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0110 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1b + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0120 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1c + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0130 + DSS0130,A2-6-1,1d Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,a + DSS0130,A2-6-1,2a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,b + DSS0130,A2-6-1,2b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,c + DSS0130,A2-6-1,3a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,d + DSS0130,A2-6-1,3b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,f - Implemented + DSS0130,A2-6-1,3c + Implemented + TODO ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,a + DSS0130,A2-6-1,3d + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,4a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,b + DSS0130,A2-6-1,4b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,c + DSS0130,A2-6-1,5 Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,d + DSS0130,A2-6-1,6 Implemented ASTM F3411-22a NetRID DSS interoperability @@ -346,12 +381,18 @@ ASTM NetRID DSS: Simple ISA - NET0710 + NET0730 Implemented ASTM NetRID DSS: Simple ISA - NET0730 + interuss
.f3411
.dss_endpoints
+ GetISA + Implemented + ASTM NetRID DSS: Simple ISA + + + SearchISAs Implemented ASTM NetRID DSS: Simple ISA diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md index ddee175bc9..bede6c564d 100644 --- a/monitoring/uss_qualifier/suites/uspace/network_identification.md +++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md @@ -16,153 +16,173 @@ Checked in - astm
.f3411
.v22a
- A2-6-1,1a + astm
.f3411
.v22a
+ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1b + DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1c + DSS0030,c Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1d + DSS0030,d Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2a + DSS0030,f Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2b + DSS0050 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3a + DSS0060 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3b + DSS0070 Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3c - Implemented + TODO + DSS0110 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0120 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0130,2,a + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3d - Implemented + TODO + DSS0130,2,b + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4a + DSS0130,2,c Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4b + DSS0130,2,d Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,5 + DSS0130,2,f Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,6 + DSS0130,3,a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0030 + DSS0130,3,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation
ASTM NetRID nominal behavior + ASTM F3411-22a NetRID DSS interoperability - DSS0050 + DSS0130,3,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0060 + DSS0130,3,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0070 + DSS0130,3,e Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0110 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1a + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0120 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1b + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0130 + DSS0130,A2-6-1,1c Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,a + DSS0130,A2-6-1,1d Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,b + DSS0130,A2-6-1,2a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,c + DSS0130,A2-6-1,2b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,d + DSS0130,A2-6-1,3a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,f + DSS0130,A2-6-1,3b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,a + DSS0130,A2-6-1,3c + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,3d + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,4a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,b + DSS0130,A2-6-1,4b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,c + DSS0130,A2-6-1,5 Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,d + DSS0130,A2-6-1,6 Implemented ASTM F3411-22a NetRID DSS interoperability @@ -181,6 +201,11 @@ TODO ASTM NetRID: Operator interactions + + NET0210 + Implemented + ASTM NetRID SP clients misbehavior handling + NET0220 Implemented @@ -192,15 +217,35 @@ ASTM F3411-22a NetRID aggregate checks - NET0260 + NET0260,NetSpDataResponseTime95thPercentile Implemented - ASTM NetRID nominal behavior + ASTM F3411-22a NetRID aggregate checks + + + NET0260,NetSpDataResponseTime99thPercentile + Implemented + ASTM F3411-22a NetRID aggregate checks NET0260,Table1,1 Implemented ASTM NetRID nominal behavior + + NET0260,Table1,10 + Implemented + ASTM NetRID nominal behavior + + + NET0260,Table1,11 + Implemented + ASTM NetRID nominal behavior + + + NET0260,Table1,12 + Implemented + ASTM NetRID nominal behavior + NET0260,Table1,1a Implemented @@ -236,11 +281,6 @@ Implemented ASTM NetRID nominal behavior - - NET0260-a - Implemented - ASTM F3411-22a NetRID aggregate checks - NET0270 Implemented @@ -276,6 +316,11 @@ Implemented ASTM NetRID nominal behavior + + NET0460 + Implemented + ASTM F3411-22a NetRID aggregate checks + NET0470 Implemented + TODO @@ -296,6 +341,11 @@ TODO ASTM NetRID nominal behavior + + NET0470,Table1,12 + Implemented + ASTM NetRID nominal behavior + NET0470,Table1,15 Implemented @@ -377,9 +427,14 @@ ASTM NetRID: Operator interactions - NET0710 + NET0710,1 Implemented - ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + ASTM NetRID nominal behavior + + + NET0710,2 + Implemented + ASTM NetRID nominal behavior NET0730 @@ -418,4 +473,15 @@ Implemented ASTM NetRID nominal behavior + + interuss
.f3411
.dss_endpoints
+ GetISA + Implemented + ASTM NetRID DSS: Simple ISA + + + SearchISAs + Implemented + ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index a690bb7ab8..f4fd4ee797 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -17,153 +17,173 @@ Checked in - astm
.f3411
.v22a
- A2-6-1,1a + astm
.f3411
.v22a
+ DSS0030,a Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1b + DSS0030,b Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA - A2-6-1,1c + DSS0030,c Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,1d + DSS0030,d Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2a + DSS0030,f Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,2b + DSS0050 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3a + DSS0060 Implemented - ASTM F3411-22a NetRID DSS interoperability + ASTM NetRID DSS: Subscription Validation - A2-6-1,3b + DSS0070 Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3c - Implemented + TODO + DSS0110 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0120 + TODO + ASTM NetRID DSS: Direct CRDB access + + + DSS0130,2,a + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,3d - Implemented + TODO + DSS0130,2,b + Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4a + DSS0130,2,c Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,4b + DSS0130,2,d Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,5 + DSS0130,2,f Implemented ASTM F3411-22a NetRID DSS interoperability - A2-6-1,6 + DSS0130,3,a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0030 + DSS0130,3,b Implemented - ASTM F3411-22a NetRID DSS interoperability
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Subscription Validation
ASTM NetRID nominal behavior + ASTM F3411-22a NetRID DSS interoperability - DSS0050 + DSS0130,3,c Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0060 + DSS0130,3,d Implemented - ASTM NetRID DSS: Subscription Validation + ASTM F3411-22a NetRID DSS interoperability - DSS0070 + DSS0130,3,e Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0110 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1a + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0120 - TODO - ASTM NetRID DSS: Direct CRDB access + DSS0130,A2-6-1,1b + Implemented + ASTM F3411-22a NetRID DSS interoperability - DSS0130 + DSS0130,A2-6-1,1c Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,a + DSS0130,A2-6-1,1d Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,b + DSS0130,A2-6-1,2a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,c + DSS0130,A2-6-1,2b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,d + DSS0130,A2-6-1,3a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,2,f + DSS0130,A2-6-1,3b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,a + DSS0130,A2-6-1,3c + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,3d + Implemented + TODO + ASTM F3411-22a NetRID DSS interoperability + + + DSS0130,A2-6-1,4a Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,b + DSS0130,A2-6-1,4b Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,c + DSS0130,A2-6-1,5 Implemented ASTM F3411-22a NetRID DSS interoperability - DSS0130,3,d + DSS0130,A2-6-1,6 Implemented ASTM F3411-22a NetRID DSS interoperability @@ -182,6 +202,11 @@ TODO ASTM NetRID: Operator interactions + + NET0210 + Implemented + ASTM NetRID SP clients misbehavior handling + NET0220 Implemented @@ -193,15 +218,35 @@ ASTM F3411-22a NetRID aggregate checks - NET0260 + NET0260,NetSpDataResponseTime95thPercentile Implemented - ASTM NetRID nominal behavior + ASTM F3411-22a NetRID aggregate checks + + + NET0260,NetSpDataResponseTime99thPercentile + Implemented + ASTM F3411-22a NetRID aggregate checks NET0260,Table1,1 Implemented ASTM NetRID nominal behavior + + NET0260,Table1,10 + Implemented + ASTM NetRID nominal behavior + + + NET0260,Table1,11 + Implemented + ASTM NetRID nominal behavior + + + NET0260,Table1,12 + Implemented + ASTM NetRID nominal behavior + NET0260,Table1,1a Implemented @@ -237,11 +282,6 @@ Implemented ASTM NetRID nominal behavior - - NET0260-a - Implemented - ASTM F3411-22a NetRID aggregate checks - NET0270 Implemented @@ -277,6 +317,11 @@ Implemented ASTM NetRID nominal behavior + + NET0460 + Implemented + ASTM F3411-22a NetRID aggregate checks + NET0470 Implemented + TODO @@ -297,6 +342,11 @@ TODO ASTM NetRID nominal behavior + + NET0470,Table1,12 + Implemented + ASTM NetRID nominal behavior + NET0470,Table1,15 Implemented @@ -378,9 +428,14 @@ ASTM NetRID: Operator interactions - NET0710 + NET0710,1 Implemented - ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + ASTM NetRID nominal behavior + + + NET0710,2 + Implemented + ASTM NetRID nominal behavior NET0730 @@ -531,4 +586,15 @@ Implemented ASTM NetRID nominal behavior + + interuss
.f3411
.dss_endpoints
+ GetISA + Implemented + ASTM NetRID DSS: Simple ISA + + + SearchISAs + Implemented + ASTM NetRID DSS: Simple ISA
ASTM NetRID nominal behavior + From 91aa18310186fa5223f56f5d85114cd34a486da1 Mon Sep 17 00:00:00 2001 From: Benjamin Pelletier Date: Thu, 12 Oct 2023 05:07:11 +0000 Subject: [PATCH 2/2] Fix NET0260 in v19 --- .../astm/f3411/v19/service_provider.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/monitoring/uss_qualifier/requirements/astm/f3411/v19/service_provider.md b/monitoring/uss_qualifier/requirements/astm/f3411/v19/service_provider.md index 09a1ffc63d..7b3c2edbdb 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3411/v19/service_provider.md +++ b/monitoring/uss_qualifier/requirements/astm/f3411/v19/service_provider.md @@ -26,7 +26,24 @@ This file describes the set of ASTM F3411-19 requirements with which a USS fulfi * **astm.f3411.v19.NET0210** * **astm.f3411.v19.NET0220** * **astm.f3411.v19.NET0250** -* **astm.f3411.v19.NET0260** +* NET0260 + * **astm.f3411.v19.NET0260,NetSpDataResponseTime95thPercentile** + * **astm.f3411.v19.NET0260,NetSpDataResponseTime99thPercentile** + * **astm.f3411.v19.NET0260,NearRealTime** + * **astm.f3411.v19.NET0260,Table1,1** + * **astm.f3411.v19.NET0260,Table1,2** + * **astm.f3411.v19.NET0260,Table1,3** + * **astm.f3411.v19.NET0260,Table1,4** + * **astm.f3411.v19.NET0260,Table1,5** + * **astm.f3411.v19.NET0260,Table1,9** + * **astm.f3411.v19.NET0260,Table1,10** + * **astm.f3411.v19.NET0260,Table1,11** + * **astm.f3411.v19.NET0260,Table1,15** + * **astm.f3411.v19.NET0260,Table1,16** + * **astm.f3411.v19.NET0260,Table1,17** + * **astm.f3411.v19.NET0260,Table1,18** + * **astm.f3411.v19.NET0260,Table1,19** + * **astm.f3411.v19.NET0260,Table1,20** * **astm.f3411.v19.NET0270** * **astm.f3411.v19.NET0280** * **astm.f3411.v19.NET0290**