From cd58bfeba51b7ca1a4dde298c915fa6eaea106d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Misbach?= Date: Tue, 10 Dec 2024 14:46:26 +0100 Subject: [PATCH] [uss_qualifier/scenarios/netrid] Factor away test step fragment for flight presence from scenario --- .../astm/netrid/display_data_evaluator.py | 2 ++ .../display_data_evaluator_flight_presence.md | 19 +++++++++++++ .../astm/netrid/v19/nominal_behavior.md | 28 ++----------------- .../display_data_evaluator_flight_presence.md | 19 +++++++++++++ .../astm/netrid/v22a/nominal_behavior.md | 28 ++----------------- .../suites/astm/netrid/f3411_19.md | 7 ++++- .../suites/astm/netrid/f3411_22a.md | 7 ++++- .../suites/uspace/network_identification.md | 7 ++++- .../suites/uspace/required_services.md | 7 ++++- 9 files changed, 68 insertions(+), 56 deletions(-) create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v19/display_data_evaluator_flight_presence.md create mode 100644 monitoring/uss_qualifier/scenarios/astm/netrid/v22a/display_data_evaluator_flight_presence.md 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 87d5a92138..61b74480fb 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/display_data_evaluator.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/display_data_evaluator.py @@ -489,6 +489,8 @@ def _evaluate_flight_presence( mapping_by_injection_id: Dict[str, TelemetryMapping], verified_sps: Set[str], ): + """Implements fragment documented in `display_data_evaluator_flight_presence.md`.""" + query_timestamps = [q.request.timestamp for q in observation_queries] observer_participants = ( [observer_participant_id] if observer_participant_is_relevant else [] diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/display_data_evaluator_flight_presence.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/display_data_evaluator_flight_presence.md new file mode 100644 index 0000000000..445a9dc2a5 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/display_data_evaluator_flight_presence.md @@ -0,0 +1,19 @@ +# ASTM NetRID v19 flight presence test step fragment + +This fragment is implemented in `display_data_evaluator.py:RIDObservationEvaluator._evaluate_flight_presence`. + +#### Premature flight check + +The timestamps of the injected telemetry usually start in the future. If a flight with injected telemetry only in the future is observed prior to the timestamp of the first telemetry point, this check will fail because the SP does not satisfy **[interuss.automated_testing.rid.injection.ExpectedBehavior](../../../../requirements/interuss/automated_testing/rid/injection.md)**. + +#### Missing flight check + +**[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,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. + +#### Lingering flight check + +**[astm.f3411.v19.NET0260,NearRealTime](../../../../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. 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 89ecb076ab..6a94735fcb 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md @@ -62,21 +62,7 @@ If a DSS was provided to this test scenario, uss_qualifier acts as a Display Pro **[astm.f3411.v19.NET0250](../../../../requirements/astm/f3411/v19.md)** requires that a NetRID Service Provider rejects a request for a very large view area with a diagonal greater than *NetMaxDisplayAreaDiagonal*. If such a large view is requested and a 413 error code is not received, then this check will fail. -#### Premature flight check - -The timestamps of the injected telemetry usually start in the future. If a flight with injected telemetry only in the future is observed prior to the timestamp of the first telemetry point, this check will fail because the SP does not satisfy **[interuss.automated_testing.rid.injection.ExpectedBehavior](../../../../requirements/interuss/automated_testing/rid/injection.md)**. - -#### Missing flight check - -**[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,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. - -#### Lingering flight check - -**[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. +#### [Flight presence checks](./display_data_evaluator_flight_presence.md) #### Flights data format check @@ -120,17 +106,7 @@ Per **[interuss.automated_testing.rid.observation.ObservationSuccess](../../../. Per **[interuss.automated_testing.rid.observation.UniqueFlights](../../../../requirements/interuss/automated_testing/rid/observation.md)**, the same flight ID may not be reported by a Display Provider for two flights in the same observation. -#### Premature flight check - -The timestamps of the injected telemetry usually start in the future. If a flight with injected telemetry only in the future is observed prior to the timestamp of the first telemetry point, this check will fail because the SP does not satisfy **[interuss.automated_testing.rid.injection.ExpectedBehavior](../../../../requirements/interuss/automated_testing/rid/injection.md)**. - -#### Missing flight check - -**[astm.f3411.v19.NET0610](../../../../requirements/astm/f3411/v19.md)** require 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 one of the flights is not observed during its appropriate time period, this check will fail. - -#### Lingering flight check - -**[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. +#### [Flight presence checks](./display_data_evaluator_flight_presence.md) #### [Flight consistency with Common Data Dictionary checks](./common_dictionary_evaluator_dp_flight.md) diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/display_data_evaluator_flight_presence.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/display_data_evaluator_flight_presence.md new file mode 100644 index 0000000000..74848150af --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/display_data_evaluator_flight_presence.md @@ -0,0 +1,19 @@ +# ASTM NetRID v22a flight presence test step fragment + +This fragment is implemented in `display_data_evaluator.py:RIDObservationEvaluator._evaluate_flight_presence`. + +## Premature flight check + +The timestamps of the injected telemetry usually start in the future. If a flight with injected telemetry only in the future is observed prior to the timestamp of the first telemetry point, this check will fail because the SP does not satisfy **[interuss.automated_testing.rid.injection.ExpectedBehavior](../../../../requirements/interuss/automated_testing/rid/injection.md)**. + +## Missing flight check + +**[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,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. + +## Lingering flight check + +**[astm.f3411.v22a.NET0260,NearRealTime](../../../../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. 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 570be1476a..6b99cba9dc 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/nominal_behavior.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/nominal_behavior.md @@ -62,21 +62,7 @@ If a DSS was provided to this test scenario, uss_qualifier acts as a Display Pro **[astm.f3411.v22a.NET0250](../../../../requirements/astm/f3411/v22a.md)** requires that a NetRID Service Provider rejects a request for a very large view area with a diagonal greater than *NetMaxDisplayAreaDiagonal*. If such a large view is requested and a 413 error code is not received, then this check will fail. -#### Premature flight check - -The timestamps of the injected telemetry usually start in the future. If a flight with injected telemetry only in the future is observed prior to the timestamp of the first telemetry point, this check will fail because the SP does not satisfy **[interuss.automated_testing.rid.injection.ExpectedBehavior](../../../../requirements/interuss/automated_testing/rid/injection.md)**. - -#### Missing flight check - -**[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,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. - -#### Lingering flight check - -**[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. +#### [Flight presence checks](./display_data_evaluator_flight_presence.md) #### Flights data format check @@ -122,17 +108,7 @@ Per **[interuss.automated_testing.rid.observation.ObservationSuccess](../../../. Per **[interuss.automated_testing.rid.observation.UniqueFlights](../../../../requirements/interuss/automated_testing/rid/observation.md)**, the same flight ID may not be reported by a Display Provider for two flights in the same observation. -#### Premature flight check - -The timestamps of the injected telemetry usually start in the future. If a flight with injected telemetry only in the future is observed prior to the timestamp of the first telemetry point, this check will fail because the SP does not satisfy **[interuss.automated_testing.rid.injection.ExpectedBehavior](../../../../requirements/interuss/automated_testing/rid/injection.md)**. - -#### Missing flight check - -**[astm.f3411.v22a.NET0610](../../../../requirements/astm/f3411/v22a.md)** require 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 one of the flights is not observed during its appropriate time period, this check will fail. - -#### Lingering flight check - -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. +#### [Flight presence checks](./display_data_evaluator_flight_presence.md) #### [Flight consistency with Common Data Dictionary checks](./common_dictionary_evaluator_dp_flight.md) diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md index 942774eac2..11bcf644ac 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md @@ -21,7 +21,7 @@ Checked in - astm
.f3411
.v19
+ astm
.f3411
.v19
DSS0010 Implemented ASTM NetRID DSS: Token Validation @@ -251,6 +251,11 @@ Implemented ASTM NetRID nominal behavior + + NET0260,NearRealTime + Implemented + ASTM NetRID nominal behavior + NET0260,NetSpDataResponseTime95thPercentile Implemented diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md index c845b85901..654452ad8c 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md @@ -21,7 +21,7 @@ Checked in - astm
.f3411
.v22a
+ astm
.f3411
.v22a
DSS0010 Implemented ASTM NetRID DSS: Token Validation @@ -256,6 +256,11 @@ Implemented ASTM NetRID nominal behavior + + NET0260,NearRealTime + Implemented + ASTM NetRID nominal behavior + NET0260,NetSpDataResponseTime95thPercentile Implemented diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md index 0e87acbd6d..c01bf40411 100644 --- a/monitoring/uss_qualifier/suites/uspace/network_identification.md +++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md @@ -17,7 +17,7 @@ Checked in - astm
.f3411
.v22a
+ astm
.f3411
.v22a
DSS0010 Implemented ASTM NetRID DSS: Token Validation @@ -252,6 +252,11 @@ Implemented ASTM NetRID nominal behavior + + NET0260,NearRealTime + Implemented + ASTM NetRID nominal behavior + NET0260,NetSpDataResponseTime95thPercentile Implemented diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index e8919b5928..efcfd7fdfb 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -18,7 +18,7 @@ Checked in - astm
.f3411
.v22a
+ astm
.f3411
.v22a
DSS0010 Implemented ASTM NetRID DSS: Token Validation @@ -253,6 +253,11 @@ Implemented ASTM NetRID nominal behavior + + NET0260,NearRealTime + Implemented + ASTM NetRID nominal behavior + NET0260,NetSpDataResponseTime95thPercentile Implemented