Skip to content

Commit b352476

Browse files
authored
[uss_qualifier/flight_planning] Handle USSs not supporting flight modifications (#1250)
1 parent e17da82 commit b352476

File tree

4 files changed

+40
-4
lines changed

4 files changed

+40
-4
lines changed

monitoring/uss_qualifier/scenarios/astm/utm/nominal_planning/conflict_higher_priority/conflict_higher_priority.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@ The test driver modifies (activated) Flight 2 with the control USS so that it is
249249
flight of test USS.
250250
As Flight 2 is of higher priority, this should succeed and leave Flight 1 clear of conflict.
251251

252+
If flight modification is not supported by the USS, the next test step is going to be skipped and the test case will end here.
253+
252254
#### [Validate Flight 2 sharing](../../validate_shared_operational_intent.md)
253255

254256
### Attempt to modify activated Flight 1 in conflict test step

monitoring/uss_qualifier/scenarios/astm/utm/nominal_planning/conflict_higher_priority/conflict_higher_priority.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,15 +483,23 @@ def _attempt_modify_activated_flight_conflict(
483483
flight2m_activated,
484484
flight_2_oi_ref,
485485
) as validator:
486-
modify_activated_flight(
486+
resp = modify_activated_flight(
487487
self,
488488
self.control_uss,
489489
flight2m_activated,
490490
self.flight2_id,
491491
)
492-
validator.expect_shared(flight2m_activated)
492+
if resp.activity_result == PlanningActivityResult.Completed:
493+
validator.expect_shared(flight2m_activated)
493494
self.end_test_step()
494495

496+
if resp.activity_result == PlanningActivityResult.NotSupported:
497+
self.record_note(
498+
"conflict_higher_priority_skip_step",
499+
f"Skip next step since USS {self.control_uss} did not modify flight 2.",
500+
)
501+
return
502+
495503
self.begin_test_step("Attempt to modify activated Flight 1 in conflict")
496504
flight1c_activated = self.resolve_flight(self.flight1c_activated)
497505

monitoring/uss_qualifier/scenarios/flight_planning/prioritization_test_steps.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ def modify_planned_priority_conflict_flight(
8181
PlanningActivityResult.Rejected,
8282
FlightPlanStatus.Closed,
8383
), # case where the USS closes the flight plan as a result of the rejected modification attempt
84+
(
85+
PlanningActivityResult.NotSupported,
86+
FlightPlanStatus.Planned,
87+
), # case where the USS does not support modification of flights
8488
},
8589
failed_checks={PlanningActivityResult.Failed: "Failure"},
8690
flight_planner=flight_planner,
@@ -163,6 +167,10 @@ def modify_activated_priority_conflict_flight(
163167
PlanningActivityResult.Rejected,
164168
FlightPlanStatus.Closed,
165169
), # case where the USS closes the flight plan as a result of the rejected modification attempt; note: is this actually desirable if the flight was activated?
170+
(
171+
PlanningActivityResult.NotSupported,
172+
FlightPlanStatus.OkToFly,
173+
), # case where the USS does not support modification of flights
166174
},
167175
failed_checks={PlanningActivityResult.Failed: "Failure"},
168176
flight_planner=flight_planner,
@@ -235,6 +243,10 @@ def modify_planned_conflict_flight(
235243
PlanningActivityResult.Rejected,
236244
FlightPlanStatus.Closed,
237245
), # case where the USS closes the flight plan as a result of the rejected modification attempt
246+
(
247+
PlanningActivityResult.NotSupported,
248+
FlightPlanStatus.Planned,
249+
), # case where the USS does not support modification of flights
238250
},
239251
failed_checks={PlanningActivityResult.Failed: "Failure"},
240252
flight_planner=flight_planner,
@@ -317,6 +329,10 @@ def modify_activated_conflict_flight(
317329
PlanningActivityResult.Rejected,
318330
FlightPlanStatus.Closed,
319331
), # case where the USS closes the flight plan as a result of the rejected modification attempt; note: is this actually desirable if the flight was activated?
332+
(
333+
PlanningActivityResult.NotSupported,
334+
FlightPlanStatus.OkToFly,
335+
), # case where the USS does not support modification of flights
320336
},
321337
failed_checks={PlanningActivityResult.Failed: "Failure"},
322338
flight_planner=flight_planner,

monitoring/uss_qualifier/scenarios/flight_planning/test_steps.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,13 @@ def modify_planned_flight(
111111
return submit_flight(
112112
scenario=scenario,
113113
success_check="Successful modification",
114-
expected_results={(PlanningActivityResult.Completed, FlightPlanStatus.Planned)},
114+
expected_results={
115+
(PlanningActivityResult.Completed, FlightPlanStatus.Planned),
116+
(
117+
PlanningActivityResult.NotSupported,
118+
FlightPlanStatus.Planned,
119+
), # case where the USS does not support modification of flights
120+
},
115121
failed_checks={PlanningActivityResult.Failed: "Failure"},
116122
flight_planner=flight_planner,
117123
flight_info=flight_info,
@@ -178,7 +184,11 @@ def modify_activated_flight(
178184
scenario=scenario,
179185
success_check="Successful modification",
180186
expected_results={
181-
(PlanningActivityResult.Completed, FlightPlanStatus.OkToFly)
187+
(PlanningActivityResult.Completed, FlightPlanStatus.OkToFly),
188+
(
189+
PlanningActivityResult.NotSupported,
190+
FlightPlanStatus.OkToFly,
191+
), # case where the USS does not support modification of flights
182192
},
183193
failed_checks={PlanningActivityResult.Failed: "Failure"},
184194
flight_planner=flight_planner,

0 commit comments

Comments
 (0)