diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common_dictionary_evaluator.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common_dictionary_evaluator.py index 3d5ea63b2d..2b0a35d475 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/common_dictionary_evaluator.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common_dictionary_evaluator.py @@ -5,7 +5,6 @@ import s2sphere from arrow import ParserError from implicitdict import StringBasedDateTime -from loguru import logger from uas_standards.ansi_cta_2063_a import SerialNumber from uas_standards.astm.f3411 import v22a from uas_standards.astm.f3411.v22a.api import UASID @@ -88,34 +87,27 @@ def evaluate_dp_flight( observed_flight: observation_api.Flight, participants: List[str], ): - with self._test_scenario.check("Current state present", participants) as check: - if not observed_flight.has_field_with_value("current_state"): - check.record_failed( - f"Current state for flight {observed_flight.id}", - details=f"The current state must be specified.", - severity=Severity.High, - ) - - logger.debug(f"Injected flight: {injected_flight}") - logger.debug(f"Observed flight: {observed_flight.current_state}") + # If the state is present, we do validate its content, + # but its presence is optional + if injected_flight.has_field_with_value("current_state"): + self._evaluate_speed( + injected_flight.speed, observed_flight.current_state.speed, participants + ) + self._evaluate_track( + injected_flight.track, observed_flight.current_state.track, participants + ) + self._evaluate_timestamp( + injected_flight.timestamp, + observed_flight.current_state.timestamp, + participants, + ) - self._evaluate_speed( - injected_flight.speed, observed_flight.current_state.speed, participants - ) - self._evaluate_track( - injected_flight.track, observed_flight.current_state.track, participants - ) - self._evaluate_timestamp( - injected_flight.timestamp, - observed_flight.current_state.timestamp, - participants, - ) + # TODO check if worth adding correctness check here, it requires some slight (possibly non-trivial) + # changes in evaluate_sp_flights as well + self._evaluate_operational_status( + observed_flight.current_state.operational_status, participants + ) - # TODO check if worth adding correctness check here, it requires some slight (possibly non-trivial) - # changes in evaluate_sp_flights as well - self._evaluate_operational_status( - observed_flight.current_state.operational_status, participants - ) self._evaluate_position( injected_flight.position, observed_flight.most_recent_position, participants ) 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 cc2ada5ebb..33aacbb912 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/display_data_evaluator.py +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/display_data_evaluator.py @@ -358,19 +358,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", [observer.participant_id] - ) as check: - if "alt" not in observed_position: - check.record_failed( - summary="Displayed flight is missing altitude", - severity=Severity.Medium, - details=f"Displayed data for injected flight {mapping.injected_flight.flight.injection_id} in test {mapping.injected_flight.test_id} at {injected_telemetry.timestamp} does not have altitude", - ) - if "alt" in observed_position: with self._test_scenario.check( - "Correct up-to-date altitude", + "Correct up-to-date altitude if present", [ observer.participant_id, mapping.injected_flight.uss_participant_id, 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 c39e680f2d..1795378ab3 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md @@ -132,13 +132,9 @@ The timestamps of the injected telemetry usually start in the future. If a flig **[astm.f3411.v19.NET0290](../../../../requirements/astm/f3411/v19.md)** requires a SP uses Telemetry vs extrapolation when telemetry is present. -#### Altitude is present check +#### Correct up-to-date altitude if present check -Failure to report the altitude of a flight is a violation of **[astm.f3411.v19.NET0470](../../../../requirements/astm/f3411/v19.md)**. - -#### Correct up-to-date altitude check - -If the observed altitude of a flight does not match the altitude of the injected telemetry, the display provider is not providing precise and up-to-date information, and thus does not respect **[astm.f3411.v19.NET0450](../../../../requirements/astm/f3411/v19.md)**. +If the observed altitude of a flight is reported, but it does not match the altitude of the injected telemetry, the display provider is not providing precise and up-to-date information, and thus does not respect **[astm.f3411.v19.NET0450](../../../../requirements/astm/f3411/v19.md)**. #### Area too large check @@ -174,10 +170,6 @@ This check validates that the display area of a cluster, measured and provided i Per **[interuss.automated_testing.rid.observation.ObservationSuccess](../../../../requirements/interuss/automated_testing/rid/observation.md)**, the call for flight details is expected to succeed since a valid ID was provided by uss_qualifier. -#### Current state present check - -**[astm.f3411.v19.NET0470](../../../../requirements/astm/f3411/v19.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the current state is present. If it is not, this check will fail. - ## Cleanup The cleanup phase of this test scenario attempts to remove injected data from all SPs. 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 4b51b1e82a..f7a1c174e7 100644 --- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/nominal_behavior.md +++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/nominal_behavior.md @@ -164,13 +164,9 @@ NET0260 requires a SP to provide flights up to *NetMaxNearRealTimeDataPeriod* in **[astm.f3411.v22a.NET0290](../../../../requirements/astm/f3411/v22a.md)** requires a SP uses Telemetry vs extrapolation when telemetry is present. -#### Altitude is present check +#### Correct up-to-date altitude if present check -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 - -If the observed altitude of a flight does not match the altitude of the injected telemetry, the display provider is not providing precise and up-to-date information, and thus does not respect **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**. +If the observed altitude of a flight is reported, but it does not match the altitude of the injected telemetry, the display provider is not providing precise and up-to-date information, and thus does not respect **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**. #### Area too large check @@ -206,10 +202,6 @@ This check validates that the display area of a cluster, measured and provided i Per **[interuss.automated_testing.rid.observation.ObservationSuccess](../../../../requirements/interuss/automated_testing/rid/observation.md)**, the call for flight details is expected to succeed since a valid ID was provided by uss_qualifier. -#### Current state present check - -**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the current state is present. If it is not, this check will fail. - #### UAS ID presence in flight details check **[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the UAS ID is present in the information sent by the Display Provider. (**[astm.f3411.v22a.NET0470,Table1,1](../../../../requirements/astm/f3411/v22a.md)**) diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md index 99bad4fb04..3e5abd0c49 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
DSS0030,a Implemented ASTM F3411-19 NetRID DSS interoperability
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations
ASTM NetRID DSS: Token Validation @@ -286,11 +286,6 @@ Implemented ASTM NetRID nominal behavior - - NET0470 - Implemented - ASTM NetRID nominal behavior - NET0480 Implemented diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md index e3f4b1d8b6..2ee9ca9209 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
DSS0030 Implemented ASTM NetRID DSS: ISA Expiry @@ -356,11 +356,6 @@ TODO ASTM NetRID nominal behavior - - NET0470,Table1,12 - Implemented - ASTM NetRID nominal behavior - NET0470,Table1,15 Implemented @@ -497,6 +492,6 @@ SearchISAs Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation
ASTM NetRID nominal behavior + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation
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 e47da15df9..a1a4b7002d 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 @@ -228,6 +228,6 @@ SearchISAs Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index b9e5989205..cd5267e269 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -409,6 +409,6 @@ SearchISAs Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md index c2fb5d1232..a216f030e9 100644 --- a/monitoring/uss_qualifier/suites/uspace/network_identification.md +++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md @@ -16,7 +16,7 @@ Checked in - astm
.f3411
.v22a
+ astm
.f3411
.v22a
DSS0030 Implemented ASTM NetRID DSS: ISA Expiry @@ -351,11 +351,6 @@ TODO ASTM NetRID nominal behavior - - NET0470,Table1,12 - Implemented - ASTM NetRID nominal behavior - NET0470,Table1,15 Implemented @@ -492,6 +487,6 @@ SearchISAs Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation
ASTM NetRID nominal behavior + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation
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 ed16b729cb..964c6d4576 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
DSS0030 Implemented ASTM NetRID DSS: ISA Expiry @@ -353,11 +353,6 @@ TODO ASTM NetRID nominal behavior - - NET0470,Table1,12 - Implemented - ASTM NetRID nominal behavior - NET0470,Table1,15 Implemented @@ -631,7 +626,7 @@ SearchISAs Implemented - ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation
ASTM NetRID nominal behavior + ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Token Validation
ASTM NetRID nominal behavior interuss
.f3548
.notification_requirements