-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[uss_qualifier] netrid - NET0320: check SP behavior upon UAS disconnection #880
base: main
Are you sure you want to change the base?
Conversation
f11490e
to
ba2fc64
Compare
ba2fc64
to
c3e6ae2
Compare
…try is reported as such
c3e6ae2
to
644210a
Compare
|
||
### Service Provider polling test step | ||
|
||
If a DSS was provided to this test scenario, uss_qualifier acts as a Display Provider to query Service Providers under test in this step. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For this particular scenario, the DSS is mandatory, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to move some of the documented checks to fragments since they are the same as for the nominal one?
@@ -88,6 +88,23 @@ def get_test_flights(self) -> List[TestFlight]: | |||
|
|||
return test_flights | |||
|
|||
def truncate_flights_duration(self, duration: timedelta): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible that using this approach (altering in place objects) we are actually impacting other scenarios which may reference the root object upstream ?
This evaluator observes a set of provided RIDSystemObservers in | ||
evaluate_system by repeatedly polling them according to the expected data | ||
provided to RIDObservationEvaluator upon construction. During these | ||
evaluations, RIDObservationEvaluator mutates provided findings object to add |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
evaluations, RIDObservationEvaluator mutates provided findings object to add | |
evaluations, DisconnectedUASObservationEvaluator mutates provided findings object to add |
|
||
This evaluator observes a set of provided RIDSystemObservers in | ||
evaluate_system by repeatedly polling them according to the expected data | ||
provided to RIDObservationEvaluator upon construction. During these |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
provided to RIDObservationEvaluator upon construction. During these | |
provided to DisconnectedUASObservationEvaluator upon construction. During these |
|
||
# Keep track of the flights that we have observed as having been 'disconnected' | ||
# (last observed telemetry corresponds to last injected one within the window where data is returned) | ||
self._witnessed_disconnections: Set[str] = set() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For consistency:
self._witnessed_disconnections: Set[str] = set() | |
self._observed_disconnections: Set[str] = set() |
) -> bool: | ||
""" | ||
Polls service providers relevant to the injected test flights and verifies that, | ||
for any flight that is not sending telemtry data anymore (ie, the last injected telemetry data lies in the past), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for any flight that is not sending telemtry data anymore (ie, the last injected telemetry data lies in the past), | |
for any flight that is not sending telemetry data anymore (ie, the last injected telemetry data lies in the past), |
].observed_flight.flight.timestamp.datetime | ||
) | ||
|
||
if arrow.get(last_expected_telemetry) != arrow.get( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would expect that both values may not be completely matching and some error / inaccuracy should be allowed.
Add a scenario to cover NET0320: service providers that cease receiving telemetry data for a flight must return the last returned telemetry (position and timestamp, notably) during the near real-time window (60 seconds).
This is achieved by:
DisconnectedUASObservationEvaluator
)FlightDataResource
(this is not strictly required but ensures that scenarios don't needlessly run too long)