Test characteristic | Value |
---|---|
Test run identifier | TR-e456523 |
Start time | 2024-12-19 16:17:43 UTC |
End time | 2024-12-19 16:18:44 UTC |
Test baseline identifier | TB-f381196 |
Environment identifier | TE-c8d3580 |
Codebase version | interuss/monitoring/v0.0.0-9848684 |
Commit hash | 9848684815df0a2dcb30390d85bf613ab56fd736 |
This artifact was generated by interuss/monitoring/v0.0.0-9848684
utm_auth
(resources.communications.AuthAdapterResource)second_utm_auth
(resources.communications.AuthAdapterResource)test_env_version_providers
(resources.versioning.VersionProvidersResource)auth_adapter
: From utm_auth
resourceflight_planners
(resources.flight_planning.FlightPlannersResource)auth_adapter
: From utm_auth
resourcedss
(resources.astm.f3548.v21.DSSInstanceResource)auth_adapter
: From utm_auth
resourcedss_instances
(resources.astm.f3548.v21.DSSInstancesResource)auth_adapter
: From utm_auth
resourcemock_uss
(resources.interuss.mock_uss.client.MockUSSResource)auth_adapter
: From utm_auth
resourceprod_env_version_providers
(resources.versioning.VersionProvidersResource)auth_adapter
: From utm_auth
resourcetest_exclusions
(resources.dev.TestExclusionsResource)utm_client_identity
(resources.communications.ClientIdentityResource)auth_adapter
: From utm_auth
resourceid_generator
(resources.interuss.IDGeneratorResource)client_identity
: From utm_client_identity
resourceplanning_area
(resources.astm.f3548.v21.PlanningAreaResource)problematically_big_area
(resources.VerticesResource)conflicting_flights
(resources.flight_planning.FlightIntentsResource)invalid_flight_intents
(resources.flight_planning.FlightIntentsResource)non_conflicting_flights
(resources.flight_planning.FlightIntentsResource)This test scenario obtains versions for the specified systems.
A VersionProvidersResource
containing the means by which to query system versions for each applicable participant.
✅ Provided by test_env_version_providers in top-level resource pool.
A SystemIdentityResource
indicating the identity of the system for which to query the version from all providers.
✅ Provided by system_identity in suites.astm.utm.f3548_21.
Each version provider is queried for the version of its system (identified by system_identity) and the result is recorded as a note in the report.
If a valid response is not received from a version provider, they will have failed to meet versioning.ReportSystemVersion.
✅ uss1_core (2024-12-19T16:17:43.451208Z)
✅ uss2_core (2024-12-19T16:17:43.466081Z)
This scenario prepares flight planner systems for execution of controlled test scenarios by checking planner systems' readiness and having them remove any existing flights that may already be in the test area.
FlightPlannersResource listing all USSs undergoing planning tests so that they can be checked for readiness and instructed to remove any existing flights from the area in this scenario.
✅ Provided by flight_planners in top-level resource pool.
(Optional) MockUSSResource is checked for readiness and instructed to remove any existing flights from the area in this scenario.
✅ Provided by mock_uss in top-level resource pool.
DSSInstanceResource to check for lingering operational intents after the area has been cleared.
✅ Provided by dss in top-level resource pool.
FlightIntentsResource containing flight intents that will be used in subsequent tests, so all planners should be instructed to clear any area involved with any of these intents of flights it manages.
✅ Provided by invalid_flight_intents in top-level resource pool.
(Optional) If more than one FlightIntentsResource will be used in subsequent tests, additional intents may be specified with this resource.
∅ This resource was not applicable to this test run and was therefore not provided.
(Optional) If more than one FlightIntentsResource will be used in subsequent tests, additional intents may be specified with this resource.
✅ Provided by conflicting_flights in top-level resource pool.
(Optional) If more than one FlightIntentsResource will be used in subsequent tests, additional intents may be specified with this resource.
✅ Provided by non_conflicting_flights in top-level resource pool.
All USSs are queried for their readiness to ensure later tests can proceed.
interuss.automated_testing.flight_planning.ImplementAPI
✅ uss1_core (2024-12-19T16:17:43.481365Z)
✅ uss2_core (2024-12-19T16:17:43.491628Z)
✅ mock_uss (2024-12-19T16:17:43.503180Z)
This readiness indicates the USS's ability to inject test data, so if this check fails, not only has the USS not met interuss.automated_testing.flight_planning.Readiness, but it also does not meet astm.f3548.v21.GEN0310.
✅ uss1_core (2024-12-19T16:17:43.481444Z)
✅ uss2_core (2024-12-19T16:17:43.491710Z)
✅ mock_uss (2024-12-19T16:17:43.503275Z)
All USSs are requested to remove all flights from the area under test.
interuss.automated_testing.flight_planning.ImplementAPI
✅ uss1_core (2024-12-19T16:17:43.543267Z)
✅ uss2_core (2024-12-19T16:17:43.579780Z)
✅ mock_uss (2024-12-19T16:17:43.615056Z)
✅ uss1_core (2024-12-19T16:17:43.632008Z)
✅ uss2_core (2024-12-19T16:17:43.648818Z)
✅ mock_uss (2024-12-19T16:17:43.666246Z)
✅ uss1_core (2024-12-19T16:17:43.683169Z)
✅ uss2_core (2024-12-19T16:17:43.699935Z)
✅ mock_uss (2024-12-19T16:17:43.717072Z)
interuss.automated_testing.flight_planning.ClearArea
✅ uss1_core (2024-12-19T16:17:43.543383Z)
✅ uss2_core (2024-12-19T16:17:43.579868Z)
✅ mock_uss (2024-12-19T16:17:43.615150Z)
✅ uss1_core (2024-12-19T16:17:43.632103Z)
✅ uss2_core (2024-12-19T16:17:43.648920Z)
✅ mock_uss (2024-12-19T16:17:43.666384Z)
✅ uss1_core (2024-12-19T16:17:43.683283Z)
✅ uss2_core (2024-12-19T16:17:43.700054Z)
✅ mock_uss (2024-12-19T16:17:43.717221Z)
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:17:43.723997Z)
✅ uss1_dss (2024-12-19T16:17:43.727852Z)
✅ uss1_dss (2024-12-19T16:17:43.731667Z)
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
This step examines whether any operational intents remain. If any foreign (other than uss_qualifier-owned) operational intents remain, then this step's checks will fail. If any uss_qualifier-owned operational intents remain, the checks for this step do not fail but instead we proceed to the next test case. If the area is clear, we skip the next test case.
✅ (2024-12-19T16:17:43.724115Z)
✅ (2024-12-19T16:17:43.727949Z)
✅ (2024-12-19T16:17:43.731758Z)
∅ This test case was not applicable to this test run and is therefore not statused.
In addition to foreign flight planners, uss_qualifier may have left operational intents in the DSS from an incomplete previous run. This test case attempts to clean them up if they exist. If there are no operational intents from uss_qualifier in the flight intent areas, this test case will be skipped.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
The operational intent references managed by uss_qualifier discovered in the previous test case are removed.
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
After removing the operational intents of all flight planning participants previously, and just having attempted to remove uss_qualifier-owned operational intents, the area should now be fully clear.
Checks that implicit subscriptions are properly created, mutated and cleaned up.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription IDs for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
provides the identity that will be used to interact with the DSS.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.740405Z)
✅ uss1_dss (2024-12-19T16:17:43.742588Z)
✅ uss1_dss (2024-12-19T16:17:43.744801Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:43.737345Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:43.749248Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:43.752625Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
This step creates an OIR with an implicit subscription and confirms that the subscription can be queried
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss1_dss (2024-12-19T16:17:43.776487Z)
This test step fragment validates that implicit subscriptions are created and can be queried, and that they have the correct temporal parameters.
The creation of an operational intent which:
is expected to trigger the creation of a new implicit subscription.
If the DSS does not create the implicit subscription, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.787537Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.788876Z)
This test step fragment validates that operational intent references can be deleted
A query to delete an operational intent reference, by its owner and when the correct OVN is provided, should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.803913Z)
The response to a successful operational intent reference deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
A successful operational intent reference deletion query is expected to return a body, the content of which reflects the operational intent reference at the moment of deletion. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
∅ This check was not applicable to this test run and is therefore not statused.
Upon deletion of an OIR that is associated to an implicit subscription, if the subscription has no other associated OIRs, the DSS is expected to remove it.
If a query attempting to fetch the implicit subscription succeeds, it implies that the implicit subscription has not been removed, and the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.810612Z)
If, after the DSS is left in the same state as it was 'found' for an area, the subscriptions currently active do not correspond to the ones that were present when the test case started, the DSS may be failing to properly implement astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:43.810697Z)
This test case verifies that implicit subscriptions belonging to OIRs that are created, updated and deleted are properly managed.
In particular, the scenario verifies that:
Create an OIR with which interactions will be tested and request an implicit subscription to be created.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss1_dss (2024-12-19T16:17:43.826701Z)
This test step fragment validates that implicit subscriptions are created and can be queried, and that they have the correct temporal parameters.
The creation of an operational intent which:
is expected to trigger the creation of a new implicit subscription.
If the DSS does not create the implicit subscription, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.836844Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.838109Z)
This step creates an OIR in the ACCEPTED
state that overlaps with the previously created OIR:
it does not request the creation of an implicit subscription and does not attach the OIR to any subscription explicitly.
This step expects that the implicit subscription from the previously created OIR is mentioned in the response's notifications, and that no new implicit subscription is created.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss1_dss (2024-12-19T16:17:43.853142Z)
If the newly created OIR does not mention the implicit subscription from the previous OIR in its notifications, the DSS is either improperly managing implicit subscriptions, or failing to report the subscriptions relevant to an OIR, and therefore in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5 respectively.
✅ uss1_dss (2024-12-19T16:17:43.856046Z)
If the DSS attached an implicit subscription, by either creating or re-using an existing one, to the OIR that was created in this step, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.855993Z)
This step mutates the first OIR, which has an implicit subscription, to no longer overlap with the second OIR.
The mutation request does not specify an existing subscription, and provides the parameters required for the creation of an implicit subscription.
This test step fragment validates that operational intent references can be updated.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:43.890003Z)
This test step fragment validates that updates to operational intent references return a body in the correct format.
The response to a successful operational intent reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format
∅ This check was not applicable to this test run and is therefore not statused.
A successful operational intent reference mutation query is expected to return a well-defined body, the content of which reflects the updated operational intent reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
∅ This check was not applicable to this test run and is therefore not statused.
The implicit subscription attached to the mutated OIR should be able to be queried.
If it cannot, the DSS is either improperly managing implicit subscriptions for OIRs, or failing to report the subscriptions relevant to an OIR, in which case the DSS is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5, respectively.
✅ uss1_dss (2024-12-19T16:17:43.899669Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.900961Z)
If the DSS chose to create a new implicit subscription instead of updating the existing one, and the DSS did not remove the previous subscription, the DSS is in violation of either astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:43.904195Z)
This step creates a new OIR that only overlaps the OIR that has no implicit subscription, and expects to not have to notify any subscription related to the OIRs created in this scenario.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss1_dss (2024-12-19T16:17:43.918495Z)
Within a geotemporal area that does not intersect with any of the implicit subscriptions that are left within the DSS, the subscriptions returned for an OIR created within said area should correspond to the ones that were present when the test case started.
Otherwise, the DSS may be failing to properly implement astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:43.921147Z)
If the DSS attached an implicit subscription, by either creating or re-using an existing one, to the OIR that was created in this step, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.921094Z)
This test case verifies that implicit subscriptions are properly removed if they become unnecessary following the mutation of an OIR.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.967197Z)
✅ uss1_dss (2024-12-19T16:17:43.969766Z)
✅ uss1_dss (2024-12-19T16:17:43.972167Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:43.964373Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:43.940117Z)
✅ uss1_dss (2024-12-19T16:17:43.954499Z)
✅ uss1_dss (2024-12-19T16:17:43.964304Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:43.975121Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:43.977384Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
Creates two OIRs with an implicit subscription, which will then be replaced by an explicitly created subscription and deleted by an update that requests no subscription, respectively.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss1_dss (2024-12-19T16:17:43.991941Z)
✅ uss1_dss (2024-12-19T16:17:44.019115Z)
This test step fragment validates that implicit subscriptions are created and can be queried, and that they have the correct temporal parameters.
The creation of an operational intent which:
is expected to trigger the creation of a new implicit subscription.
If the DSS does not create the implicit subscription, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.001252Z)
✅ uss1_dss (2024-12-19T16:17:44.028842Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.002636Z)
✅ uss1_dss (2024-12-19T16:17:44.030112Z)
This test step creates a subscription that will be used to replace the implicit subscription that was created for an OIR.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check creation succeeds and response is correct.
✅ uss1_dss (2024-12-19T16:17:44.041779Z)
This step updates the OIR to use the subscription that was created in the previous step, and expects the previous implicit subscription to be removed.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
✅ uss1_dss (2024-12-19T16:17:44.063552Z)
If the implicit subscription that was attached to the OIR is still present after the OIR is updated to use another subscription, the DSS is failing to properly manage implicit subscriptions for OIRs, and is therefore in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.070142Z)
This step updates the OIR to not use any subscription, and expects the implicit subscription to be removed.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
✅ uss1_dss (2024-12-19T16:17:44.086830Z)
If the implicit subscription that was attached to the OIR is still present after the OIR is updated to use another subscription, the DSS is failing to properly manage implicit subscriptions for OIRs, and is therefore in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.095275Z)
This test case checks that a DSS will properly expand an implicit subscription to cover an OIR that is being attached to it.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.126739Z)
✅ uss1_dss (2024-12-19T16:17:44.130995Z)
✅ uss1_dss (2024-12-19T16:17:44.133238Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:44.124187Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.112541Z)
✅ uss1_dss (2024-12-19T16:17:44.124147Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:44.136754Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:44.141656Z)
✅ uss1_dss (2024-12-19T16:17:44.151027Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:44.148628Z)
Create an OIR with which interactions will be tested and request an implicit subscription to be created.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss1_dss (2024-12-19T16:17:44.168259Z)
This test step fragment validates that implicit subscriptions are created and can be queried, and that they have the correct temporal parameters.
The creation of an operational intent which:
is expected to trigger the creation of a new implicit subscription.
If the DSS does not create the implicit subscription, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.177100Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.178524Z)
Expand the previously created OIR's duration while explicitly specifying the implicit subscription that was automatically created for it.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
✅ uss1_dss (2024-12-19T16:17:44.196607Z)
The implicit subscription attached to the mutated OIR should be able to be queried.
If it cannot, the DSS is either improperly managing implicit subscriptions for OIRs, or failing to report the subscriptions relevant to an OIR, in which case the DSS is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5, respectively.
✅ uss1_dss (2024-12-19T16:17:44.205002Z)
This test step fragment validates the time-bounds of an implicit subscription with respect to the OIRs it needs to cover.
If the implicit subscription's time boundaries do not cover every OIR attached to it, the DSS is in violation of astm.f3548.v21.DSS0005,1.
Ensure that the attached implicit subscription has been expanded
✅ uss1_dss (2024-12-19T16:17:44.206505Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.232681Z)
✅ uss1_dss (2024-12-19T16:17:44.235020Z)
✅ uss1_dss (2024-12-19T16:17:44.237338Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:44.224330Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.224274Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:44.240110Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:44.242368Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. ∅ This check was not applicable to this test run and is therefore not statused.
Verifies the behavior of a DSS for simple interactions pertaining to operational intent references.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the base entity ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
ClientIdentityResource
the client identity that will be used to create and update operational intent references.
✅ Provided by utm_client_identity in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which operational intent references will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.250635Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:44.248391Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss1_dss (2024-12-19T16:17:44.264914Z)
Ensures that a DSS will only delete OIRs when the correct OVN is presented.
This step verifies that an existing OIR cannot be deleted with a missing OVN.
If the DSS under test allows the qualifier to delete an existing OIR with a request that provided an empty OVN, it is in violation of astm.f3548.v21.DSS0005,1
✅ uss1_dss (2024-12-19T16:17:44.266516Z)
This step verifies that an existing OIR cannot be deleted with an incorrect OVN.
If the DSS under test allows the qualifier to delete an existing OIR with a request that provided an incorrect OVN, it is in violation of astm.f3548.v21.DSS0005,1
✅ uss1_dss (2024-12-19T16:17:44.271999Z)
Test DSS behavior when mutation requests are not providing the required OVN.
This step verifies that an existing OIR cannot be mutated with a missing OVN.
If the DSS under test allows the qualifier to mutate an existing OIR with a request that provided an empty OVN, it is in violation of astm.f3548.v21.DSS0005,1
✅ uss1_dss (2024-12-19T16:17:44.277739Z)
This step verifies that an existing OIR cannot be mutated with an incorrect OVN.
If the DSS under test allows the qualifier to mutate an existing OIR with a request that provided an incorrect OVN, it is in violation of astm.f3548.v21.DSS0005,1
✅ uss1_dss (2024-12-19T16:17:44.282819Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.307549Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:44.300598Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.300550Z)
Verifies the behavior of a DSS for simple interactions pertaining to constraint references.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the base entity ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
ClientIdentityResource
the client identity that will be used to create and update constraint references.
✅ Provided by utm_client_identity in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which constraint references will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.321032Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
✅ uss1_dss (2024-12-19T16:17:44.318236Z)
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
This step ensures that no entities with the known test IDs exists in the DSS.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment validates that a query to create a constraint reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,3, the DSS API must allow callers to create a constraint reference with either one or both of the start and end time missing, provided all the required parameters are valid.
This step creates the constraint reference to be used in this scenario.
✅ uss1_dss (2024-12-19T16:17:44.330355Z)
Ensures that an existing CR can only be deleted when the correct OVN is provided.
This step verifies that an existing CR cannot be deleted with a missing OVN.
If the DSS under test allows the qualifier to delete an existing CR with a request that provided an empty OVN, it is in violation of astm.f3548.v21.DSS0005,3
✅ uss1_dss (2024-12-19T16:17:44.331745Z)
This step verifies that an existing CR cannot be deleted with an incorrect OVN.
If the DSS under test allows the qualifier to delete an existing CR with a request that provided an incorrect OVN, it is in violation of astm.f3548.v21.DSS0005,3
✅ uss1_dss (2024-12-19T16:17:44.334072Z)
Ensures that an existing CR can only be mutated when the correct OVN is provided.
This step verifies that an existing CR cannot be mutated with a missing OVN.
If the DSS under test allows the qualifier to mutate an existing CR with a request that provided an empty OVN, it is in violation of astm.f3548.v21.DSS0005,3
✅ uss1_dss (2024-12-19T16:17:44.337397Z)
This step verifies that an existing CR cannot be mutated with an incorrect OVN.
If the DSS under test allows the qualifier to mutate an existing CR with a request that provided an incorrect OVN, it is in violation of astm.f3548.v21.DSS0005,3
✅ uss1_dss (2024-12-19T16:17:44.340644Z)
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.354250Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
✅ uss1_dss (2024-12-19T16:17:44.344632Z)
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.352115Z)
Verifies that all CRUD operations on constraint references performed on a given DSS instance are properly propagated to every other DSS instance participating in the deployment.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the constraint reference ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which constraint reference will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
to be used for this scenario.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.362021Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
✅ uss1_dss (2024-12-19T16:17:44.359869Z)
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
∅ This check was not applicable to this test run and is therefore not statused.
This test case creates an constraint reference on the main DSS, and verifies that it is properly synchronized to the other DSS instances.
It then goes on to mutate and delete it, each time confirming that all other DSSes return the expected results.
This test step fragment validates that:
This test step fragment validates that a query to create a constraint reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,3, the DSS API must allow callers to create a constraint reference with either one or both of the start and end time missing, provided all the required parameters are valid.
Check query succeeds
✅ uss1_dss (2024-12-19T16:17:44.369252Z)
This test step fragment validates that a constraint references creation returns a body in the correct format.
The response to a successful constraint reference creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss1_dss (2024-12-19T16:17:44.670616Z)
A successful constraint reference creation query is expected to return a body, the content of which reflects the created constraint reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Verify that an constraint reference can be created on the primary DSS.
✅ uss1_dss (2024-12-19T16:17:44.671790Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.671429Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.671478Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.671517Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.671554Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.671591Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.671626Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.671698Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.671660Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.671735Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.671768Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
Verify that the constraint reference returned by the DSS under test is properly formatted and contains the expected content.
∅ This check was not applicable to this test run and is therefore not statused.
Retrieve and validate synchronization of the created constraint at every DSS provided in dss_instances
.
This test step fragment validates that constraint references can be read
This test step fragment validates that a query to retrieve an existing constraint reference with valid parameters succeeds.
If an existing constraint reference cannot successfully be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,3.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:44.676448Z)
✅ uss2_dss (2024-12-19T16:17:44.694557Z)
This test step fragment validates that a request for a constraint reference returns a properly formatted body.
The response to a successful get constraint reference query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss1_dss (2024-12-19T16:17:44.687709Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.706228Z)
A successful constraint reference creation query is expected to return a body, the content of which reflects a constraint reference that was created earlier. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that read query succeeds.
✅ uss1_dss (2024-12-19T16:17:44.688950Z)
✅ uss1_dss (2024-12-19T16:17:44.707458Z)
If the constraint retrieved from a secondary DSS instance is not consistent with the newly created one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1a, astm.f3548.v21.DSS0210,A2-7-2,1f, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.677461Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.695769Z)
This test step fragment validates that constraint references are properly synchronized across a set of DSS instances.
If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.676516Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.694638Z)
When querying a secondary DSS for constraints in the planning area that contains the propagated constraint, if the propagated constraint is not contained in the response, then the general area in which the propagated constraint is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fail to properly one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.676590Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.694722Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.676634Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.694780Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.677389Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.695676Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS provides direct access to the created constraint reference. Confirm that the constraint reference that was just created is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:44.677438Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.695739Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.688470Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.706974Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.688525Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707027Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.688569Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707069Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.688610Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707108Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.688651Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707146Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.688690Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707183Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.688770Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707260Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.688728Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707220Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.688811Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707300Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.688851Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707357Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
Sanity check on the rest of the content and format of the response.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.688930Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707438Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
Confirm that version and OIR are as expected.
✅ uss1_dss (2024-12-19T16:17:44.688891Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.707399Z)
Search for and validate synchronization of the created constraint at every DSS provided in dss_instances
.
This test step fragment validates that constraint references can be searched for.
This test step fragment validates that a query to search for constraint references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the CR was created, it is failing to meet astm.f3548.v21.DSS0005,4.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:44.711436Z)
✅ uss2_dss (2024-12-19T16:17:44.728088Z)
This test step fragment validates that constraint references search responses are properly formatted.
The response to a successful constraint reference search query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
Check response format.
✅ uss1_dss (2024-12-19T16:17:44.722847Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.739675Z)
If the existing constraint reference is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,4.
✅ uss1_dss (2024-12-19T16:17:44.723576Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740362Z)
A successful constraint reference search query is expected to return a body, the content of which reflects any constraint reference present in the searched area. This includes the previously created constraint reference, which should accurately represent the constraint reference as it was requested. If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that search query succeeds and the response is well-formed.
✅ uss1_dss (2024-12-19T16:17:44.724086Z)
✅ uss1_dss (2024-12-19T16:17:44.741025Z)
If the constraint searched from a secondary DSS instance is not consistent with the newly created one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1a, astm.f3548.v21.DSS0210,A2-7-2,1e, , astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.712397Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.729051Z)
This test step fragment validates that constraint references are properly synchronized across a set of DSS instances.
If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
When querying a secondary DSS for constraints in the planning area that contains the propagated constraint, if the propagated constraint is not contained in the response, then the general area in which the propagated constraint is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fail to properly one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.711501Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.728152Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.711565Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.728216Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.711609Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.728259Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.712302Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.728983Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS returns the constraint in relevant search results. Confirm that the constraint reference that was just created is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:44.712374Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.729029Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.723632Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740429Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.723674Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740484Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.723715Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740542Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.723755Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740587Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.723794Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740645Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.723832Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740700Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.723912Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740802Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.723871Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740745Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.723952Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740847Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.723990Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740904Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.724065Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.741001Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.724028Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.740958Z)
This test step mutates the previously created constraint reference to verify that the DSS reacts properly: notably, it checks that the constraint reference version is updated, including for changes that are not directly visible, such as changing the constraint reference's footprint.
This test step fragment validates that constraint references can be updated.
This test step fragment validates that a query to update a constraint reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,3, the DSS API must allow callers to mutate a constraint reference.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:44.750445Z)
This test step fragment validates that updates to constraint references return a body in the correct format.
The response to a successful constraint reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss1_dss (2024-12-19T16:17:44.761169Z)
A successful constraint reference mutation query is expected to return a well-defined body, the content of which reflects the updated constraint reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Confirm that the constraint reference can be mutated.
✅ uss1_dss (2024-12-19T16:17:44.762308Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.761886Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.761933Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.761971Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.762007Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.762044Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.762079Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.762149Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.762112Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.762185Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.762218Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
Verify that the constraint reference returned by the DSS is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been mutated.
The code for these checks lives in the cr_validator.py class.
Following a mutation, the DSS needs to update the constraint reference version, otherwise it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.762287Z)
Following a mutation, the DSS needs to update the constraint reference OVN, otherwise it is in violation of astm.f3548.v21.DSS0005,3.
Verify that the constraint reference's version fields have been updated.
✅ uss1_dss (2024-12-19T16:17:44.762253Z)
Retrieve and validate synchronization of the updated constraint at every DSS provided in dss_instances
.
This test step fragment validates that constraint references can be read
This test step fragment validates that a query to retrieve an existing constraint reference with valid parameters succeeds.
If an existing constraint reference cannot successfully be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,3.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:44.765644Z)
✅ uss2_dss (2024-12-19T16:17:44.781488Z)
This test step fragment validates that a request for a constraint reference returns a properly formatted body.
The response to a successful get constraint reference query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss1_dss (2024-12-19T16:17:44.776812Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.793094Z)
A successful constraint reference creation query is expected to return a body, the content of which reflects a constraint reference that was created earlier. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that read query succeeds and the response is well-formed.
✅ uss1_dss (2024-12-19T16:17:44.778008Z)
✅ uss1_dss (2024-12-19T16:17:44.794373Z)
If the constraint retrieved from a secondary DSS instance is not consistent with the updated one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1b, astm.f3548.v21.DSS0210,A2-7-2,1d, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.766602Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.782421Z)
This test step fragment validates that constraint references are properly synchronized across a set of DSS instances.
If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.765707Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.781547Z)
When querying a secondary DSS for constraints in the planning area that contains the propagated constraint, if the propagated constraint is not contained in the response, then the general area in which the propagated constraint is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fail to properly one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.765770Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.781609Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.765813Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.781650Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.766535Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.782350Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS provides direct access to the updated constraint reference. Confirm that the constraint reference that was just updated is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:44.766581Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.782399Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.777496Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.793811Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.777549Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.793864Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.777619Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.793906Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.777667Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.793946Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.777709Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.793986Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.777749Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.794024Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.777829Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.794102Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.777788Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.794062Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.777870Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.794164Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.777909Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.794213Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.777987Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.794341Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.777948Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.794271Z)
Search for and validate synchronization of the updated constraint at every DSS provided in dss_instances
.
This test step fragment validates that constraint references can be searched for.
This test step fragment validates that a query to search for constraint references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the CR was created, it is failing to meet astm.f3548.v21.DSS0005,4.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:44.798368Z)
✅ uss2_dss (2024-12-19T16:17:44.814573Z)
This test step fragment validates that constraint references search responses are properly formatted.
The response to a successful constraint reference search query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
Check response format.
✅ uss1_dss (2024-12-19T16:17:44.809643Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.825663Z)
If the existing constraint reference is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,4.
✅ uss1_dss (2024-12-19T16:17:44.810311Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826353Z)
A successful constraint reference search query is expected to return a body, the content of which reflects any constraint reference present in the searched area. This includes the previously created constraint reference, which should accurately represent the constraint reference as it was requested. If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that search query succeeds and the response is well-formed.
✅ uss1_dss (2024-12-19T16:17:44.810830Z)
✅ uss1_dss (2024-12-19T16:17:44.826856Z)
If the constraint searched from a secondary DSS instance is not consistent with the updated one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1b, astm.f3548.v21.DSS0210,A2-7-2,1e, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.799303Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.815527Z)
This test step fragment validates that constraint references are properly synchronized across a set of DSS instances.
If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
When querying a secondary DSS for constraints in the planning area that contains the propagated constraint, if the propagated constraint is not contained in the response, then the general area in which the propagated constraint is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fail to properly one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.798434Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.814637Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.798499Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.814701Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.798542Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.814744Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:44.799236Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.815460Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS returns the constraint in relevant search results. Confirm that the constraint reference that was just updated is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:44.799283Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.815507Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.810382Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826408Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.810425Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826451Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.810464Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826490Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.810502Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826529Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.810541Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826568Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.810579Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826606Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.810657Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826684Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.810616Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826643Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.810697Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826724Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.810735Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826762Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.810809Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826836Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.810772Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.826799Z)
Attempt to delete the constraint reference in various ways and ensure that the DSS reacts properly.
This also checks that the constraint reference data returned by a successful deletion is correct.
This test step fragment validates that constraint references can be deleted
A query to delete a constraint reference, by its owner and when the correct OVN is provided, should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.833911Z)
This test step fragment validates that a constraint references deletion returns a body in the correct format.
The response to a successful constraint reference deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss1_dss (2024-12-19T16:17:44.844517Z)
A successful constraint reference deletion query is expected to return a body, the content of which reflects the constraint reference at the moment of deletion. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Confirm that an constraint reference can be deleted.
✅ uss1_dss (2024-12-19T16:17:44.845649Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.845210Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.845257Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.845296Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.845350Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.845389Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.845423Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.845493Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.845456Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.845528Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss (2024-12-19T16:17:44.845562Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
Verify that the constraint reference returned by the DSS via the deletion is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.845628Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
Verify that the constraint reference's version fields are as expected.
✅ uss1_dss (2024-12-19T16:17:44.845595Z)
Attempt to query and search for the deleted constraint reference in various ways
This test step fragment validates that constraint references can be read
This test step fragment validates that a query to retrieve an existing constraint reference with valid parameters succeeds.
If an existing constraint reference cannot successfully be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,3.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:44.848228Z)
✅ uss2_dss (2024-12-19T16:17:44.853292Z)
This test step fragment validates that a request for a constraint reference returns a properly formatted body.
The response to a successful get constraint reference query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
∅ This check was not applicable to this test run and is therefore not statused.
A successful constraint reference creation query is expected to return a body, the content of which reflects a constraint reference that was created earlier. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that read query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
If a DSS returns an constraint reference that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the constraint reference is in violation of astm.f3548.v21.DSS0210,2a, astm.f3548.v21.DSS0210,A2-7-2,3b, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss, uss1_dss (2024-12-19T16:17:44.848274Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.853369Z)
This test step fragment validates that a query to search for constraint references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the CR was created, it is failing to meet astm.f3548.v21.DSS0005,4.
Check that search query succeeds.
✅ uss1_dss (2024-12-19T16:17:44.851096Z)
✅ uss2_dss (2024-12-19T16:17:44.856148Z)
If a DSS returns an constraint reference that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the constraint reference is in violation of astm.f3548.v21.DSS0210,2a, astm.f3548.v21.DSS0210,A2-7-2,3a, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss, uss1_dss (2024-12-19T16:17:44.851142Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:44.856195Z)
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:44.861713Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
✅ uss1_dss (2024-12-19T16:17:44.859642Z)
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3. ∅ This check was not applicable to this test run and is therefore not statused.
Verifies that all CRUD operations for USS availabilities on a given DSS instance are properly propagated to every other DSS instance participating in the deployment.
DSSInstanceResource
the DSS instance through which USS availabilities are created, modified and deleted.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that USS availabilities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
ClientIdentityResource
to be used for this scenario: it contains the identifier of the USS
for which availabilities will be updated.
✅ Provided by utm_client_identity in top-level resource pool.
For the setup of this test case, the scenario ensures that the availability for the USS specified in the client_identity
resource
is Unknown
, which is the default expected state when nothing else is known.
This step ensures that the scenario starts from a state where the USS availability is Unknown
.
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:44.867211Z)
✅ uss1_dss (2024-12-19T16:17:44.870153Z)
✅ uss2_dss (2024-12-19T16:17:44.874402Z)
A valid request to set the availability of a USS to Unknown
should be accepted by the DSS,
otherwise it is failing to implement the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
Checks that updates to a USS availability on one DSS instance are properly propagated to every other DSS instance in the deployment.
Ensures that this is true for every possible availability state.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:44.881457Z)
✅ uss2_dss (2024-12-19T16:17:44.883850Z)
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:44.890524Z)
✅ uss2_dss (2024-12-19T16:17:44.893383Z)
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:44.900955Z)
✅ uss2_dss (2024-12-19T16:17:44.903356Z)
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
Checks that if queried for a USS it does not know about, any DSS will return an Unknown
availability.
This test step requests the availability for a USS identifier that is not known to any DSS instance, and expects
to receive an Unknown
availability along with an unset version. This should be true for every DSS that is part of the same deployment.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:44.908469Z)
✅ uss2_dss (2024-12-19T16:17:44.911008Z)
If the primary DSS instance does not return an Unknown
availability for a USS identifier that has not received any updates,
it is in violation of the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:44.906024Z)
If the primary DSS instance reports a non-empty version for the availability of an USS identifier that should not be known to the DSS, it is in violation of the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:44.906086Z)
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:44.913467Z)
A valid request to set the availability of a USS to Unknown
should be accepted by the DSS,
otherwise it is failing to implement the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This scenario ensures that a DSS will only let the owner of an operational intent reference modify it.
A resources.flight_planning.FlightIntentsResource
containing the flight intents to be used in this scenario:
This scenario expects to find at least one flight intent in this resource. It will use its extents to create and mutate an operational intent reference, but ignore any specified states, as this scenario will iterate over all allowed states.
✅ Provided by non_conflicting_flights in top-level resource pool.
A resources.astm.f3548.v21.DSSInstanceResource
pointing to the DSS instance to test for this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
A resources.interuss.IDGeneratorResource
that will be used to generate the IDs of the operational intent references created in this scenario.
✅ Provided by id_generator in top-level resource pool.
Makes sure that the DSS is in a clean and expected state before running the test, and that the passed resources work as required.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.920610Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:44.927455Z)
✅ uss1_dss (2024-12-19T16:17:44.930887Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If, after cleanup, one or more operational intent reference are still present at the DSS, this scenario cannot proceed.
This scenario is able to remove any operational intent reference that belongs to the configured credentials, but it cannot remove references that belong to other credentials.
A regular failure of this check indicates that other scenarios might not properly clean up their resources, or that the Prepare Flight Planners scenario should be moved in front of the present one.
If this check fails, the rest of the scenario is entirely skipped.
✅ uss1_dss (2024-12-19T16:17:44.930932Z)
This test case attempts to create an operational intent reference with a state that would require the utm.conformance_monitoring_sa
scope while only using
the utm.strategic_coordination
scope.
This test step attempts to directly create an operational intent reference with a state that is not allowable.
The creation of such an entity is expected to fail for two reasons:
Accepted
utm.conformance_monitoring_sa
, a client is not allowed to request an Off-nominal state.If the DSS allows a client with the utm.strategic_coordination
scope to create an operational intent reference in the Nonconforming
state,
it is in violation of astm.f3548.v21.SCD0100 and astm.f3548.v21.DSS0005,1.
✅ uss1_dss, mock_uss (2024-12-19T16:17:44.935881Z)
If the DSS allows a client with the utm.strategic_coordination
scope to create an operational intent reference in the Contingent
state,
it is in violation of astm.f3548.v21.SCD0100 and astm.f3548.v21.DSS0005,1.
✅ uss1_dss, mock_uss (2024-12-19T16:17:44.938086Z)
This test case attempts to transition an existing operational intent reference to a state that would require the utm.conformance_monitoring_sa
scope while only using
the utm.strategic_coordination
scope.
This step sets up an operational intent reference in the Accepted
state.
If the DSS does not allow a client with the utm.strategic_coordination
scope to create an operational intent reference in the Accepted
state,
it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.952984Z)
This test step attempts to transition an existing operational intent reference to a state it should not be allowed to when using the ``utm.strategic_coordination` scope.
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Accepted
state to the Nonconforming
state,
it is in violation of astm.f3548.v21.SCD0100.
✅ uss1_dss, mock_uss (2024-12-19T16:17:44.954801Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Accepted
state to the Contingent
state,
it is in violation of astm.f3548.v21.SCD0100.
✅ uss1_dss, mock_uss (2024-12-19T16:17:44.956524Z)
This step transitions the operational intent reference to the Activated
state.
If the DSS does not allow a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Accepted
state to the Activated
state,
it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.972213Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Activated
state to the Nonconforming
state,
it is in violation of astm.f3548.v21.SCD0100.
✅ uss1_dss, mock_uss (2024-12-19T16:17:44.973996Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Activated
state to the Contingent
state,
it is in violation of astm.f3548.v21.SCD0100.
✅ uss1_dss, mock_uss (2024-12-19T16:17:44.975570Z)
If the DSS does not allow a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Activated
state to the Ended
state,
it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.991611Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Ended
state to the Nonconforming
state,
it is in violation of astm.f3548.v21.SCD0100 and astm.f3548.v21.DSS0005,1.
✅ uss1_dss, mock_uss (2024-12-19T16:17:44.993414Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Ended
state to the Contingent
state,
it is in violation of astm.f3548.v21.SCD0100 and astm.f3548.v21.DSS0005,1.
✅ uss1_dss, mock_uss (2024-12-19T16:17:44.994939Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:44.999023Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:45.010764Z)
Create and mutate subscriptions as well as entities, and verify that the DSS handles notifications and expiry correctly.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription IDs for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
provides the identity that will be used to interact with the DSS.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:45.018896Z)
✅ uss1_dss (2024-12-19T16:17:45.021017Z)
✅ uss1_dss (2024-12-19T16:17:45.023160Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:45.016533Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:45.025793Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:45.027960Z)
✅ uss1_dss (2024-12-19T16:17:45.030070Z)
✅ uss1_dss (2024-12-19T16:17:45.032139Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
This test case verifies that after a subscription is deleted from a DSS instance, it cannot be retrieved from any other DSS instance.
This test step will create a new subscription at every DSS, in sequence.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check that the subscription creation succeeds.
✅ uss1_dss (2024-12-19T16:17:45.040129Z)
✅ uss1_dss (2024-12-19T16:17:45.049505Z)
✅ uss1_dss (2024-12-19T16:17:45.059255Z)
This test step will delete the freshly created subscription at every DSS, in sequence. It then verifies that the subscription has been deleted from all DSS instances.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to remove a subscription succeeds.
An attempt to delete a subscription when the correct version is provided should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Check that the subscription deletion succeeds.
✅ uss1_dss (2024-12-19T16:17:45.066838Z)
✅ uss1_dss (2024-12-19T16:17:45.080468Z)
✅ uss2_dss (2024-12-19T16:17:45.090823Z)
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check that the subscription retrieval from all DSS instance succeeds. It is expected to be not found, but that is validated in the check below.
✅ uss2_dss (2024-12-19T16:17:45.070872Z)
✅ uss1_dss (2024-12-19T16:17:45.073796Z)
✅ uss2_dss (2024-12-19T16:17:45.082698Z)
✅ uss1_dss (2024-12-19T16:17:45.084847Z)
✅ uss1_dss (2024-12-19T16:17:45.093068Z)
✅ uss1_dss (2024-12-19T16:17:45.095186Z)
The subscription deleted on a DSS instance must have been removed from all other DSS instances.
If the subscription still exists on one of the other DSS instances, one of the instances fails to comply with astm.f3548.v21.DSS0210,A2-7-2,5a.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:45.070919Z)
✅ uss1_dss, uss1_dss (2024-12-19T16:17:45.073845Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:45.082742Z)
✅ uss1_dss, uss1_dss (2024-12-19T16:17:45.084890Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:17:45.093111Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:17:45.095229Z)
This test case verifies that after a subscription is deleted, newly created or modified OIRs will not receive the relevant subscriptions to notify from the DSS instance, regardless of which instance was used to create or modify the entity.
This test step will create an operational intent reference at every DSS, in sequence, each time verifying that the DSS does not require notification for any previously deleted subscription that intersects with the newly created OIR.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
Check that the OIR creation query succeeds.
✅ uss1_dss (2024-12-19T16:17:45.112859Z)
✅ uss1_dss (2024-12-19T16:17:45.131595Z)
✅ uss2_dss (2024-12-19T16:17:45.150641Z)
The response from a DSS to a valid OIR creation request is expected to contain any relevant subscription for the OIR's extents. This does not include subscriptions deleted earlier.
If the DSS includes a deleted subscription, it fails to implement astm.f3548.v21.DSS0210,A2-7-2,5b.
✅ uss1_dss (2024-12-19T16:17:45.112919Z)
✅ uss1_dss (2024-12-19T16:17:45.131660Z)
✅ uss2_dss (2024-12-19T16:17:45.150718Z)
This test step will modify an operational intent reference at every DSS, in sequence, each time verifying that the DSS does not require notification for any previously deleted subscription that intersects with the modified OIR.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
Check that the OIR modification query succeeds.
✅ uss1_dss (2024-12-19T16:17:45.170038Z)
✅ uss1_dss (2024-12-19T16:17:45.187910Z)
✅ uss2_dss (2024-12-19T16:17:45.206634Z)
The response from a DSS to a valid OIR modification request is expected to contain any relevant subscription for the OIR's extents. This does not include subscriptions deleted earlier.
If the DSS includes a deleted subscription, it fails to implement astm.f3548.v21.DSS0210,A2-7-2,5c.
✅ uss1_dss (2024-12-19T16:17:45.170111Z)
✅ uss1_dss (2024-12-19T16:17:45.187971Z)
✅ uss2_dss (2024-12-19T16:17:45.206694Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:45.263350Z)
✅ uss1_dss (2024-12-19T16:17:45.265517Z)
✅ uss1_dss (2024-12-19T16:17:45.268053Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:45.261026Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:45.229665Z)
✅ uss1_dss (2024-12-19T16:17:45.245201Z)
✅ uss1_dss (2024-12-19T16:17:45.260989Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:45.271014Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:45.273193Z)
✅ uss1_dss (2024-12-19T16:17:45.275357Z)
✅ uss1_dss (2024-12-19T16:17:45.277498Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. ∅ This check was not applicable to this test run and is therefore not statused.
Create and mutate subscriptions as well as entities, and verify that the DSS handles notifications and expiry correctly.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription IDs for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
provides the identity that will be used to interact with the DSS.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:45.284759Z)
✅ uss1_dss (2024-12-19T16:17:45.287444Z)
✅ uss1_dss (2024-12-19T16:17:45.289669Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:45.282600Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:45.292405Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:45.294579Z)
✅ uss1_dss (2024-12-19T16:17:45.296670Z)
✅ uss1_dss (2024-12-19T16:17:45.298837Z)
✅ uss1_dss (2024-12-19T16:17:45.300893Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
This step ensures that no subscriptions and OIRs with the known test IDs exists in the DSS deployment.
∅ This check was not applicable to this test run and is therefore not statused.
This test case verifies that newly created or modified OIRs will receive the relevant subscriptions to notify from the DSS instance, regardless of which instance was used to create the entity.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Sets up the subscription that cover the planning area from 'now' to 20 minutes in the future, and which will be used as part of the interaction tests.
✅ uss1_dss (2024-12-19T16:17:45.309188Z)
This test step will create an operational intent reference and assorted subscription at every DSS, in sequence, each time verifying that the DSS requires notifications for any previously established subscription that intersects with the newly created OIR.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
Check that the OIR creation query succeeds
✅ uss1_dss (2024-12-19T16:17:45.327405Z)
✅ uss1_dss (2024-12-19T16:17:45.346373Z)
✅ uss2_dss (2024-12-19T16:17:45.365838Z)
The response from a DSS to a valid OIR creation request is expected to contain any relevant subscription for the OIR's extents. This includes the subscription created earlier, as it is designed to intersect with the OIRs being created.
If the DSS omits the intersecting subscription, it fails to implement astm.f3548.v21.DSS0210,A2-7-2,4b.
✅ uss1_dss (2024-12-19T16:17:45.327481Z)
✅ uss1_dss (2024-12-19T16:17:45.346438Z)
✅ uss2_dss (2024-12-19T16:17:45.365901Z)
The response from a DSS to a valid OIR creation request is expected to contain any relevant subscription for the OIR's extents. This includes any implicit subscription previously created on the DSS as part of a previously created OIR.
If the DSS omits any of the implicit subscriptions belonging to an OIR previously created on another DSS (which are designed to all intersect), any of the DSSes at which an earlier OIR was created, or the DSS at which the current OIR has been created, are in violation of astm.f3548.v21.DSS0210,A2-7-2,4b.
✅ uss1_dss, uss1_dss, uss2_dss (2024-12-19T16:17:45.327533Z)
✅ uss1_dss, uss1_dss, uss2_dss (2024-12-19T16:17:45.346479Z)
✅ uss1_dss, uss1_dss, uss2_dss (2024-12-19T16:17:45.365940Z)
This test step will modify the previously created operational intent reference and assorted subscription at every DSS, in sequence, each time verifying that the DSS requires notifications for any previously established subscription that intersects with the modified OIR.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
Check that the OIR modification query succeeds
✅ uss1_dss (2024-12-19T16:17:45.384641Z)
✅ uss1_dss (2024-12-19T16:17:45.404298Z)
✅ uss2_dss (2024-12-19T16:17:45.423588Z)
The response from a DSS to a valid OIR modification request is expected to contain any relevant subscription for the OIR's extents. This includes the subscription created earlier, as it is designed to intersect with the OIRs being modified.
If the DSS omits the intersecting subscription, it fails to implement astm.f3548.v21.DSS0210,A2-7-2,4c.
✅ uss1_dss (2024-12-19T16:17:45.384726Z)
✅ uss1_dss (2024-12-19T16:17:45.404388Z)
✅ uss2_dss (2024-12-19T16:17:45.423651Z)
The response from a DSS to a valid OIR modification request is expected to contain any relevant subscription for the OIR's extents. This includes any implicit subscription previously created on the DSS as part of a previously created OIR.
If the DSS omits any of the implicit subscriptions belonging to an OIR previously created over time range A on another DSS (which are designed to all intersect), any of the DSSes at which an earlier OIR was created, or the DSS at which the current OIR has been modified, are in violation of astm.f3548.v21.DSS0210,A2-7-2,4c.
✅ uss1_dss, uss1_dss, uss2_dss (2024-12-19T16:17:45.384776Z)
✅ uss1_dss, uss1_dss, uss2_dss (2024-12-19T16:17:45.404436Z)
✅ uss1_dss, uss1_dss, uss2_dss (2024-12-19T16:17:45.423693Z)
This test case checks that, when a newly created subscription intersects with an existing OIR and that the subscription is intended for operational intent references, the DSS includes the relevant OIRs in the response to the creation.
This test step will create a new subscription at every DSS, in sequence, each time verifying that the DSS returns any OIRs that intersect with the newly created subscription.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check that the subscription creation succeeds.
✅ uss1_dss (2024-12-19T16:17:45.435018Z)
The response from a DSS to a valid subscription creation request is expected to contain any relevant OIRs for the subscription's extents if the subscription had the notify_for_op_intents
flag set to true
.
If the DSS omits the intersecting OIR, it fails to comply with astm.f3548.v21.DSS0210,A2-7-2,4a.
✅ uss1_dss (2024-12-19T16:17:45.435082Z)
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:45.439638Z)
✅ uss2_dss (2024-12-19T16:17:45.443690Z)
The subscription created on a DSS instance must be retrievable from all other DSS instances.
If the subscription does not exist on one of the other DSS instances, one of the instances fails to comply with astm.f3548.v21.DSS0210,A2-7-2,4a.
✅ uss1_dss, uss1_dss (2024-12-19T16:17:45.439690Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:45.443741Z)
This test case validates that expired subscriptions (created explicitly) are removed from all DSS instances. To validate this requirement, the subscriptions that were previously created at each DSS instance are modified so that they expire shortly after the modification. Then it is checked that all the associated subscriptions were removed from all the DSS instances by searching for them in their planning area. Do note that they are not queried directly, as it is deemed acceptable for expired subscription that were not explicitly deleted to still be retrievable.
This test step will modify explicit subscriptions that were previously created at each DSS instance so that they expire shortly after the modification.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to update a subscription succeeds.
If a subscription cannot be updated with a valid set of parameters, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check that the subscription modifications succeed and wait for them to expire.
✅ uss1_dss (2024-12-19T16:17:45.492937Z)
✅ uss1_dss (2024-12-19T16:17:45.502233Z)
✅ uss2_dss (2024-12-19T16:17:45.511500Z)
This test step fragment validates that a query to search for subscriptions succeeds.
If the DSS fails to let us search in the area for which the subscription was created, it is failing to meet astm.f3548.v21.DSS0005,5.
Check that query succeeds.
✅ uss1_dss (2024-12-19T16:17:52.524963Z)
✅ uss1_dss (2024-12-19T16:17:52.546197Z)
✅ uss1_dss (2024-12-19T16:17:52.565542Z)
✅ uss1_dss (2024-12-19T16:17:52.584573Z)
✅ uss2_dss (2024-12-19T16:17:52.606505Z)
✅ uss2_dss (2024-12-19T16:17:52.624418Z)
The explicit subscription expired on a DSS instance must have been removed from all other DSS instances.
If the subscription still exists on one of the other DSS instances, one of the instances fails to comply with astm.f3548.v21.DSS0210,A2-7-2,4d.
✅ uss1_dss, uss1_dss (2024-12-19T16:17:52.532375Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:52.554359Z)
✅ uss1_dss, uss1_dss (2024-12-19T16:17:52.571330Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:52.593593Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:17:52.612111Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:17:52.630530Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:52.703048Z)
✅ uss1_dss (2024-12-19T16:17:52.706356Z)
✅ uss1_dss (2024-12-19T16:17:52.709011Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:52.699877Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:52.657110Z)
✅ uss1_dss (2024-12-19T16:17:52.680278Z)
✅ uss1_dss (2024-12-19T16:17:52.699836Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:52.713152Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:52.719728Z)
✅ uss1_dss (2024-12-19T16:17:52.732309Z)
✅ uss1_dss (2024-12-19T16:17:52.736144Z)
✅ uss1_dss (2024-12-19T16:17:52.748911Z)
✅ uss1_dss (2024-12-19T16:17:52.761948Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:52.729476Z)
✅ uss1_dss (2024-12-19T16:17:52.744529Z)
✅ uss1_dss (2024-12-19T16:17:52.757439Z)
✅ uss1_dss (2024-12-19T16:17:52.770749Z)
Verifies that a DSS requires from a client creating or updating operational intent references that they provide all OVNs for all currently relevant entities.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the base entity ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
ClientIdentityResource
the client identity that will be used to create and update operational intent references.
✅ Provided by utm_client_identity in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which operational intent references will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:52.782726Z)
✅ uss1_dss (2024-12-19T16:17:52.785261Z)
✅ uss1_dss (2024-12-19T16:17:52.787649Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:52.779010Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
This step ensures that no operational intent references with the known test IDs exists in the DSS.
∅ This check was not applicable to this test run and is therefore not statused.
This test case will create multiple operational intent references and verify that the key
field
of the parameters to create or update an operational intent reference is properly validated.
That is: the DSS should require that the client provides the OVNs for each entity that is in the vicinity, both geographically and temporally, of the client's operational intent reference.
This step creates one operational intent references. As no other operational intent reference is present,
the key
field may remain empty.
With no potentially conflicting entity present, the DSS is expected to allow the creation of an operational intent without
the client specifying any OVN in the key
field.
If the DSS rejects a well-formed request to create the operational intent reference, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:52.807097Z)
This step creates a second operational intent references that does not overlap in time with the first, and
should therefore not require any entry in the key
field.
With a single existing OIR in the area that is not overlapping in time, the DSS is expected to allow the creation of an operational intent without
the client specifying any OVN in the key
field.
If the DSS rejects a well-formed request to create the operational intent reference, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:52.824759Z)
This test step will attempt to create an operational intent reference that intersects with the first of the previously created OIR,
and expect the DSS to require its OVN to be provided in the key
field.
This step will validate the response body for the HTTP 409
error response from the DSS when it contains the optional missing_operational_intents
field.
This test step fragment validates that requests for operational intent reference creation that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the creation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2a
✅ uss1_dss (2024-12-19T16:17:52.837891Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss1_dss (2024-12-19T16:17:52.851267Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
Checks that an attempt to create an OIR without specifying the OVN of the already existing and overlapping OIR fails.
✅ uss1_dss (2024-12-19T16:17:52.852586Z)
This test step will attempt to create an operational intent reference that intersects with the second of the previously created OIR,
and expect the DSS to require its OVN to be provided in the key
field.
This step will validate the response body for the HTTP 409
error response from the DSS when it contains the optional missing_operational_intents
field.
This test step fragment validates that requests for operational intent reference creation that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the creation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2a
✅ uss1_dss (2024-12-19T16:17:52.864935Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss1_dss (2024-12-19T16:17:52.876838Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
Checks that an attempt to create an OIR without specifying the OVN of the already existing and overlapping OIR fails.
✅ uss1_dss (2024-12-19T16:17:52.877854Z)
This test step will attempt to create an operational intent reference that intersects with both of the previously created OIRs,
and expect the DSS to require their OVNs to be provided in the key
field.
This step will validate the response body for the HTTP 409
error response from the DSS when it contains the optional missing_operational_intents
field.
This test step fragment validates that requests for operational intent reference creation that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the creation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2a
✅ uss1_dss (2024-12-19T16:17:52.891183Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss1_dss (2024-12-19T16:17:52.904239Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
Checks that an attempt to create an OIR without specifying the OVNs of the already existing and overlapping OIRs fails.
✅ uss1_dss (2024-12-19T16:17:52.905953Z)
This test step will attempt to create an operational intent reference that intersects with both of the previously created OIRs,
while providing the required OVNs in the key
field.
After this test step succeeds, three OIRs are expected to exist in the DSS, with one intersecting with the two others.
If the DSS prevents the creation of an operational intent reference that is providing all required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:52.932515Z)
This test case will update multiple operational intent references and verify that the key
field
of the parameters to create or update an operational intent reference is properly validated.
That is: the DSS should require that the client provides the OVNs for each entity that is in the vicinity, both geographically and temporally, of the client's operational intent reference.
This test step will attempt to mutate the third previously created operational intent reference so that it keeps overlapping with the others,
while omitting their OVNs in the key
field.
The expectation is that the DSS will require the two missing OVNs.
This test step fragment validates that requests for operational intent references updates that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the mutation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2b
✅ uss1_dss (2024-12-19T16:17:52.962451Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss1_dss (2024-12-19T16:17:52.976632Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:52.978440Z)
This test step will attempt to mutate the third previously created operational intent reference so that it keeps overlapping with the others,
while omitting the first OVN in the key
field.
The expectation is that the DSS will require the missing OVN.
This test step fragment validates that requests for operational intent references updates that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the mutation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2b
✅ uss1_dss (2024-12-19T16:17:52.993007Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss1_dss (2024-12-19T16:17:53.007972Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.008910Z)
This test step will attempt to mutate the third previously created operational intent reference so that it overlaps with the first one,
while omitting the first OVN in the key
field.
The expectation is that the DSS will require the missing OVN.
This test step fragment validates that requests for operational intent references updates that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the mutation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2b
✅ uss1_dss (2024-12-19T16:17:53.022402Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss1_dss (2024-12-19T16:17:53.037024Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.038409Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.099625Z)
✅ uss1_dss (2024-12-19T16:17:53.102722Z)
✅ uss1_dss (2024-12-19T16:17:53.105489Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:53.095012Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.062156Z)
✅ uss1_dss (2024-12-19T16:17:53.077703Z)
✅ uss1_dss (2024-12-19T16:17:53.094959Z)
Verifies that all CRUD operations on operational intent references performed on a given DSS instance are properly propagated to every other DSS instance participating in the deployment.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the operational intent reference ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which operational intent reference will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
to be used for this scenario.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.116092Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:53.113452Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
This test case creates an operational intent reference on the main DSS, and verifies that it is properly synchronized to the other DSS instances.
It then goes on to mutate and delete it, each time confirming that all other DSSes return the expected results.
This test step fragment validates that:
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
Check query succeeds
✅ uss1_dss (2024-12-19T16:17:53.136583Z)
This test step fragment validates that an operational intent references creation returns a body in the correct format.
The response to a successful operational intent reference creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format
✅ uss1_dss (2024-12-19T16:17:53.153565Z)
A successful operational intent reference creation query is expected to return a body, the content of which reflects the created operational intent reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
Verify that an operational intent reference can be created on the primary DSS.
✅ uss1_dss (2024-12-19T16:17:53.155543Z)
This test step fragment attempts to validate the content of a single operational intent reference returned by the DSS.
Fields that require different handling based on if the operational intent reference was mutated or not are covered
The code for these checks lives in the oir_validator.py class.
If the returned operational intent reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.154935Z)
If the returned operational intent reference has no manager defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.155019Z)
The returned manager must correspond to the identity of the client that created the operational intent at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.155091Z)
The returned state must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned operational intent reference has no USS base URL defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.155156Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at operational intent reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.155227Z)
If the returned operational intent reference has no start time defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.155298Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.155445Z)
Operational intent references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.155377Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.155499Z)
If the returned operational intent reference has no version defined, astm.f3548.v21.DSS0005,1 is not respected.
Verify that the operational intent reference returned by the DSS under test is properly formatted and contains the expected content.
∅ This check was not applicable to this test run and is therefore not statused.
Retrieve and validate synchronization of the created operational intent at every DSS provided in dss_instances
.
This test step fragment validates that a query to retrieve an operational intent reference with valid parameters succeeds.
If an operational intent reference cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,1.
Check that read query succeeds.
✅ uss1_dss (2024-12-19T16:17:53.160993Z)
✅ uss2_dss (2024-12-19T16:17:53.168104Z)
If the operational intent retrieved from a secondary DSS instance is not consistent with the newly created one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1a, astm.f3548.v21.DSS0210,A2-7-2,1d, , astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.162813Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.169642Z)
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances.
If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.161096Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.168195Z)
When querying a secondary DSS for operational intents in the planning area that contains the propagated operational intent, if the propagated operational intent is not contained in the response, then the general area in which the propagated operational intent is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fails to properly implement one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.161193Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.168289Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.161272Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.168392Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.161365Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.168461Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.162705Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.169575Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS provides direct access to the created operational intent reference. Confirm that the operational intent reference that was just created is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:53.162775Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.169620Z)
Search for and validate synchronization of the created operational intent at every DSS provided in dss_instances
.
This test step fragment validates that a query to search for operational intent references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the OIR was created, it is failing to meet astm.f3548.v21.DSS0005,1.
Check that search query succeeds.
✅ uss1_dss (2024-12-19T16:17:53.174580Z)
✅ uss2_dss (2024-12-19T16:17:53.181361Z)
If the operational intent searched from a secondary DSS instance is not consistent with the newly created one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1a, astm.f3548.v21.DSS0210,A2-7-2,1c, , astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.175559Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.183123Z)
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances.
If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
When querying a secondary DSS for operational intents in the planning area that contains the propagated operational intent, if the propagated operational intent is not contained in the response, then the general area in which the propagated operational intent is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fails to properly implement one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.174632Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.181457Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.174679Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.181548Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.174713Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.181622Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.174745Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.181691Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.175480Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.183005Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS returns the operational intent in relevant search results. Confirm that the operational intent reference that was just created is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:53.175534Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.183076Z)
This test step mutates the previously created operational intent reference to verify that the DSS reacts properly: notably, it checks that the operational intent reference version is updated, including for changes that are not directly visible, such as changing the operational intent reference's footprint.
This test step fragment validates that operational intent references can be updated.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:53.203774Z)
This test step fragment validates that updates to operational intent references return a body in the correct format.
The response to a successful operational intent reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format
✅ uss1_dss (2024-12-19T16:17:53.219222Z)
A successful operational intent reference mutation query is expected to return a well-defined body, the content of which reflects the updated operational intent reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
Confirm that the operational intent reference can be mutated.
✅ uss1_dss (2024-12-19T16:17:53.221701Z)
This test step fragment attempts to validate the content of a single operational intent reference returned by the DSS.
Fields that require different handling based on if the operational intent reference was mutated or not are covered
The code for these checks lives in the oir_validator.py class.
If the returned operational intent reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.220902Z)
If the returned operational intent reference has no manager defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.220987Z)
The returned manager must correspond to the identity of the client that created the operational intent at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.221061Z)
The returned state must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned operational intent reference has no USS base URL defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.221136Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at operational intent reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.221205Z)
If the returned operational intent reference has no start time defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.221270Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.221440Z)
Operational intent references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.221360Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.221516Z)
If the returned operational intent reference has no version defined, astm.f3548.v21.DSS0005,1 is not respected.
Verify that the operational intent reference returned by the DSS is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single operational intent reference returned by the DSS, usually after it has been mutated.
The code for these checks lives in the oir_validator.py class.
Following a mutation, the DSS needs to update the operational intent reference version, otherwise it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.221663Z)
Following a mutation, the DSS needs to update the operational intent reference OVN, otherwise it is in violation of astm.f3548.v21.DSS0005,1.
Verify that the operational intent reference's version fields have been updated.
✅ uss1_dss (2024-12-19T16:17:53.221591Z)
Retrieve and validate synchronization of the updated operational intent at every DSS provided in dss_instances
.
This test step fragment validates that a query to retrieve an operational intent reference with valid parameters succeeds.
If an operational intent reference cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,1.
Check that read query succeeds.
✅ uss1_dss (2024-12-19T16:17:53.226173Z)
✅ uss2_dss (2024-12-19T16:17:53.231133Z)
If the operational intent retrieved from a secondary DSS instance is not consistent with the updated one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1b and astm.f3548.v21.DSS0210,A2-7-2,1d.
✅ uss1_dss (2024-12-19T16:17:53.227513Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.232147Z)
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances.
If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.226231Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.231186Z)
When querying a secondary DSS for operational intents in the planning area that contains the propagated operational intent, if the propagated operational intent is not contained in the response, then the general area in which the propagated operational intent is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fails to properly implement one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.226306Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.231232Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.226375Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.231268Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.226425Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.231299Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.227426Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.232067Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS provides direct access to the updated operational intent reference. Confirm that the operational intent reference that was just updated is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:53.227488Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.232124Z)
Search for and validate synchronization of the updated operational intent at every DSS provided in dss_instances
.
This test step fragment validates that a query to search for operational intent references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the OIR was created, it is failing to meet astm.f3548.v21.DSS0005,1.
Check that search query succeeds.
✅ uss1_dss (2024-12-19T16:17:53.236541Z)
✅ uss2_dss (2024-12-19T16:17:53.242554Z)
If the operational intent searched from a secondary DSS instance is not consistent with the updated one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1b and astm.f3548.v21.DSS0210,A2-7-2,1c.
✅ uss1_dss (2024-12-19T16:17:53.237726Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.243546Z)
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances.
If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
When querying a secondary DSS for operational intents in the planning area that contains the propagated operational intent, if the propagated operational intent is not contained in the response, then the general area in which the propagated operational intent is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fails to properly implement one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.236591Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.242610Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.236636Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.242656Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.236670Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.242691Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.236701Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.242722Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:53.237615Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.243486Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS returns the operational intent in relevant search results. Confirm that the operational intent reference that was just updated is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:53.237679Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.243525Z)
Attempt to delete the operational intent reference in various ways and ensure that the DSS reacts properly.
This also checks that the operational intent reference data returned by a successful deletion is correct.
This test step fragment validates that operational intent references can be deleted
A query to delete an operational intent reference, by its owner and when the correct OVN is provided, should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.258564Z)
The response to a successful operational intent reference deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.274848Z)
A successful operational intent reference deletion query is expected to return a body, the content of which reflects the operational intent reference at the moment of deletion. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
Confirm that an operational intent reference can be deleted.
✅ uss1_dss (2024-12-19T16:17:53.277272Z)
This test step fragment attempts to validate the content of a single operational intent reference returned by the DSS.
Fields that require different handling based on if the operational intent reference was mutated or not are covered
The code for these checks lives in the oir_validator.py class.
If the returned operational intent reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.276505Z)
If the returned operational intent reference has no manager defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.276587Z)
The returned manager must correspond to the identity of the client that created the operational intent at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.276654Z)
The returned state must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned operational intent reference has no USS base URL defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.276719Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at operational intent reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.276793Z)
If the returned operational intent reference has no start time defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss1_dss (2024-12-19T16:17:53.276856Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.277002Z)
Operational intent references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.276928Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.277077Z)
If the returned operational intent reference has no version defined, astm.f3548.v21.DSS0005,1 is not respected.
Verify that the operational intent reference returned by the DSS via the deletion is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single operational intent reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the oir_validator.py class.
If the version of the operational intent reference is updated without there having been any mutation of the operational intent reference, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.277226Z)
If the OVN of the operational intent reference is updated without there having been any mutation of the operational intent reference, the DSS is in violation of astm.f3548.v21.DSS0005,1.
Verify that the operational intent reference's version fields are as expected.
✅ uss1_dss (2024-12-19T16:17:53.277157Z)
Attempt to query and search for the deleted operational intent reference in various ways
This test step fragment validates that a query to retrieve an operational intent reference with valid parameters succeeds.
If an operational intent reference cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,1.
Check that read query succeeds.
✅ uss1_dss (2024-12-19T16:17:53.280711Z)
✅ uss2_dss (2024-12-19T16:17:53.286900Z)
If a DSS returns an operational intent reference that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the operational intent reference is in violation of astm.f3548.v21.DSS0210,2a and astm.f3548.v21.DSS0210,A2-7-2,3b.
✅ uss1_dss, uss1_dss (2024-12-19T16:17:53.280772Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.286945Z)
This test step fragment validates that a query to search for operational intent references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the OIR was created, it is failing to meet astm.f3548.v21.DSS0005,1.
Check that search query succeeds.
✅ uss1_dss (2024-12-19T16:17:53.284571Z)
✅ uss2_dss (2024-12-19T16:17:53.290473Z)
If a DSS returns an operational intent reference that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the operational intent reference is in violation of astm.f3548.v21.DSS0210,2a and astm.f3548.v21.DSS0210,A2-7-2,3a.
✅ uss1_dss, uss1_dss (2024-12-19T16:17:53.284617Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:53.290520Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.297044Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:53.294738Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1. ∅ This check was not applicable to this test run and is therefore not statused.
Ensures that a DSS properly authenticates requests to all its endpoints.
Note that this does not cover authorization.
DSSInstanceResource
to be tested in this scenario.
Note that to benefit from the maximum coverage, the DSS' AuthAdapterResource must be able to obtain credentials for multiple scopes (so that a wrong scope may be used in place of the correct one) as well as an empty scope (that is, provide credentials where the scope is an empty string).
This scenario will check for the scope's availability and transparently ignore checks that can't be conducted.
At least one of the following scopes needs to be available for this scenario to at least partially run:
utm.strategic_coordination
utm.availability_arbitration
utm.constraint_management
In order to verify each endpoint group, all scopes above must be available.
Optional scopes that will allow the scenario to provide additional coverage:
""
(empty string)✅ Provided by instance 1 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which entities will be created.
✅ Provided by planning_area in top-level resource pool.
To perform this scenario, the area must be clear of test entities with the IDs we intend to use.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.301431Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:53.319184Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:53.303999Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:53.307511Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
This step ensures that the availability for the test identifier is set to Unknown
.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:53.310985Z)
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This test case ensures that the DSS properly authenticates requests to all its endpoints.
If the DSS under test does not return a proper error message body when an unauthorized request is received, it fails to properly implement the OpenAPI specification that is part of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:53.336102Z)
✅ uss1_dss (2024-12-19T16:17:53.345901Z)
✅ uss1_dss (2024-12-19T16:17:53.410482Z)
✅ uss1_dss (2024-12-19T16:17:53.425639Z)
✅ uss1_dss (2024-12-19T16:17:53.442027Z)
✅ uss1_dss (2024-12-19T16:17:53.453886Z)
✅ uss1_dss (2024-12-19T16:17:53.471517Z)
✅ uss1_dss (2024-12-19T16:17:53.481288Z)
✅ uss1_dss (2024-12-19T16:17:53.506445Z)
✅ uss1_dss (2024-12-19T16:17:53.521673Z)
✅ uss1_dss (2024-12-19T16:17:53.534649Z)
✅ uss1_dss (2024-12-19T16:17:53.548021Z)
✅ uss1_dss (2024-12-19T16:17:53.573261Z)
✅ uss1_dss (2024-12-19T16:17:53.591238Z)
✅ uss1_dss (2024-12-19T16:17:53.609928Z)
✅ uss1_dss (2024-12-19T16:17:53.629246Z)
✅ uss1_dss (2024-12-19T16:17:53.655910Z)
✅ uss1_dss (2024-12-19T16:17:53.673407Z)
✅ uss1_dss (2024-12-19T16:17:53.692096Z)
✅ uss1_dss (2024-12-19T16:17:53.711913Z)
✅ uss1_dss (2024-12-19T16:17:53.736371Z)
✅ uss1_dss (2024-12-19T16:17:53.747880Z)
✅ uss1_dss (2024-12-19T16:17:53.758688Z)
✅ uss1_dss (2024-12-19T16:17:53.768744Z)
If the DSS under test allows the creation of a subscription without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.336157Z)
If the DSS under test allows the creation of a subscription with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.410550Z)
If the DSS under test allows the creation of a subscription with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.442110Z)
If the DSS under test allows the creation of a subscription with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.471595Z)
If the DSS does not allow the creation of a subscription when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:53.488919Z)
If the DSS under test allows the fetching of a subscription without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.491662Z)
If the DSS under test allows the fetching of a subscription with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.508739Z)
If the DSS under test allows the fetching of a subscription with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.523742Z)
If the DSS under test allows the fetching of a subscription with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.536715Z)
If the DSS does not allow fetching a subscription when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:53.552757Z)
If the DSS under test allows the mutation of a subscription without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.560771Z)
If the DSS under test allows the mutation of a subscription with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.581217Z)
If the DSS under test allows the mutation of a subscription with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.599243Z)
If the DSS under test allows the mutation of a subscription with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.617225Z)
If the DSS does not allow the mutation of a subscription when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:53.637294Z)
If the DSS under test allows the deletion of a subscription without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.644258Z)
If the DSS under test allows the deletion of a subscription with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.662454Z)
If the DSS under test allows the deletion of a subscription with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.678940Z)
If the DSS under test allows the deletion of a subscription with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.698414Z)
If the DSS does not allow the deletion of a subscription when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:53.720302Z)
✅ uss1_dss (2024-12-19T16:17:53.723159Z)
If the DSS under test allows searching for subscriptions without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.725084Z)
If the DSS under test allows searching for subscriptions with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.739038Z)
If the DSS under test allows searching for subscriptions with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.749556Z)
If the DSS under test allows searching for subscriptions with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.760461Z)
If the DSS does not allow searching for subscriptions when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:53.772530Z)
If the DSS under test does not return a proper error message body when an unauthorized request is received, it fails to properly implement the OpenAPI specification that is part of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.785776Z)
✅ uss1_dss (2024-12-19T16:17:53.797670Z)
✅ uss1_dss (2024-12-19T16:17:53.809630Z)
✅ uss1_dss (2024-12-19T16:17:53.821482Z)
✅ uss1_dss (2024-12-19T16:17:53.842718Z)
✅ uss1_dss (2024-12-19T16:17:53.852281Z)
✅ uss1_dss (2024-12-19T16:17:53.861711Z)
✅ uss1_dss (2024-12-19T16:17:53.871290Z)
✅ uss1_dss (2024-12-19T16:17:53.889155Z)
✅ uss1_dss (2024-12-19T16:17:53.902550Z)
✅ uss1_dss (2024-12-19T16:17:53.915514Z)
✅ uss1_dss (2024-12-19T16:17:53.929577Z)
✅ uss1_dss (2024-12-19T16:17:53.952844Z)
✅ uss1_dss (2024-12-19T16:17:53.962819Z)
✅ uss1_dss (2024-12-19T16:17:53.972473Z)
✅ uss1_dss (2024-12-19T16:17:53.982212Z)
✅ uss1_dss (2024-12-19T16:17:54.001101Z)
✅ uss1_dss (2024-12-19T16:17:54.011006Z)
✅ uss1_dss (2024-12-19T16:17:54.022029Z)
✅ uss1_dss (2024-12-19T16:17:54.031668Z)
If the DSS under test allows the creation of an operational intent without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.777169Z)
If the DSS under test allows the creation of an operational intent with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.789507Z)
If the DSS under test allows the creation of an operational intent with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.801371Z)
If the DSS under test allows the creation of an operational intent with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.813438Z)
If the DSS does not allow the creation of an operational intent when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.831377Z)
This test step fragment validates that an operational intent references creation returns a body in the correct format.
The response to a successful operational intent reference creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format of a creation request.
✅ uss1_dss (2024-12-19T16:17:53.832210Z)
If the DSS under test allows the fetching of an operational intent without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.833751Z)
If the DSS under test allows the fetching of an operational intent with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.844097Z)
If the DSS under test allows the fetching of an operational intent with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.853562Z)
If the DSS under test allows the fetching of an operational intent with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.863024Z)
If the DSS does not allow fetching an operational intent when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.874585Z)
If the DSS under test allows the mutation of an operational intent without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.879633Z)
If the DSS under test allows the mutation of an operational intent with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.894416Z)
If the DSS under test allows the mutation of an operational intent with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.907483Z)
If the DSS under test allows the mutation of an operational intent with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.921122Z)
If the DSS does not allow the mutation of an operational intent when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.941529Z)
This test step fragment validates that updates to operational intent references return a body in the correct format.
The response to a successful operational intent reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format of a mutation.
✅ uss1_dss (2024-12-19T16:17:53.942346Z)
If the DSS under test allows the deletion of an operational intent without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.943897Z)
If the DSS under test allows the deletion of an operational intent with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.954452Z)
If the DSS under test allows the deletion of an operational intent with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.964161Z)
If the DSS under test allows the deletion of an operational intent with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.974094Z)
If the DSS does not allow the deletion of an operational intent when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:53.989705Z)
If the DSS under test allows searching for operational intents without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:53.992094Z)
If the DSS under test allows searching for operational intents with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.002766Z)
If the DSS under test allows searching for operational intents with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.012519Z)
If the DSS under test allows searching for operational intents with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.023725Z)
If the DSS does not allow searching for operational intents when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:54.035092Z)
If the DSS under test does not return a proper error message body when an unauthorized request is received, it fails to properly implement the OpenAPI specification that is part of astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:54.045954Z)
✅ uss1_dss (2024-12-19T16:17:54.056939Z)
✅ uss1_dss (2024-12-19T16:17:54.066234Z)
✅ uss1_dss (2024-12-19T16:17:54.075841Z)
✅ uss1_dss (2024-12-19T16:17:54.090845Z)
✅ uss1_dss (2024-12-19T16:17:54.103704Z)
✅ uss1_dss (2024-12-19T16:17:54.116401Z)
✅ uss1_dss (2024-12-19T16:17:54.129257Z)
If the DSS under test allows the fetching of a USS's availability without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.037580Z)
If the DSS under test allows the fetching of a USS's availability with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.048819Z)
If the DSS under test allows the fetching of a USS's availability with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.058100Z)
If the DSS under test allows the fetching of a USS's availability with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.067575Z)
If the DSS does not allow fetching a USS's availability when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:54.078533Z)
✅ uss1_dss (2024-12-19T16:17:54.082436Z)
✅ uss1_dss (2024-12-19T16:17:54.094919Z)
✅ uss1_dss (2024-12-19T16:17:54.108036Z)
✅ uss1_dss (2024-12-19T16:17:54.120526Z)
The response to a successful USS Availability request is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21,
otherwise, the DSS is failing to implement astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:54.078757Z)
If the DSS under test allows the setting of a USS's availability without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.082472Z)
If the DSS under test allows the setting of a USS's availability with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.094954Z)
If the DSS under test allows the setting of a USS's availability with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.108070Z)
If the DSS under test allows the setting of a USS's availability with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.120563Z)
If the DSS does not allow setting a USS's availability when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:54.133980Z)
The response to a successful USS Availability Set request is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21,
otherwise, the DSS is failing to implement astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:54.134304Z)
If the DSS under test does not return a proper error message body when an unauthorized request is received, it fails to properly implement the OpenAPI specification that is part of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:54.150525Z)
✅ uss1_dss (2024-12-19T16:17:54.164976Z)
✅ uss1_dss (2024-12-19T16:17:54.176860Z)
✅ uss1_dss (2024-12-19T16:17:54.189185Z)
✅ uss1_dss (2024-12-19T16:17:54.207990Z)
✅ uss1_dss (2024-12-19T16:17:54.218221Z)
✅ uss1_dss (2024-12-19T16:17:54.227938Z)
✅ uss1_dss (2024-12-19T16:17:54.237517Z)
✅ uss1_dss (2024-12-19T16:17:54.254699Z)
✅ uss1_dss (2024-12-19T16:17:54.268537Z)
✅ uss1_dss (2024-12-19T16:17:54.283882Z)
✅ uss1_dss (2024-12-19T16:17:54.298528Z)
✅ uss1_dss (2024-12-19T16:17:54.317050Z)
✅ uss1_dss (2024-12-19T16:17:54.327494Z)
✅ uss1_dss (2024-12-19T16:17:54.337422Z)
✅ uss1_dss (2024-12-19T16:17:54.347643Z)
✅ uss1_dss (2024-12-19T16:17:54.367107Z)
✅ uss1_dss (2024-12-19T16:17:54.377746Z)
✅ uss1_dss (2024-12-19T16:17:54.387962Z)
✅ uss1_dss (2024-12-19T16:17:54.398497Z)
If the DSS under test allows the creation of a constraint reference without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.140642Z)
If the DSS under test allows the creation of a constraint reference with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.156563Z)
If the DSS under test allows the creation of a constraint reference with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.168680Z)
If the DSS under test allows the creation of a constraint reference with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.180900Z)
If the DSS does not allow the creation of a constraint reference when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:54.196408Z)
This test step fragment validates that a constraint references creation returns a body in the correct format.
The response to a successful constraint reference creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format of a creation request.
✅ uss1_dss (2024-12-19T16:17:54.197602Z)
If the DSS under test allows the fetching of a constraint reference without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.199210Z)
If the DSS under test allows the fetching of a constraint reference with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.209645Z)
If the DSS under test allows the fetching of a constraint reference with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.219680Z)
If the DSS under test allows the fetching of a constraint reference with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.229307Z)
If the DSS does not allow fetching a constraint reference when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:54.240422Z)
This test step fragment validates that a request for a constraint reference returns a properly formatted body.
The response to a successful get constraint reference query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format of a mutation.
✅ uss1_dss (2024-12-19T16:17:54.241216Z)
If the DSS under test allows the mutation of a constraint reference without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.246027Z)
If the DSS under test allows the mutation of a constraint reference with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.260034Z)
If the DSS under test allows the mutation of a constraint reference with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.273830Z)
If the DSS under test allows the mutation of a constraint reference with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.289639Z)
If the DSS does not allow the mutation of a constraint reference when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:54.305659Z)
This test step fragment validates that updates to constraint references return a body in the correct format.
The response to a successful constraint reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format of a mutation.
✅ uss1_dss (2024-12-19T16:17:54.306458Z)
If the DSS under test allows the deletion of a constraint reference without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.308079Z)
If the DSS under test allows the deletion of a constraint reference with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.318794Z)
If the DSS under test allows the deletion of a constraint reference with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.329108Z)
If the DSS under test allows the deletion of a constraint reference with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.339211Z)
If the DSS does not allow the deletion of a constraint reference when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:54.354725Z)
This test step fragment validates that a constraint references deletion returns a body in the correct format.
The response to a successful constraint reference deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format of a deletion.
✅ uss1_dss (2024-12-19T16:17:54.355542Z)
If the DSS under test allows searching for constraint references without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.358088Z)
If the DSS under test allows searching for constraint references with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.369107Z)
If the DSS under test allows searching for constraint references with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.379569Z)
If the DSS under test allows searching for constraint references with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss1_dss (2024-12-19T16:17:54.389954Z)
If the DSS does not allow searching for constraint references when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,4.
✅ uss1_dss (2024-12-19T16:17:54.402499Z)
This test step fragment validates that constraint references search responses are properly formatted.
The response to a successful constraint reference search query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
Check response format of a search.
✅ uss1_dss (2024-12-19T16:17:54.402710Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:54.405713Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:54.407885Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss (2024-12-19T16:17:54.410189Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:54.412666Z)
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
The cleanup phase of this test scenario removes the subscription with the known test ID if it has not been removed before. ∅ This check was not applicable to this test run and is therefore not statused.
Perform basic operations on a single DSS instance to create, update and delete subscriptions.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription IDs for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
VerticesResource
describing an area designed to be too big to be accepted by the DSS.
✅ Provided by problematically_big_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:54.421688Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:54.424018Z)
✅ uss1_dss (2024-12-19T16:17:54.426254Z)
✅ uss1_dss (2024-12-19T16:17:54.428525Z)
✅ uss1_dss (2024-12-19T16:17:54.430670Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
This test case creates multiple subscriptions, goes on to query and search for them, then deletes and searches for them again.
This test step creates multiple subscriptions with different combinations of the optional end and start time parameters.
All subscriptions are left on the DSS when this step ends, as they are expected to be present for the subsequent step.
This test step fragment validates that subscriptions can be created.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check query succeeds
✅ uss1_dss (2024-12-19T16:17:54.438742Z)
✅ uss1_dss (2024-12-19T16:17:54.462888Z)
✅ uss1_dss (2024-12-19T16:17:54.558095Z)
✅ uss1_dss (2024-12-19T16:17:54.581022Z)
The response to a successful subscription creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.451828Z)
✅ uss1_dss (2024-12-19T16:17:54.547336Z)
✅ uss1_dss (2024-12-19T16:17:54.569347Z)
✅ uss1_dss (2024-12-19T16:17:54.592767Z)
A successful subscription creation query is expected to return a well-defined body, the content of which reflects the created subscription.
If the content of the response does not correspond to the requested content, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Check creation succeeds and response is correct.
✅ uss1_dss (2024-12-19T16:17:54.453678Z)
✅ uss1_dss (2024-12-19T16:17:54.549308Z)
✅ uss1_dss (2024-12-19T16:17:54.571412Z)
✅ uss1_dss (2024-12-19T16:17:54.594799Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.452674Z)
✅ uss1_dss (2024-12-19T16:17:54.548237Z)
✅ uss1_dss (2024-12-19T16:17:54.570183Z)
✅ uss1_dss (2024-12-19T16:17:54.593652Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.453646Z)
✅ uss1_dss (2024-12-19T16:17:54.549275Z)
✅ uss1_dss (2024-12-19T16:17:54.571377Z)
✅ uss1_dss (2024-12-19T16:17:54.594765Z)
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.452724Z)
✅ uss1_dss (2024-12-19T16:17:54.548289Z)
✅ uss1_dss (2024-12-19T16:17:54.570233Z)
✅ uss1_dss (2024-12-19T16:17:54.593701Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.452766Z)
✅ uss1_dss (2024-12-19T16:17:54.548351Z)
✅ uss1_dss (2024-12-19T16:17:54.570274Z)
✅ uss1_dss (2024-12-19T16:17:54.593743Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.452804Z)
✅ uss1_dss (2024-12-19T16:17:54.548393Z)
✅ uss1_dss (2024-12-19T16:17:54.570328Z)
✅ uss1_dss (2024-12-19T16:17:54.593780Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.570431Z)
✅ uss1_dss (2024-12-19T16:17:54.593862Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.452839Z)
✅ uss1_dss (2024-12-19T16:17:54.548430Z)
✅ uss1_dss (2024-12-19T16:17:54.570372Z)
✅ uss1_dss (2024-12-19T16:17:54.593815Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.548476Z)
✅ uss1_dss (2024-12-19T16:17:54.593905Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.452876Z)
✅ uss1_dss (2024-12-19T16:17:54.548512Z)
✅ uss1_dss (2024-12-19T16:17:54.570481Z)
✅ uss1_dss (2024-12-19T16:17:54.593939Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.452910Z)
✅ uss1_dss (2024-12-19T16:17:54.548548Z)
✅ uss1_dss (2024-12-19T16:17:54.570533Z)
✅ uss1_dss (2024-12-19T16:17:54.593974Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.452946Z)
✅ uss1_dss (2024-12-19T16:17:54.548584Z)
✅ uss1_dss (2024-12-19T16:17:54.570571Z)
✅ uss1_dss (2024-12-19T16:17:54.594009Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS after its creation is properly formatted and has the right content.
✅ uss1_dss (2024-12-19T16:17:54.452980Z)
✅ uss1_dss (2024-12-19T16:17:54.548619Z)
✅ uss1_dss (2024-12-19T16:17:54.570607Z)
✅ uss1_dss (2024-12-19T16:17:54.594043Z)
Query and search for the created subscription in various ways
If the query to get an existing subscription fails, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.788847Z)
✅ uss1_dss (2024-12-19T16:17:54.806191Z)
✅ uss1_dss (2024-12-19T16:17:54.824219Z)
✅ uss1_dss (2024-12-19T16:17:54.840966Z)
A successful get subscription query is expected to return a well-defined body, the content of which reflects the created subscription. If the format and content of the response are not conforming, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.801268Z)
✅ uss1_dss (2024-12-19T16:17:54.819433Z)
✅ uss1_dss (2024-12-19T16:17:54.836158Z)
✅ uss1_dss (2024-12-19T16:17:54.852919Z)
The response to a successful get subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.799878Z)
✅ uss1_dss (2024-12-19T16:17:54.818079Z)
✅ uss1_dss (2024-12-19T16:17:54.834860Z)
✅ uss1_dss (2024-12-19T16:17:54.851439Z)
If the search query for the area for which the subscription was just created fails, it is failing to meet astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.857890Z)
A successful search query is expected to return a well-defined body, the content of which reflects the created subscription as well as any other subscription in the area. If the format and content of the response are not conforming, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.874142Z)
✅ uss1_dss (2024-12-19T16:17:54.889861Z)
✅ uss1_dss (2024-12-19T16:17:54.906354Z)
✅ uss1_dss (2024-12-19T16:17:54.922542Z)
The response to a successful subscription search query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.873540Z)
✅ uss1_dss (2024-12-19T16:17:54.889217Z)
✅ uss1_dss (2024-12-19T16:17:54.905646Z)
✅ uss1_dss (2024-12-19T16:17:54.921850Z)
If the created subscription is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.873611Z)
✅ uss1_dss (2024-12-19T16:17:54.889300Z)
✅ uss1_dss (2024-12-19T16:17:54.905741Z)
✅ uss1_dss (2024-12-19T16:17:54.921952Z)
In accordance with astm.f3548.v21.DSS0005,5, the DSS should not allow searches for areas that are too big.
✅ uss1_dss (2024-12-19T16:17:54.925356Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.800744Z)
✅ uss1_dss (2024-12-19T16:17:54.818879Z)
✅ uss1_dss (2024-12-19T16:17:54.835646Z)
✅ uss1_dss (2024-12-19T16:17:54.852259Z)
✅ uss1_dss (2024-12-19T16:17:54.873659Z)
✅ uss1_dss (2024-12-19T16:17:54.889365Z)
✅ uss1_dss (2024-12-19T16:17:54.905807Z)
✅ uss1_dss (2024-12-19T16:17:54.922001Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.801246Z)
✅ uss1_dss (2024-12-19T16:17:54.819410Z)
✅ uss1_dss (2024-12-19T16:17:54.836137Z)
✅ uss1_dss (2024-12-19T16:17:54.852896Z)
✅ uss1_dss (2024-12-19T16:17:54.874119Z)
✅ uss1_dss (2024-12-19T16:17:54.889837Z)
✅ uss1_dss (2024-12-19T16:17:54.906310Z)
✅ uss1_dss (2024-12-19T16:17:54.922513Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.800798Z)
✅ uss1_dss (2024-12-19T16:17:54.818932Z)
✅ uss1_dss (2024-12-19T16:17:54.835699Z)
✅ uss1_dss (2024-12-19T16:17:54.852339Z)
✅ uss1_dss (2024-12-19T16:17:54.873699Z)
✅ uss1_dss (2024-12-19T16:17:54.889408Z)
✅ uss1_dss (2024-12-19T16:17:54.905869Z)
✅ uss1_dss (2024-12-19T16:17:54.922042Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.800843Z)
✅ uss1_dss (2024-12-19T16:17:54.818978Z)
✅ uss1_dss (2024-12-19T16:17:54.835744Z)
✅ uss1_dss (2024-12-19T16:17:54.852404Z)
✅ uss1_dss (2024-12-19T16:17:54.873740Z)
✅ uss1_dss (2024-12-19T16:17:54.889449Z)
✅ uss1_dss (2024-12-19T16:17:54.905918Z)
✅ uss1_dss (2024-12-19T16:17:54.922085Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.800883Z)
✅ uss1_dss (2024-12-19T16:17:54.819018Z)
✅ uss1_dss (2024-12-19T16:17:54.835784Z)
✅ uss1_dss (2024-12-19T16:17:54.852453Z)
✅ uss1_dss (2024-12-19T16:17:54.873778Z)
✅ uss1_dss (2024-12-19T16:17:54.889488Z)
✅ uss1_dss (2024-12-19T16:17:54.905958Z)
✅ uss1_dss (2024-12-19T16:17:54.922124Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.800978Z)
✅ uss1_dss (2024-12-19T16:17:54.819113Z)
✅ uss1_dss (2024-12-19T16:17:54.835864Z)
✅ uss1_dss (2024-12-19T16:17:54.852564Z)
✅ uss1_dss (2024-12-19T16:17:54.873857Z)
✅ uss1_dss (2024-12-19T16:17:54.889570Z)
✅ uss1_dss (2024-12-19T16:17:54.906041Z)
✅ uss1_dss (2024-12-19T16:17:54.922208Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.800934Z)
✅ uss1_dss (2024-12-19T16:17:54.819056Z)
✅ uss1_dss (2024-12-19T16:17:54.835822Z)
✅ uss1_dss (2024-12-19T16:17:54.852506Z)
✅ uss1_dss (2024-12-19T16:17:54.873815Z)
✅ uss1_dss (2024-12-19T16:17:54.889526Z)
✅ uss1_dss (2024-12-19T16:17:54.905996Z)
✅ uss1_dss (2024-12-19T16:17:54.922162Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.801019Z)
✅ uss1_dss (2024-12-19T16:17:54.819157Z)
✅ uss1_dss (2024-12-19T16:17:54.835905Z)
✅ uss1_dss (2024-12-19T16:17:54.852612Z)
✅ uss1_dss (2024-12-19T16:17:54.873898Z)
✅ uss1_dss (2024-12-19T16:17:54.889612Z)
✅ uss1_dss (2024-12-19T16:17:54.906083Z)
✅ uss1_dss (2024-12-19T16:17:54.922250Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.801056Z)
✅ uss1_dss (2024-12-19T16:17:54.819195Z)
✅ uss1_dss (2024-12-19T16:17:54.835943Z)
✅ uss1_dss (2024-12-19T16:17:54.852665Z)
✅ uss1_dss (2024-12-19T16:17:54.873934Z)
✅ uss1_dss (2024-12-19T16:17:54.889649Z)
✅ uss1_dss (2024-12-19T16:17:54.906121Z)
✅ uss1_dss (2024-12-19T16:17:54.922288Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.801131Z)
✅ uss1_dss (2024-12-19T16:17:54.819272Z)
✅ uss1_dss (2024-12-19T16:17:54.836018Z)
✅ uss1_dss (2024-12-19T16:17:54.852774Z)
✅ uss1_dss (2024-12-19T16:17:54.874007Z)
✅ uss1_dss (2024-12-19T16:17:54.889723Z)
✅ uss1_dss (2024-12-19T16:17:54.906196Z)
✅ uss1_dss (2024-12-19T16:17:54.922386Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.801169Z)
✅ uss1_dss (2024-12-19T16:17:54.819310Z)
✅ uss1_dss (2024-12-19T16:17:54.836056Z)
✅ uss1_dss (2024-12-19T16:17:54.852813Z)
✅ uss1_dss (2024-12-19T16:17:54.874045Z)
✅ uss1_dss (2024-12-19T16:17:54.889762Z)
✅ uss1_dss (2024-12-19T16:17:54.906235Z)
✅ uss1_dss (2024-12-19T16:17:54.922426Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the search is correctly formatted and corresponds to what was created earlier.
✅ uss1_dss (2024-12-19T16:17:54.801206Z)
✅ uss1_dss (2024-12-19T16:17:54.819369Z)
✅ uss1_dss (2024-12-19T16:17:54.836094Z)
✅ uss1_dss (2024-12-19T16:17:54.852851Z)
✅ uss1_dss (2024-12-19T16:17:54.874082Z)
✅ uss1_dss (2024-12-19T16:17:54.889799Z)
✅ uss1_dss (2024-12-19T16:17:54.906273Z)
✅ uss1_dss (2024-12-19T16:17:54.922464Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version field is as expected.
✅ uss1_dss (2024-12-19T16:17:54.801095Z)
✅ uss1_dss (2024-12-19T16:17:54.819234Z)
✅ uss1_dss (2024-12-19T16:17:54.835981Z)
✅ uss1_dss (2024-12-19T16:17:54.852728Z)
✅ uss1_dss (2024-12-19T16:17:54.873971Z)
✅ uss1_dss (2024-12-19T16:17:54.889686Z)
✅ uss1_dss (2024-12-19T16:17:54.906158Z)
✅ uss1_dss (2024-12-19T16:17:54.922343Z)
This test step attempts to mutate the subscription both with a missing and incorrect OVN, and checks that the DSS reacts properly.
If a request to mutate a subscription is missing the version and succeeds, the DSS is failing to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.600209Z)
If a request to mutate a subscription providing the wrong version succeeds, the DSS is failing to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.604193Z)
This test step mutates the previously created subscription to verify that the DSS reacts properly: notably, it checks that the subscription version is updated, including for changes that are not directly visible, such as changing the subscription's footprint.
If the query to mutate a subscription with valid parameters is not successful, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.612112Z)
✅ uss1_dss (2024-12-19T16:17:54.634293Z)
✅ uss1_dss (2024-12-19T16:17:54.656787Z)
✅ uss1_dss (2024-12-19T16:17:54.680015Z)
✅ uss1_dss (2024-12-19T16:17:54.702003Z)
✅ uss1_dss (2024-12-19T16:17:54.724420Z)
✅ uss1_dss (2024-12-19T16:17:54.747260Z)
✅ uss1_dss (2024-12-19T16:17:54.770064Z)
A successful subscription mutation query is expected to return a well-defined body, the content of which reflects the newly defined subscription. If the format and content of the response are not conforming, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.625214Z)
✅ uss1_dss (2024-12-19T16:17:54.647305Z)
✅ uss1_dss (2024-12-19T16:17:54.670552Z)
✅ uss1_dss (2024-12-19T16:17:54.692715Z)
✅ uss1_dss (2024-12-19T16:17:54.714944Z)
✅ uss1_dss (2024-12-19T16:17:54.737496Z)
✅ uss1_dss (2024-12-19T16:17:54.760259Z)
✅ uss1_dss (2024-12-19T16:17:54.783198Z)
The response to a successful subscription mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.623799Z)
✅ uss1_dss (2024-12-19T16:17:54.645942Z)
✅ uss1_dss (2024-12-19T16:17:54.669137Z)
✅ uss1_dss (2024-12-19T16:17:54.691360Z)
✅ uss1_dss (2024-12-19T16:17:54.713591Z)
✅ uss1_dss (2024-12-19T16:17:54.736037Z)
✅ uss1_dss (2024-12-19T16:17:54.758868Z)
✅ uss1_dss (2024-12-19T16:17:54.781820Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.624718Z)
✅ uss1_dss (2024-12-19T16:17:54.646829Z)
✅ uss1_dss (2024-12-19T16:17:54.670047Z)
✅ uss1_dss (2024-12-19T16:17:54.692183Z)
✅ uss1_dss (2024-12-19T16:17:54.714474Z)
✅ uss1_dss (2024-12-19T16:17:54.736945Z)
✅ uss1_dss (2024-12-19T16:17:54.759753Z)
✅ uss1_dss (2024-12-19T16:17:54.782705Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.625179Z)
✅ uss1_dss (2024-12-19T16:17:54.647283Z)
✅ uss1_dss (2024-12-19T16:17:54.670529Z)
✅ uss1_dss (2024-12-19T16:17:54.692693Z)
✅ uss1_dss (2024-12-19T16:17:54.714921Z)
✅ uss1_dss (2024-12-19T16:17:54.737471Z)
✅ uss1_dss (2024-12-19T16:17:54.760236Z)
✅ uss1_dss (2024-12-19T16:17:54.783173Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.624768Z)
✅ uss1_dss (2024-12-19T16:17:54.646879Z)
✅ uss1_dss (2024-12-19T16:17:54.670101Z)
✅ uss1_dss (2024-12-19T16:17:54.692232Z)
✅ uss1_dss (2024-12-19T16:17:54.714526Z)
✅ uss1_dss (2024-12-19T16:17:54.736995Z)
✅ uss1_dss (2024-12-19T16:17:54.759804Z)
✅ uss1_dss (2024-12-19T16:17:54.782757Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.624810Z)
✅ uss1_dss (2024-12-19T16:17:54.646921Z)
✅ uss1_dss (2024-12-19T16:17:54.670144Z)
✅ uss1_dss (2024-12-19T16:17:54.692275Z)
✅ uss1_dss (2024-12-19T16:17:54.714568Z)
✅ uss1_dss (2024-12-19T16:17:54.737037Z)
✅ uss1_dss (2024-12-19T16:17:54.759845Z)
✅ uss1_dss (2024-12-19T16:17:54.782799Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.624848Z)
✅ uss1_dss (2024-12-19T16:17:54.646957Z)
✅ uss1_dss (2024-12-19T16:17:54.670180Z)
✅ uss1_dss (2024-12-19T16:17:54.692311Z)
✅ uss1_dss (2024-12-19T16:17:54.714604Z)
✅ uss1_dss (2024-12-19T16:17:54.737074Z)
✅ uss1_dss (2024-12-19T16:17:54.759881Z)
✅ uss1_dss (2024-12-19T16:17:54.782836Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.624925Z)
✅ uss1_dss (2024-12-19T16:17:54.647031Z)
✅ uss1_dss (2024-12-19T16:17:54.670257Z)
✅ uss1_dss (2024-12-19T16:17:54.692441Z)
✅ uss1_dss (2024-12-19T16:17:54.714678Z)
✅ uss1_dss (2024-12-19T16:17:54.737150Z)
✅ uss1_dss (2024-12-19T16:17:54.759958Z)
✅ uss1_dss (2024-12-19T16:17:54.782911Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.624885Z)
✅ uss1_dss (2024-12-19T16:17:54.646992Z)
✅ uss1_dss (2024-12-19T16:17:54.670215Z)
✅ uss1_dss (2024-12-19T16:17:54.692389Z)
✅ uss1_dss (2024-12-19T16:17:54.714639Z)
✅ uss1_dss (2024-12-19T16:17:54.737110Z)
✅ uss1_dss (2024-12-19T16:17:54.759917Z)
✅ uss1_dss (2024-12-19T16:17:54.782871Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.624963Z)
✅ uss1_dss (2024-12-19T16:17:54.647070Z)
✅ uss1_dss (2024-12-19T16:17:54.670295Z)
✅ uss1_dss (2024-12-19T16:17:54.692481Z)
✅ uss1_dss (2024-12-19T16:17:54.714716Z)
✅ uss1_dss (2024-12-19T16:17:54.737189Z)
✅ uss1_dss (2024-12-19T16:17:54.759995Z)
✅ uss1_dss (2024-12-19T16:17:54.782949Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.624998Z)
✅ uss1_dss (2024-12-19T16:17:54.647105Z)
✅ uss1_dss (2024-12-19T16:17:54.670349Z)
✅ uss1_dss (2024-12-19T16:17:54.692517Z)
✅ uss1_dss (2024-12-19T16:17:54.714750Z)
✅ uss1_dss (2024-12-19T16:17:54.737222Z)
✅ uss1_dss (2024-12-19T16:17:54.760029Z)
✅ uss1_dss (2024-12-19T16:17:54.782984Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.625069Z)
✅ uss1_dss (2024-12-19T16:17:54.647176Z)
✅ uss1_dss (2024-12-19T16:17:54.670423Z)
✅ uss1_dss (2024-12-19T16:17:54.692586Z)
✅ uss1_dss (2024-12-19T16:17:54.714817Z)
✅ uss1_dss (2024-12-19T16:17:54.737291Z)
✅ uss1_dss (2024-12-19T16:17:54.760109Z)
✅ uss1_dss (2024-12-19T16:17:54.783053Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.625105Z)
✅ uss1_dss (2024-12-19T16:17:54.647211Z)
✅ uss1_dss (2024-12-19T16:17:54.670457Z)
✅ uss1_dss (2024-12-19T16:17:54.692621Z)
✅ uss1_dss (2024-12-19T16:17:54.714851Z)
✅ uss1_dss (2024-12-19T16:17:54.737362Z)
✅ uss1_dss (2024-12-19T16:17:54.760161Z)
✅ uss1_dss (2024-12-19T16:17:54.783102Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the mutation is properly formatted and contains the correct content.
✅ uss1_dss (2024-12-19T16:17:54.625140Z)
✅ uss1_dss (2024-12-19T16:17:54.647245Z)
✅ uss1_dss (2024-12-19T16:17:54.670492Z)
✅ uss1_dss (2024-12-19T16:17:54.692656Z)
✅ uss1_dss (2024-12-19T16:17:54.714885Z)
✅ uss1_dss (2024-12-19T16:17:54.737428Z)
✅ uss1_dss (2024-12-19T16:17:54.760199Z)
✅ uss1_dss (2024-12-19T16:17:54.783137Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its mutation.
The code for these checks lives in the subscription_validator.py class.
Following a mutation, the DSS needs to update the subscription version, otherwise it is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version field has been mutated.
✅ uss1_dss (2024-12-19T16:17:54.625034Z)
✅ uss1_dss (2024-12-19T16:17:54.647141Z)
✅ uss1_dss (2024-12-19T16:17:54.670388Z)
✅ uss1_dss (2024-12-19T16:17:54.692551Z)
✅ uss1_dss (2024-12-19T16:17:54.714783Z)
✅ uss1_dss (2024-12-19T16:17:54.737256Z)
✅ uss1_dss (2024-12-19T16:17:54.760063Z)
✅ uss1_dss (2024-12-19T16:17:54.783017Z)
Attempt to delete the subscription in various ways and ensure that the DSS reacts properly.
This also checks that the subscription data returned by a successful deletion is correct.
An attempt to delete a subscription without providing a version should fail, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.926751Z)
✅ uss1_dss (2024-12-19T16:17:54.931306Z)
✅ uss1_dss (2024-12-19T16:17:54.935425Z)
✅ uss1_dss (2024-12-19T16:17:54.939332Z)
An attempt to delete a subscription while providing an incorrect version should fail, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.930029Z)
✅ uss1_dss (2024-12-19T16:17:54.934122Z)
✅ uss1_dss (2024-12-19T16:17:54.938040Z)
✅ uss1_dss (2024-12-19T16:17:54.942295Z)
If the query to delete an existing subscription fails, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.949439Z)
✅ uss1_dss (2024-12-19T16:17:54.969879Z)
✅ uss1_dss (2024-12-19T16:17:54.989303Z)
✅ uss1_dss (2024-12-19T16:17:55.008907Z)
A successful delete subscription query is expected to return a well-defined body, the content of which reflects the content of the subscription before deletion. If the format and content of the response are not conforming, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962660Z)
✅ uss1_dss (2024-12-19T16:17:54.981804Z)
✅ uss1_dss (2024-12-19T16:17:55.001503Z)
✅ uss1_dss (2024-12-19T16:17:55.020774Z)
The response to a successful delete subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962062Z)
✅ uss1_dss (2024-12-19T16:17:54.981222Z)
✅ uss1_dss (2024-12-19T16:17:55.000885Z)
✅ uss1_dss (2024-12-19T16:17:55.020172Z)
An attempt to delete a subscription when the correct version is provided should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.962155Z)
✅ uss1_dss (2024-12-19T16:17:54.981311Z)
✅ uss1_dss (2024-12-19T16:17:55.000981Z)
✅ uss1_dss (2024-12-19T16:17:55.020266Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962639Z)
✅ uss1_dss (2024-12-19T16:17:54.981783Z)
✅ uss1_dss (2024-12-19T16:17:55.001481Z)
✅ uss1_dss (2024-12-19T16:17:55.020753Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.962199Z)
✅ uss1_dss (2024-12-19T16:17:54.981374Z)
✅ uss1_dss (2024-12-19T16:17:55.001025Z)
✅ uss1_dss (2024-12-19T16:17:55.020310Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962241Z)
✅ uss1_dss (2024-12-19T16:17:54.981417Z)
✅ uss1_dss (2024-12-19T16:17:55.001068Z)
✅ uss1_dss (2024-12-19T16:17:55.020371Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.962279Z)
✅ uss1_dss (2024-12-19T16:17:54.981453Z)
✅ uss1_dss (2024-12-19T16:17:55.001105Z)
✅ uss1_dss (2024-12-19T16:17:55.020409Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962380Z)
✅ uss1_dss (2024-12-19T16:17:54.981531Z)
✅ uss1_dss (2024-12-19T16:17:55.001187Z)
✅ uss1_dss (2024-12-19T16:17:55.020489Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962331Z)
✅ uss1_dss (2024-12-19T16:17:54.981489Z)
✅ uss1_dss (2024-12-19T16:17:55.001142Z)
✅ uss1_dss (2024-12-19T16:17:55.020446Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962421Z)
✅ uss1_dss (2024-12-19T16:17:54.981570Z)
✅ uss1_dss (2024-12-19T16:17:55.001230Z)
✅ uss1_dss (2024-12-19T16:17:55.020529Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:54.962458Z)
✅ uss1_dss (2024-12-19T16:17:54.981606Z)
✅ uss1_dss (2024-12-19T16:17:55.001268Z)
✅ uss1_dss (2024-12-19T16:17:55.020566Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962530Z)
✅ uss1_dss (2024-12-19T16:17:54.981677Z)
✅ uss1_dss (2024-12-19T16:17:55.001366Z)
✅ uss1_dss (2024-12-19T16:17:55.020645Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:54.962566Z)
✅ uss1_dss (2024-12-19T16:17:54.981712Z)
✅ uss1_dss (2024-12-19T16:17:55.001405Z)
✅ uss1_dss (2024-12-19T16:17:55.020681Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the deletion is properly formatted and contains the correct content.
✅ uss1_dss (2024-12-19T16:17:54.962602Z)
✅ uss1_dss (2024-12-19T16:17:54.981746Z)
✅ uss1_dss (2024-12-19T16:17:55.001443Z)
✅ uss1_dss (2024-12-19T16:17:55.020717Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version field is as expected.
✅ uss1_dss (2024-12-19T16:17:54.962495Z)
✅ uss1_dss (2024-12-19T16:17:54.981642Z)
✅ uss1_dss (2024-12-19T16:17:55.001304Z)
✅ uss1_dss (2024-12-19T16:17:55.020609Z)
Attempt to query and search for the deleted subscription in various ways
If the DSS provides a successful reply to a direct query for the deleted subscription, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.023795Z)
✅ uss1_dss (2024-12-19T16:17:55.026049Z)
✅ uss1_dss (2024-12-19T16:17:55.028187Z)
✅ uss1_dss (2024-12-19T16:17:55.030252Z)
If the DSS fails to let us search in the area for which the subscription was just created, it is failing to meet astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.033302Z)
If the DSS returns the deleted subscription in a search that covers the area it was originally created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.033451Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:55.035604Z)
✅ uss1_dss (2024-12-19T16:17:55.037671Z)
✅ uss1_dss (2024-12-19T16:17:55.039802Z)
✅ uss1_dss (2024-12-19T16:17:55.041966Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. ∅ This check was not applicable to this test run and is therefore not statused.
Ensures that a DSS properly enforces limitations on created subscriptions
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:55.046293Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:55.048547Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
This test attempts to create subscriptions that should be rejected or adapted by the DSS.
This test step attempts to create a subscription that exceeds the maximal subscription duration on the DSS.
It does so directly, by attempting to create a subscription that exceeds the maximal duration of DSSMaxSubscriptionDuration
(24 hours),
and indirectly, by first creating a valid subscription and then attempting to mutate it to exceed the maximal duration.
If the DSS under test does not allow the creation of a subscription of the maximal allowed duration of DSSMaxSubscriptionDuration
,
it is failing to create a subscription using valid parameters, and is thus failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.059365Z)
If the DSS under test does not reject a subscription that exceeds the maximal allowed duration of DSSMaxSubscriptionDuration
,
or fails to truncate the duration of the subscription to this duration, it is in violation of astm.f3548.v21.DSS0015.
✅ uss1_dss (2024-12-19T16:17:55.052282Z)
If the DSS under test does not reject a mutation that would cause a subscription to exceed the maximal allowed duration of DSSMaxSubscriptionDuration
,
or fails to truncate the duration of the subscription to this duration, it is in violation of astm.f3548.v21.DSS0015.
✅ uss1_dss (2024-12-19T16:17:55.064560Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:55.068087Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:55.075379Z)
This scenario ensures that a DSS will only let the owner of an operational intent reference modify it.
A resources.flight_planning.FlightIntentsResource
containing the flight intents to be used in this scenario:
This scenario expects to find at least two separate flight intents in this resource, as it will use their extent to create two operational intents references.
✅ Provided by non_conflicting_flights in top-level resource pool.
A resources.astm.f3548.v21.DSSInstanceResource
pointing to the DSS instance to test for this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
A resources.communications.AuthAdapterResource
containing a second set of valid credentials for interacting with the DSS.
This second set of credentials is required to validate that the DSS is properly enforcing access control rules, and properly limits the actions of a client against the resources exposed by the DSS.
The participant under test is responsible for providing this second set of credentials along the primary ones used in most other scenarios.
In general, these test credentials may be in all points equal to the ones used by the AuthAdapterResource
that is
provided to the dss
resources above, except for the value contained in the sub
claim of the token.
For the purpose of this scenario, these credentials must be allowed to create, modify and delete operational intents on the DSS, as well as querying operational intent references.
For the purpose of this scenario, the second_utm_auth
resource must provide access to a token with at least the following scope:
utm.strategic_coordination
Note that the subscription (or 'sub' claim) of the token that will be obtained for this resource
MUST be different from the one of the dss
resources mentioned above:
this will be verified at runtime, and this scenario will fail if the second set of credentials belong to the same subscription as the main one.
✅ Provided by second_utm_auth in top-level resource pool.
A resources.interuss.IDGeneratorResource
that will be used to generate the IDs of the operational intent references created in this scenario.
✅ Provided by id_generator in top-level resource pool.
Makes sure that the DSS is in a clean and expected state before running the test, and that the passed resources work as required.
The setup will create two separate operational intent references: one for each set of the available credentials.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:55.086912Z)
✅ uss1_dss (2024-12-19T16:17:55.092580Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:55.103530Z)
✅ uss1_dss (2024-12-19T16:17:55.107070Z)
✅ uss1_dss (2024-12-19T16:17:55.111252Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If, after cleanup, one or more operational intent reference are still present at the DSS, this scenario cannot proceed.
This scenario is able to remove any operational intent reference that belongs to the configured credentials, but it cannot remove references that belong to other credentials.
A regular failure of this check indicates that other scenarios might not properly clean up their resources, or that the Prepare Flight Planners scenario should be moved in front of the present one.
If this check fails, the rest of the scenario is entirely skipped.
✅ uss1_dss (2024-12-19T16:17:55.111301Z)
This test step ensures that an operation intent reference created with the main credentials is available for the main test case.
To verify that the second credentials are valid, it will also create an operational intent reference with those credentials.
If the DSS does not allow the creation of operation intents when the required parameters and credentials are provided, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:55.127584Z)
✅ uss1_dss (2024-12-19T16:17:55.145873Z)
This scenario requires two sets of credentials that have a different 'sub' claim in order to validate that the DSS properly controls access to operational intents.
✅ uss1_dss (2024-12-19T16:17:55.146063Z)
This test case ensures that the DSS does not allow a caller to modify or delete operational intent references that they did not create.
This test step will attempt to modify the operational intent references that was created using the configured dss
resource,
using the credentials provided in the second_utm_auth
resource, and expect all such attempts to fail.
If an existing operational intent cannot directly be queried by its ID, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:55.168407Z)
If an operational intent reference can be modified by a client which did not create it, the DSS implementation is in violation of astm.f3548.v21.OPIN0035.
✅ uss1_dss, mock_uss (2024-12-19T16:17:55.154652Z)
✅ uss1_dss, mock_uss (2024-12-19T16:17:55.161347Z)
✅ uss1_dss, mock_uss (2024-12-19T16:17:55.168460Z)
If an operational intent reference can be deleted by a client which did not create it, the DSS implementation is in violation of astm.f3548.v21.OPIN0035.
✅ uss1_dss, mock_uss (2024-12-19T16:17:55.164882Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:55.171920Z)
✅ uss1_dss (2024-12-19T16:17:55.186691Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:55.183277Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:55.198070Z)
TODO: Complete with details once we check more than the prerequisites.
This scenario currently only checks that all specified DSS instances are publicly addressable and reachable.
A resources.astm.f3548.v21.DSSInstanceResource containing the "primary" DSS instance for this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
A resources.astm.f3548.v21.DSSInstancesResource containing at least two DSS instances complying with ASTM F3548-21.
✅ Provided by dss_instances in top-level resource pool.
A resources.astm.f3548.v21.PlanningAreaResource containing a planning area that covers the area of interest for this
✅ Provided by planning_area in top-level resource pool.
A resources.dev.TestExclusionsResource containing test exclusions parameters like whether private addresses are allowed. This resource is optional.
✅ Provided by test_exclusions in top-level resource pool.
As per astm.f3548.v21.DSS0300 the DSS instance should be publicly addressable.
As such, this check will fail if the resolved IP of the DSS host is a private IP address.
This check is skipped if the test exclusion allow_private_addresses
is set to True
.
∅ This check was not applicable to this test run and is therefore not statused.
As per astm.f3548.v21.DSS0300 the DSS instance should be publicly addressable. As such, this check will fail if the DSS is not reachable with a dummy query.
✅ uss1_dss (2024-12-19T16:17:55.204466Z)
✅ uss2_dss (2024-12-19T16:17:55.208393Z)
Verifies that all subscription CRUD operations performed on a single DSS instance are properly propagated to every other DSS
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
A resources.communications.AuthAdapterResource
containing a second set of valid credentials for interacting with the DSS.
This second set of credentials is required to validate that the DSS properly synchronizes the manager of a subscription to other DSS instances.
The test designer should provide this second set of credentials when full testing of manager synchronization behavior is desired.
In general, these test credentials may be in all points equal to the ones used by the AuthAdapterResource
that is
provided to the dss
resources above, except for the value contained in the sub
claim of the token.
Note that most checks in this scenario will work if the second set of credentials is not provided.
For the purpose of this scenario, the second_utm_auth
resource must provide access to a token with at least the following scope:
utm.strategic_coordination
Note that the subject (or 'sub' claim) of the token that will be obtained for this resource
MUST be different from the one of the dss
resources mentioned above:
this will be verified at runtime, and the depending checks will not be run if this is not the case.
✅ Provided by second_utm_auth in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss1_dss (2024-12-19T16:17:55.212875Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:55.215189Z)
✅ uss1_dss (2024-12-19T16:17:55.217343Z)
✅ uss1_dss (2024-12-19T16:17:55.219515Z)
✅ uss1_dss (2024-12-19T16:17:55.222488Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
This includes the main test subscription used in this test, as well as the extra subscription
used for testing the manager
field sync, if the test is configured to test for it.
∅ This check was not applicable to this test run and is therefore not statused.
This test case create a subscription on the main DSS, and verifies that it is properly synchronized to the other DSS instances.
It then goes on to mutate and delete it, each time confirming that all other DSSes return the expected results.
This test step creates multiple subscriptions with different combinations of the optional end and start time parameters.
All subscriptions are left on the DSS when this step ends, as they are expected to be present for the subsequent step.
This test step fragment validates that subscriptions can be created.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check query succeeds
✅ uss1_dss (2024-12-19T16:17:55.231122Z)
✅ uss1_dss (2024-12-19T16:17:55.253651Z)
✅ uss1_dss (2024-12-19T16:17:55.275765Z)
The response to a successful subscription creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.242254Z)
✅ uss1_dss (2024-12-19T16:17:55.265008Z)
✅ uss1_dss (2024-12-19T16:17:55.287204Z)
A successful subscription creation query is expected to return a well-defined body, the content of which reflects the created subscription.
If the content of the response does not correspond to the requested content, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Verify that a subscription can be created on the primary DSS.
✅ uss1_dss (2024-12-19T16:17:55.244108Z)
✅ uss1_dss (2024-12-19T16:17:55.266830Z)
✅ uss1_dss (2024-12-19T16:17:55.289109Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.243026Z)
✅ uss1_dss (2024-12-19T16:17:55.265768Z)
✅ uss1_dss (2024-12-19T16:17:55.288026Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.244076Z)
✅ uss1_dss (2024-12-19T16:17:55.266799Z)
✅ uss1_dss (2024-12-19T16:17:55.289077Z)
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.243075Z)
✅ uss1_dss (2024-12-19T16:17:55.265817Z)
✅ uss1_dss (2024-12-19T16:17:55.288077Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.243117Z)
✅ uss1_dss (2024-12-19T16:17:55.265857Z)
✅ uss1_dss (2024-12-19T16:17:55.288117Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.243153Z)
✅ uss1_dss (2024-12-19T16:17:55.265893Z)
✅ uss1_dss (2024-12-19T16:17:55.288154Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.243233Z)
✅ uss1_dss (2024-12-19T16:17:55.265967Z)
✅ uss1_dss (2024-12-19T16:17:55.288230Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.243187Z)
✅ uss1_dss (2024-12-19T16:17:55.265927Z)
✅ uss1_dss (2024-12-19T16:17:55.288189Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.243272Z)
✅ uss1_dss (2024-12-19T16:17:55.266006Z)
✅ uss1_dss (2024-12-19T16:17:55.288268Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.243306Z)
✅ uss1_dss (2024-12-19T16:17:55.266040Z)
✅ uss1_dss (2024-12-19T16:17:55.288303Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.243361Z)
✅ uss1_dss (2024-12-19T16:17:55.266074Z)
✅ uss1_dss (2024-12-19T16:17:55.288358Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.243398Z)
✅ uss1_dss (2024-12-19T16:17:55.266107Z)
✅ uss1_dss (2024-12-19T16:17:55.288397Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS under test is properly formatted and contains the expected content.
✅ uss1_dss (2024-12-19T16:17:55.243432Z)
✅ uss1_dss (2024-12-19T16:17:55.266140Z)
✅ uss1_dss (2024-12-19T16:17:55.288432Z)
Query the created subscription at every DSS provided in dss_instances
.
This test step fragment validates that subscriptions are properly synchronized across a set of DSS instances.
If the previously created or mutated subscription cannot be found at a DSS, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.294687Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.324936Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct USS base URL, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.295454Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.325704Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct start time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.295518Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.325768Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct end time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.295569Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.325820Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct version, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.295615Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.325866Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct notification flags, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1g, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.295663Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.325914Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct implicit flag, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1h, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.295705Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.325957Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the expected notification count, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1i, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.295748Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.326000Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area that encompasses the created subscription, the secondary DSS should return the subscription in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.316397Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.345286Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area not in the vicinity of the created subscription, the secondary DSS should not return it in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that the subscription that was just created is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:55.320672Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.348801Z)
This test step fragment validates that subscriptions can be read.
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
The response to a successful get subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that each DSS provides access to the created subscription,
✅ uss1_dss (2024-12-19T16:17:55.307001Z)
✅ uss2_dss (2024-12-19T16:17:55.336262Z)
This test step fragment validates that subscriptions can be searched for.
This test step fragment validates that a query to search for subscriptions succeeds.
If the DSS fails to let us search in the area for which the subscription was created, it is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:55.312705Z)
✅ uss1_dss (2024-12-19T16:17:55.320596Z)
✅ uss2_dss (2024-12-19T16:17:55.341261Z)
✅ uss2_dss (2024-12-19T16:17:55.348726Z)
If the existing subscription is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
Confirms that each DSS returns the created subscription when searched for.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by every DSS is correctly formatted and corresponds to what was created earlier.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by every DSS is as expected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step mutates the previously created subscription, by accessing the primary DSS, to verify that the update is propagated to all other DSSes. Notably, it checks that the subscription version is updated, including for changes that are not directly visible, such as changing the subscription's footprint.
This test step fragment validates that subscriptions can be updated.
This test step fragment validates that a query to update a subscription succeeds.
If a subscription cannot be updated with a valid set of parameters, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:55.356578Z)
The response to a successful subscription mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.368703Z)
A successful subscription mutation query is expected to return a well-defined body, the content of which reflects the mutated subscription.
If the content of the response does correspond to the requested mutation, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirm that the subscription can be mutated.
✅ uss1_dss (2024-12-19T16:17:55.370027Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.369511Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.370002Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.369561Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.369603Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.369639Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.369726Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.369682Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.369765Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.369800Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.369867Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.369901Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS is properly formatted and contains the correct content.
✅ uss1_dss (2024-12-19T16:17:55.369945Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its mutation.
The code for these checks lives in the subscription_validator.py class.
Following a mutation, the DSS needs to update the subscription version, otherwise it is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by the DSS has been updated.
✅ uss1_dss (2024-12-19T16:17:55.369834Z)
Query the updated subscription at every DSS provided in dss_instances
.
This test step fragment validates that subscriptions are properly synchronized across a set of DSS instances.
If the previously created or mutated subscription cannot be found at a DSS, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.374815Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.401696Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct USS base URL, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.375586Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.402475Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct start time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.375649Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.402547Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct end time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.375699Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.402599Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct version, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.375753Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.402646Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct notification flags, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1g, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.375802Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.402692Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct implicit flag, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1h, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.375845Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.402734Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the expected notification count, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1i, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.375887Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.402777Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area that encompasses the created subscription, the secondary DSS should return the subscription in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.394771Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.421709Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area not in the vicinity of the created subscription, the secondary DSS should not return it in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that the subscription that was just mutated is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:55.398264Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.425810Z)
This test step fragment validates that subscriptions can be read.
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
The response to a successful get subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that the subscription that was just mutated can be retrieved from any DSS.
✅ uss1_dss (2024-12-19T16:17:55.385875Z)
✅ uss2_dss (2024-12-19T16:17:55.413072Z)
This test step fragment validates that subscriptions can be searched for.
This test step fragment validates that a query to search for subscriptions succeeds.
If the DSS fails to let us search in the area for which the subscription was created, it is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:55.391030Z)
✅ uss1_dss (2024-12-19T16:17:55.398190Z)
✅ uss2_dss (2024-12-19T16:17:55.417978Z)
✅ uss2_dss (2024-12-19T16:17:55.425733Z)
If the existing subscription is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
Confirms that the subscription that was just mutated can be searched for from any DSS.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by every DSS is correctly formatted and corresponds to what was mutated earlier.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by every DSS is as expected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step attempts to mutate the subscription on every secondary DSS instance (that is, instances through which the subscription has not been created) to confirm that such mutations are properly propagated to every DSS.
Note that this step is repeated for every secondary DSS instance.
If the secondary DSS does not allow the subscription to be mutated, either the secondary DSS or the primary DSS are in violation of one or both of the following requirements:
astm.f3548.v21.DSS0210,1b, if the manager
of the subscription fails to be taken into account (either because the primary DSS did not propagated it, or because the secondary failed to consider it);
astm.f3548.v21.DSS0005,5, if the secondary DSS fails to properly implement the API to mutate subscriptions.
✅ uss1_dss (2024-12-19T16:17:55.448545Z)
When queried for a subscription that was created via another DSS, a DSS instance is expected to provide a valid subscription.
If it does not, it might be in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment validates that subscriptions can be updated.
This test step fragment validates that a query to update a subscription succeeds.
If a subscription cannot be updated with a valid set of parameters, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
The response to a successful subscription mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.460291Z)
A successful subscription mutation query is expected to return a well-defined body, the content of which reflects the mutated subscription.
If the content of the response does correspond to the requested mutation, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirm that the secondary DSS handles the update properly.
✅ uss1_dss (2024-12-19T16:17:55.461633Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.461108Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.461611Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.461160Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.461202Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.461240Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.461341Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.461278Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.461388Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.461426Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.461498Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.461535Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS is properly formatted and contains the correct content.
✅ uss1_dss (2024-12-19T16:17:55.461574Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its mutation.
The code for these checks lives in the subscription_validator.py class.
Following a mutation, the DSS needs to update the subscription version, otherwise it is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription is updated after the mutation on the secondary.
✅ uss1_dss (2024-12-19T16:17:55.461463Z)
This step verifies that the mutation of the subscription on a secondary instance, from the previous step, is properly propagated to every other DSS.
Note that this step is repeated for every secondary DSS instance.
This test step fragment validates that subscriptions are properly synchronized across a set of DSS instances.
If the previously created or mutated subscription cannot be found at a DSS, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.466204Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.494817Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct USS base URL, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.466967Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.495629Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct start time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.467039Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.495693Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct end time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.467090Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.495747Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct version, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.467137Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.495834Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct notification flags, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1g, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.467186Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.495924Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct implicit flag, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1h, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.467229Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.495981Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the expected notification count, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1i, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.467272Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.496039Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area that encompasses the created subscription, the secondary DSS should return the subscription in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss (2024-12-19T16:17:55.486865Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.517431Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area not in the vicinity of the created subscription, the secondary DSS should not return it in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that the subscription that was just mutated is properly synchronized across all DSS instances.
✅ uss1_dss (2024-12-19T16:17:55.491109Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.521368Z)
This test step fragment validates that subscriptions can be read.
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
The response to a successful get subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that the subscription that was just mutated can be retrieved from any DSS, and that it has the expected content.
✅ uss1_dss (2024-12-19T16:17:55.477310Z)
✅ uss2_dss (2024-12-19T16:17:55.507875Z)
This test step fragment validates that subscriptions can be searched for.
This test step fragment validates that a query to search for subscriptions succeeds.
If the DSS fails to let us search in the area for which the subscription was created, it is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:55.483041Z)
✅ uss1_dss (2024-12-19T16:17:55.491029Z)
✅ uss2_dss (2024-12-19T16:17:55.513723Z)
✅ uss2_dss (2024-12-19T16:17:55.521257Z)
If the existing subscription is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
Confirms that the subscription that was just mutated can be searched for from any DSS, and that it has the expected content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that when we are reading the subscription without mutating it, the version is as expected.
∅ This check was not applicable to this test run and is therefore not statused.
If the second set of credentials is provided, this test step will create a subscription using these credentials, in order to prepare the next step that checks manager synchronization.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Verify that a subscription can be created on the primary DSS using the separate set of credentials.
✅ uss1_dss (2024-12-19T16:17:55.433576Z)
If the second set of credentials is provided, checks that the manager of a subscription is properly synchronized across all DSS instances.
This is done by verifying that the main credentials are not able to delete the subscription via any of the secondary DSS instances.
If the subscription can be deleted by a client which did not create it, via a DSS instance to which the subscription was synced following its creation on the primary DSS, either one of the primary DSS or the DSS that accepted the deletion failed to properly broadcast, respectively take into account, the manage of the subscription, and therefore violates astm.f3548.v21.DSS0210,1b.
✅ uss1_dss (2024-12-19T16:17:55.437606Z)
✅ uss2_dss (2024-12-19T16:17:55.440871Z)
Attempt to delete the subscription that was created on the primary DSS through the primary DSS in various ways, and ensure that the DSS reacts properly.
This also checks that the subscription data returned by a successful deletion is correct.
This test step fragment validates that subscriptions can be deleted.
This test step fragment validates that a query to remove a subscription succeeds.
An attempt to delete a subscription when the correct version is provided should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:55.608466Z)
The response to a successful subscription deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.620043Z)
A successful subscription deletion query is expected to return a well-defined body, the content of which reflects the deleted subscription.
If the content of the response does not correspond to the subscription at the time of deletion, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that a subscription can be deleted.
✅ uss1_dss (2024-12-19T16:17:55.620630Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.620138Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.620608Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.620182Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.620223Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.620261Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.620358Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.620296Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.620402Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.620438Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.620505Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.620539Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the deletion is properly formatted and contains the correct content.
✅ uss1_dss (2024-12-19T16:17:55.620573Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by the DSS is as expected
✅ uss1_dss (2024-12-19T16:17:55.620472Z)
Attempt to query and search for the deleted subscription in various ways
If a DSS returns a subscription that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the subscription is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS through which the subscription was deleted is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss1_dss (2024-12-19T16:17:55.623694Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:17:55.626086Z)
Attempt to delete subscriptions that were created through the primary DSS via the secondary DSS instances.
This test step fragment validates that subscriptions can be deleted.
This test step fragment validates that a query to remove a subscription succeeds.
An attempt to delete a subscription when the correct version is provided should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:55.633292Z)
✅ uss2_dss (2024-12-19T16:17:55.659219Z)
The response to a successful subscription deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.644604Z)
✅ uss2_dss (2024-12-19T16:17:55.670728Z)
A successful subscription deletion query is expected to return a well-defined body, the content of which reflects the deleted subscription.
If the content of the response does not correspond to the subscription at the time of deletion, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that a subscription can be deleted from a secondary DSS
✅ uss1_dss (2024-12-19T16:17:55.645251Z)
✅ uss2_dss (2024-12-19T16:17:55.671307Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.644709Z)
✅ uss2_dss (2024-12-19T16:17:55.670827Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.645230Z)
✅ uss2_dss (2024-12-19T16:17:55.671286Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.644780Z)
✅ uss2_dss (2024-12-19T16:17:55.670870Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.644855Z)
✅ uss2_dss (2024-12-19T16:17:55.670910Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.644900Z)
✅ uss2_dss (2024-12-19T16:17:55.670946Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.644984Z)
✅ uss2_dss (2024-12-19T16:17:55.671027Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.644939Z)
✅ uss2_dss (2024-12-19T16:17:55.670981Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.645025Z)
✅ uss2_dss (2024-12-19T16:17:55.671069Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:17:55.645060Z)
✅ uss2_dss (2024-12-19T16:17:55.671105Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.645128Z)
✅ uss2_dss (2024-12-19T16:17:55.671174Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:55.645163Z)
✅ uss2_dss (2024-12-19T16:17:55.671209Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the deletion is properly formatted and contains the correct content.
✅ uss1_dss (2024-12-19T16:17:55.645196Z)
✅ uss2_dss (2024-12-19T16:17:55.671250Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by the DSS is as expected
✅ uss1_dss (2024-12-19T16:17:55.645095Z)
✅ uss2_dss (2024-12-19T16:17:55.671140Z)
If a DSS returns a subscription that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the subscription is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS through which the subscription was deleted is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss1_dss (2024-12-19T16:17:55.648017Z)
✅ uss1_dss, uss1_dss (2024-12-19T16:17:55.650239Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:17:55.652548Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.674293Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:55.676437Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:17:55.678555Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss1_dss (2024-12-19T16:17:55.680703Z)
✅ uss1_dss (2024-12-19T16:17:55.682765Z)
✅ uss1_dss (2024-12-19T16:17:55.684836Z)
✅ uss1_dss (2024-12-19T16:17:55.688013Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
This includes the main test subscription used in this test, as well as the extra subscription
used for testing the manager
field sync, if the test is configured to test for it.
✅ uss1_dss (2024-12-19T16:17:55.696382Z)
This instance of this test scenario was skipped in this test run because: Test suite action to run ActionType.TestScenario scenarios.astm.utm.dss.CRDBAccess could not find required resource ID "dss_crdb_cluster" used to populate child resource ID "crdb_cluster"
This test validates that a DSS correctly implements the OVN Request Optional Extension to ASTM F3548-21.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the base entity ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
ClientIdentityResource
the client identity that will be used to create and update operational intent references.
✅ Provided by utm_client_identity in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which operational intent references will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:55.704789Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss1_dss (2024-12-19T16:17:55.702123Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
This case validates the nominal behavior of the OVN request.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid. Check that the OIR creation query succeeds.
✅ uss1_dss (2024-12-19T16:17:55.718476Z)
This test step fragment validates that the DSS has set the expected OVN correctly after an USS requested a suffix.
If the DSS has not set the OVN according to the specifications, it will fail this check as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS has set the expected OVN correctly.
✅ uss1_dss (2024-12-19T16:17:55.718533Z)
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference. Check that the OIR update query succeeds.
✅ uss1_dss (2024-12-19T16:17:55.738078Z)
This test step fragment validates that the DSS has set the expected OVN correctly after an USS requested a suffix.
If the DSS has not set the OVN according to the specifications, it will fail this check as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS has set the expected OVN correctly.
✅ uss1_dss (2024-12-19T16:17:55.738141Z)
This case validates the off-nominal behaviors of the OVN request.
This test step fragment validates that the DSS rejects invalid attempts to request an OVN suffix.
If the DSS accepts the OVN suffix, or fails with an error other than an HTTP code 400, this check will fail as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS rejects OVN suffix that are not UUIDs. If the DSS accepts the OVN suffix, or fails with an unexpected error, this check will fail.
✅ uss1_dss (2024-12-19T16:17:55.740111Z)
This test step fragment validates that the DSS rejects invalid attempts to request an OVN suffix.
If the DSS accepts the OVN suffix, or fails with an error other than an HTTP code 400, this check will fail as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS rejects OVN suffix that are empty. If the DSS accepts the OVN suffix, or fails with an unexpected error, this check will fail.
✅ uss1_dss (2024-12-19T16:17:55.741841Z)
This test step fragment validates that the DSS rejects invalid attempts to request an OVN suffix.
If the DSS accepts the OVN suffix, or fails with an error other than an HTTP code 400, this check will fail as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS rejects OVN suffix that are UUIDs but not v7. If the DSS accepts the OVN suffix, or fails with an unexpected error, this check will fail.
✅ uss1_dss (2024-12-19T16:17:55.743911Z)
This test step fragment validates that the DSS rejects invalid attempts to request an OVN suffix.
If the DSS accepts the OVN suffix, or fails with an error other than an HTTP code 400, this check will fail as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS rejects OVN suffix that are outdated UUIDv7. If the DSS accepts the OVN suffix, or fails with an unexpected error, this check will fail.
✅ uss1_dss (2024-12-19T16:17:55.745503Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:55.749174Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss1_dss (2024-12-19T16:17:55.762128Z)
This scenario tests the ability of the DSS to receive DSS reports.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 1 in dss_instances in top-level resource pool.
This test attempts to submit to the DSS a report about a communication issue with a DSS that might otherwise go unnoticed.
A dummy getOperationalIntentReference
query is made to a non-existent DSS in order to produce a realistic report, as if a DSS was not reachable when trying to retrieve an operational intent reference.
This step makes a report to the DSS.
See make_dss_report
in test_steps.py.
If the submission of the report to the DSS does not succeed, this check will fail per astm.f3548.v21.DSS0100,2.
✅ uss1_dss (2024-12-19T16:17:55.912873Z)
If the ID returned by the DSS is not present or is empty, this check will fail per astm.f3548.v21.DSS0100,2.
✅ uss1_dss (2024-12-19T16:17:55.912919Z)
Checks that implicit subscriptions are properly created, mutated and cleaned up.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription IDs for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
provides the identity that will be used to interact with the DSS.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:55.921503Z)
✅ uss2_dss (2024-12-19T16:17:55.923663Z)
✅ uss2_dss (2024-12-19T16:17:55.925786Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:55.919190Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:17:55.928609Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:17:55.930781Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
This step creates an OIR with an implicit subscription and confirms that the subscription can be queried
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss2_dss (2024-12-19T16:17:55.945125Z)
This test step fragment validates that implicit subscriptions are created and can be queried, and that they have the correct temporal parameters.
The creation of an operational intent which:
is expected to trigger the creation of a new implicit subscription.
If the DSS does not create the implicit subscription, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:55.952965Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:55.954217Z)
This test step fragment validates that operational intent references can be deleted
A query to delete an operational intent reference, by its owner and when the correct OVN is provided, should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:55.966930Z)
The response to a successful operational intent reference deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
A successful operational intent reference deletion query is expected to return a body, the content of which reflects the operational intent reference at the moment of deletion. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
∅ This check was not applicable to this test run and is therefore not statused.
Upon deletion of an OIR that is associated to an implicit subscription, if the subscription has no other associated OIRs, the DSS is expected to remove it.
If a query attempting to fetch the implicit subscription succeeds, it implies that the implicit subscription has not been removed, and the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:55.969212Z)
If, after the DSS is left in the same state as it was 'found' for an area, the subscriptions currently active do not correspond to the ones that were present when the test case started, the DSS may be failing to properly implement astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:17:55.969263Z)
This test case verifies that implicit subscriptions belonging to OIRs that are created, updated and deleted are properly managed.
In particular, the scenario verifies that:
Create an OIR with which interactions will be tested and request an implicit subscription to be created.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss2_dss (2024-12-19T16:17:55.982603Z)
This test step fragment validates that implicit subscriptions are created and can be queried, and that they have the correct temporal parameters.
The creation of an operational intent which:
is expected to trigger the creation of a new implicit subscription.
If the DSS does not create the implicit subscription, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:55.991268Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:55.992549Z)
This step creates an OIR in the ACCEPTED
state that overlaps with the previously created OIR:
it does not request the creation of an implicit subscription and does not attach the OIR to any subscription explicitly.
This step expects that the implicit subscription from the previously created OIR is mentioned in the response's notifications, and that no new implicit subscription is created.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss2_dss (2024-12-19T16:17:56.005889Z)
If the newly created OIR does not mention the implicit subscription from the previous OIR in its notifications, the DSS is either improperly managing implicit subscriptions, or failing to report the subscriptions relevant to an OIR, and therefore in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5 respectively.
✅ uss2_dss (2024-12-19T16:17:56.008296Z)
If the DSS attached an implicit subscription, by either creating or re-using an existing one, to the OIR that was created in this step, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.008246Z)
This step mutates the first OIR, which has an implicit subscription, to no longer overlap with the second OIR.
The mutation request does not specify an existing subscription, and provides the parameters required for the creation of an implicit subscription.
This test step fragment validates that operational intent references can be updated.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
Check query succeeds.
✅ uss2_dss (2024-12-19T16:17:56.024914Z)
This test step fragment validates that updates to operational intent references return a body in the correct format.
The response to a successful operational intent reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format
∅ This check was not applicable to this test run and is therefore not statused.
A successful operational intent reference mutation query is expected to return a well-defined body, the content of which reflects the updated operational intent reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
∅ This check was not applicable to this test run and is therefore not statused.
The implicit subscription attached to the mutated OIR should be able to be queried.
If it cannot, the DSS is either improperly managing implicit subscriptions for OIRs, or failing to report the subscriptions relevant to an OIR, in which case the DSS is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5, respectively.
✅ uss2_dss (2024-12-19T16:17:56.033639Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.034919Z)
If the DSS chose to create a new implicit subscription instead of updating the existing one, and the DSS did not remove the previous subscription, the DSS is in violation of either astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:17:56.037750Z)
This step creates a new OIR that only overlaps the OIR that has no implicit subscription, and expects to not have to notify any subscription related to the OIRs created in this scenario.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss2_dss (2024-12-19T16:17:56.048300Z)
Within a geotemporal area that does not intersect with any of the implicit subscriptions that are left within the DSS, the subscriptions returned for an OIR created within said area should correspond to the ones that were present when the test case started.
Otherwise, the DSS may be failing to properly implement astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:17:56.050421Z)
If the DSS attached an implicit subscription, by either creating or re-using an existing one, to the OIR that was created in this step, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.050371Z)
This test case verifies that implicit subscriptions are properly removed if they become unnecessary following the mutation of an OIR.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.088654Z)
✅ uss2_dss (2024-12-19T16:17:56.090850Z)
✅ uss2_dss (2024-12-19T16:17:56.093517Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:56.086343Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.065547Z)
✅ uss2_dss (2024-12-19T16:17:56.077638Z)
✅ uss2_dss (2024-12-19T16:17:56.086290Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:17:56.096369Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:17:56.098482Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
Creates two OIRs with an implicit subscription, which will then be replaced by an explicitly created subscription and deleted by an update that requests no subscription, respectively.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss2_dss (2024-12-19T16:17:56.111508Z)
✅ uss2_dss (2024-12-19T16:17:56.139221Z)
This test step fragment validates that implicit subscriptions are created and can be queried, and that they have the correct temporal parameters.
The creation of an operational intent which:
is expected to trigger the creation of a new implicit subscription.
If the DSS does not create the implicit subscription, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.119714Z)
✅ uss2_dss (2024-12-19T16:17:56.147225Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.121670Z)
✅ uss2_dss (2024-12-19T16:17:56.148554Z)
This test step creates a subscription that will be used to replace the implicit subscription that was created for an OIR.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check creation succeeds and response is correct.
✅ uss2_dss (2024-12-19T16:17:56.158069Z)
This step updates the OIR to use the subscription that was created in the previous step, and expects the previous implicit subscription to be removed.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
✅ uss2_dss (2024-12-19T16:17:56.174276Z)
If the implicit subscription that was attached to the OIR is still present after the OIR is updated to use another subscription, the DSS is failing to properly manage implicit subscriptions for OIRs, and is therefore in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.176704Z)
This step updates the OIR to not use any subscription, and expects the implicit subscription to be removed.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
✅ uss2_dss (2024-12-19T16:17:56.191977Z)
If the implicit subscription that was attached to the OIR is still present after the OIR is updated to use another subscription, the DSS is failing to properly manage implicit subscriptions for OIRs, and is therefore in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.194430Z)
This test case checks that a DSS will properly expand an implicit subscription to cover an OIR that is being attached to it.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.221462Z)
✅ uss2_dss (2024-12-19T16:17:56.225488Z)
✅ uss2_dss (2024-12-19T16:17:56.227627Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:56.219051Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.210087Z)
✅ uss2_dss (2024-12-19T16:17:56.219013Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:17:56.230973Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:17:56.235687Z)
✅ uss2_dss (2024-12-19T16:17:56.245165Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
✅ uss2_dss (2024-12-19T16:17:56.242817Z)
Create an OIR with which interactions will be tested and request an implicit subscription to be created.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss2_dss (2024-12-19T16:17:56.258532Z)
This test step fragment validates that implicit subscriptions are created and can be queried, and that they have the correct temporal parameters.
The creation of an operational intent which:
is expected to trigger the creation of a new implicit subscription.
If the DSS does not create the implicit subscription, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.267303Z)
This test step fragment validates the time-bounds of an implicit subscription
If the implicit subscription time boundaries do not cover the OIR's, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.268579Z)
Expand the previously created OIR's duration while explicitly specifying the implicit subscription that was automatically created for it.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
✅ uss2_dss (2024-12-19T16:17:56.283785Z)
The implicit subscription attached to the mutated OIR should be able to be queried.
If it cannot, the DSS is either improperly managing implicit subscriptions for OIRs, or failing to report the subscriptions relevant to an OIR, in which case the DSS is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,5, respectively.
✅ uss2_dss (2024-12-19T16:17:56.287199Z)
This test step fragment validates the time-bounds of an implicit subscription with respect to the OIRs it needs to cover.
If the implicit subscription's time boundaries do not cover every OIR attached to it, the DSS is in violation of astm.f3548.v21.DSS0005,1.
Ensure that the attached implicit subscription has been expanded
✅ uss2_dss (2024-12-19T16:17:56.288595Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.311995Z)
✅ uss2_dss (2024-12-19T16:17:56.314275Z)
✅ uss2_dss (2024-12-19T16:17:56.316520Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:56.305286Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.305241Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:17:56.319492Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:17:56.321710Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. ∅ This check was not applicable to this test run and is therefore not statused.
Verifies the behavior of a DSS for simple interactions pertaining to operational intent references.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the base entity ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
ClientIdentityResource
the client identity that will be used to create and update operational intent references.
✅ Provided by utm_client_identity in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which operational intent references will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.331430Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:56.329113Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
✅ uss2_dss (2024-12-19T16:17:56.345046Z)
Ensures that a DSS will only delete OIRs when the correct OVN is presented.
This step verifies that an existing OIR cannot be deleted with a missing OVN.
If the DSS under test allows the qualifier to delete an existing OIR with a request that provided an empty OVN, it is in violation of astm.f3548.v21.DSS0005,1
✅ uss2_dss (2024-12-19T16:17:56.346608Z)
This step verifies that an existing OIR cannot be deleted with an incorrect OVN.
If the DSS under test allows the qualifier to delete an existing OIR with a request that provided an incorrect OVN, it is in violation of astm.f3548.v21.DSS0005,1
✅ uss2_dss (2024-12-19T16:17:56.352632Z)
Test DSS behavior when mutation requests are not providing the required OVN.
This step verifies that an existing OIR cannot be mutated with a missing OVN.
If the DSS under test allows the qualifier to mutate an existing OIR with a request that provided an empty OVN, it is in violation of astm.f3548.v21.DSS0005,1
✅ uss2_dss (2024-12-19T16:17:56.357690Z)
This step verifies that an existing OIR cannot be mutated with an incorrect OVN.
If the DSS under test allows the qualifier to mutate an existing OIR with a request that provided an incorrect OVN, it is in violation of astm.f3548.v21.DSS0005,1
✅ uss2_dss (2024-12-19T16:17:56.363057Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.386160Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:56.379730Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.379691Z)
Verifies the behavior of a DSS for simple interactions pertaining to constraint references.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the base entity ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
ClientIdentityResource
the client identity that will be used to create and update constraint references.
✅ Provided by utm_client_identity in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which constraint references will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.393940Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
✅ uss2_dss (2024-12-19T16:17:56.391596Z)
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
This step ensures that no entities with the known test IDs exists in the DSS.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment validates that a query to create a constraint reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,3, the DSS API must allow callers to create a constraint reference with either one or both of the start and end time missing, provided all the required parameters are valid.
This step creates the constraint reference to be used in this scenario.
✅ uss2_dss (2024-12-19T16:17:56.402284Z)
Ensures that an existing CR can only be deleted when the correct OVN is provided.
This step verifies that an existing CR cannot be deleted with a missing OVN.
If the DSS under test allows the qualifier to delete an existing CR with a request that provided an empty OVN, it is in violation of astm.f3548.v21.DSS0005,3
✅ uss2_dss (2024-12-19T16:17:56.403699Z)
This step verifies that an existing CR cannot be deleted with an incorrect OVN.
If the DSS under test allows the qualifier to delete an existing CR with a request that provided an incorrect OVN, it is in violation of astm.f3548.v21.DSS0005,3
✅ uss2_dss (2024-12-19T16:17:56.406039Z)
Ensures that an existing CR can only be mutated when the correct OVN is provided.
This step verifies that an existing CR cannot be mutated with a missing OVN.
If the DSS under test allows the qualifier to mutate an existing CR with a request that provided an empty OVN, it is in violation of astm.f3548.v21.DSS0005,3
✅ uss2_dss (2024-12-19T16:17:56.409561Z)
This step verifies that an existing CR cannot be mutated with an incorrect OVN.
If the DSS under test allows the qualifier to mutate an existing CR with a request that provided an incorrect OVN, it is in violation of astm.f3548.v21.DSS0005,3
✅ uss2_dss (2024-12-19T16:17:56.412947Z)
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.426335Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
✅ uss2_dss (2024-12-19T16:17:56.417208Z)
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.424101Z)
Verifies that all CRUD operations on constraint references performed on a given DSS instance are properly propagated to every other DSS instance participating in the deployment.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the constraint reference ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which constraint reference will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
to be used for this scenario.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.434429Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
✅ uss2_dss (2024-12-19T16:17:56.432207Z)
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
∅ This check was not applicable to this test run and is therefore not statused.
This test case creates an constraint reference on the main DSS, and verifies that it is properly synchronized to the other DSS instances.
It then goes on to mutate and delete it, each time confirming that all other DSSes return the expected results.
This test step fragment validates that:
This test step fragment validates that a query to create a constraint reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,3, the DSS API must allow callers to create a constraint reference with either one or both of the start and end time missing, provided all the required parameters are valid.
Check query succeeds
✅ uss2_dss (2024-12-19T16:17:56.441778Z)
This test step fragment validates that a constraint references creation returns a body in the correct format.
The response to a successful constraint reference creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss2_dss (2024-12-19T16:17:56.453056Z)
A successful constraint reference creation query is expected to return a body, the content of which reflects the created constraint reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Verify that an constraint reference can be created on the primary DSS.
✅ uss2_dss (2024-12-19T16:17:56.454127Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.453779Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.453826Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.453862Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.453898Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.453938Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.453972Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.454040Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.454005Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.454074Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.454106Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
Verify that the constraint reference returned by the DSS under test is properly formatted and contains the expected content.
∅ This check was not applicable to this test run and is therefore not statused.
Retrieve and validate synchronization of the created constraint at every DSS provided in dss_instances
.
This test step fragment validates that constraint references can be read
This test step fragment validates that a query to retrieve an existing constraint reference with valid parameters succeeds.
If an existing constraint reference cannot successfully be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,3.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:56.458277Z)
✅ uss2_dss (2024-12-19T16:17:56.475522Z)
This test step fragment validates that a request for a constraint reference returns a properly formatted body.
The response to a successful get constraint reference query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.469898Z)
✅ uss2_dss (2024-12-19T16:17:56.487385Z)
A successful constraint reference creation query is expected to return a body, the content of which reflects a constraint reference that was created earlier. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that read query succeeds.
✅ uss2_dss (2024-12-19T16:17:56.471094Z)
✅ uss2_dss (2024-12-19T16:17:56.488731Z)
If the constraint retrieved from a secondary DSS instance is not consistent with the newly created one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1a, astm.f3548.v21.DSS0210,A2-7-2,1f, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.459236Z)
✅ uss2_dss (2024-12-19T16:17:56.476531Z)
This test step fragment validates that constraint references are properly synchronized across a set of DSS instances.
If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.458360Z)
✅ uss2_dss (2024-12-19T16:17:56.475591Z)
When querying a secondary DSS for constraints in the planning area that contains the propagated constraint, if the propagated constraint is not contained in the response, then the general area in which the propagated constraint is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fail to properly one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.458428Z)
✅ uss2_dss (2024-12-19T16:17:56.475654Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.458477Z)
✅ uss2_dss (2024-12-19T16:17:56.475698Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.459169Z)
✅ uss2_dss (2024-12-19T16:17:56.476462Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS provides direct access to the created constraint reference. Confirm that the constraint reference that was just created is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.459215Z)
✅ uss2_dss (2024-12-19T16:17:56.476509Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470624Z)
✅ uss2_dss (2024-12-19T16:17:56.488145Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470677Z)
✅ uss2_dss (2024-12-19T16:17:56.488213Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470720Z)
✅ uss2_dss (2024-12-19T16:17:56.488262Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470760Z)
✅ uss2_dss (2024-12-19T16:17:56.488331Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470801Z)
✅ uss2_dss (2024-12-19T16:17:56.488399Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470845Z)
✅ uss2_dss (2024-12-19T16:17:56.488446Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470924Z)
✅ uss2_dss (2024-12-19T16:17:56.488548Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470884Z)
✅ uss2_dss (2024-12-19T16:17:56.488501Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.470963Z)
✅ uss2_dss (2024-12-19T16:17:56.488589Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.471000Z)
✅ uss2_dss (2024-12-19T16:17:56.488628Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
Sanity check on the rest of the content and format of the response.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.471074Z)
✅ uss2_dss (2024-12-19T16:17:56.488703Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
Confirm that version and OIR are as expected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.471037Z)
✅ uss2_dss (2024-12-19T16:17:56.488666Z)
Search for and validate synchronization of the created constraint at every DSS provided in dss_instances
.
This test step fragment validates that constraint references can be searched for.
This test step fragment validates that a query to search for constraint references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the CR was created, it is failing to meet astm.f3548.v21.DSS0005,4.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:56.493258Z)
✅ uss2_dss (2024-12-19T16:17:56.511129Z)
This test step fragment validates that constraint references search responses are properly formatted.
The response to a successful constraint reference search query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
Check response format.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.505194Z)
✅ uss2_dss (2024-12-19T16:17:56.522922Z)
If the existing constraint reference is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,4.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506117Z)
✅ uss2_dss (2024-12-19T16:17:56.523712Z)
A successful constraint reference search query is expected to return a body, the content of which reflects any constraint reference present in the searched area. This includes the previously created constraint reference, which should accurately represent the constraint reference as it was requested. If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that search query succeeds and the response is well-formed.
✅ uss2_dss (2024-12-19T16:17:56.506662Z)
✅ uss2_dss (2024-12-19T16:17:56.524236Z)
If the constraint searched from a secondary DSS instance is not consistent with the newly created one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1a, astm.f3548.v21.DSS0210,A2-7-2,1e, , astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.494266Z)
✅ uss2_dss (2024-12-19T16:17:56.512143Z)
This test step fragment validates that constraint references are properly synchronized across a set of DSS instances.
If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
When querying a secondary DSS for constraints in the planning area that contains the propagated constraint, if the propagated constraint is not contained in the response, then the general area in which the propagated constraint is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fail to properly one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.493349Z)
✅ uss2_dss (2024-12-19T16:17:56.511202Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.493421Z)
✅ uss2_dss (2024-12-19T16:17:56.511267Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.493466Z)
✅ uss2_dss (2024-12-19T16:17:56.511328Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.494198Z)
✅ uss2_dss (2024-12-19T16:17:56.512071Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS returns the constraint in relevant search results. Confirm that the constraint reference that was just created is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.494245Z)
✅ uss2_dss (2024-12-19T16:17:56.512120Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506175Z)
✅ uss2_dss (2024-12-19T16:17:56.523772Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506219Z)
✅ uss2_dss (2024-12-19T16:17:56.523816Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506260Z)
✅ uss2_dss (2024-12-19T16:17:56.523856Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506301Z)
✅ uss2_dss (2024-12-19T16:17:56.523896Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506360Z)
✅ uss2_dss (2024-12-19T16:17:56.523945Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506401Z)
✅ uss2_dss (2024-12-19T16:17:56.523985Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506483Z)
✅ uss2_dss (2024-12-19T16:17:56.524064Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506441Z)
✅ uss2_dss (2024-12-19T16:17:56.524022Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506525Z)
✅ uss2_dss (2024-12-19T16:17:56.524103Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506564Z)
✅ uss2_dss (2024-12-19T16:17:56.524140Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506640Z)
✅ uss2_dss (2024-12-19T16:17:56.524215Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.506602Z)
✅ uss2_dss (2024-12-19T16:17:56.524178Z)
This test step mutates the previously created constraint reference to verify that the DSS reacts properly: notably, it checks that the constraint reference version is updated, including for changes that are not directly visible, such as changing the constraint reference's footprint.
This test step fragment validates that constraint references can be updated.
This test step fragment validates that a query to update a constraint reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,3, the DSS API must allow callers to mutate a constraint reference.
Check query succeeds.
✅ uss2_dss (2024-12-19T16:17:56.534028Z)
This test step fragment validates that updates to constraint references return a body in the correct format.
The response to a successful constraint reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss2_dss (2024-12-19T16:17:56.545268Z)
A successful constraint reference mutation query is expected to return a well-defined body, the content of which reflects the updated constraint reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Confirm that the constraint reference can be mutated.
✅ uss2_dss (2024-12-19T16:17:56.546500Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.546044Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.546092Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.546131Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.546169Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.546206Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.546240Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.546331Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.546279Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.546372Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.546407Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
Verify that the constraint reference returned by the DSS is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been mutated.
The code for these checks lives in the cr_validator.py class.
Following a mutation, the DSS needs to update the constraint reference version, otherwise it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.546479Z)
Following a mutation, the DSS needs to update the constraint reference OVN, otherwise it is in violation of astm.f3548.v21.DSS0005,3.
Verify that the constraint reference's version fields have been updated.
✅ uss2_dss (2024-12-19T16:17:56.546443Z)
Retrieve and validate synchronization of the updated constraint at every DSS provided in dss_instances
.
This test step fragment validates that constraint references can be read
This test step fragment validates that a query to retrieve an existing constraint reference with valid parameters succeeds.
If an existing constraint reference cannot successfully be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,3.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:56.550274Z)
✅ uss2_dss (2024-12-19T16:17:56.567122Z)
This test step fragment validates that a request for a constraint reference returns a properly formatted body.
The response to a successful get constraint reference query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.562011Z)
✅ uss2_dss (2024-12-19T16:17:56.580185Z)
A successful constraint reference creation query is expected to return a body, the content of which reflects a constraint reference that was created earlier. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that read query succeeds and the response is well-formed.
✅ uss2_dss (2024-12-19T16:17:56.563397Z)
✅ uss2_dss (2024-12-19T16:17:56.581477Z)
If the constraint retrieved from a secondary DSS instance is not consistent with the updated one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1b, astm.f3548.v21.DSS0210,A2-7-2,1d, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.551245Z)
✅ uss2_dss (2024-12-19T16:17:56.568126Z)
This test step fragment validates that constraint references are properly synchronized across a set of DSS instances.
If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.550357Z)
✅ uss2_dss (2024-12-19T16:17:56.567183Z)
When querying a secondary DSS for constraints in the planning area that contains the propagated constraint, if the propagated constraint is not contained in the response, then the general area in which the propagated constraint is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fail to properly one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.550423Z)
✅ uss2_dss (2024-12-19T16:17:56.567245Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.550468Z)
✅ uss2_dss (2024-12-19T16:17:56.567287Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.551177Z)
✅ uss2_dss (2024-12-19T16:17:56.568058Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS provides direct access to the updated constraint reference. Confirm that the constraint reference that was just updated is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.551223Z)
✅ uss2_dss (2024-12-19T16:17:56.568105Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.562780Z)
✅ uss2_dss (2024-12-19T16:17:56.580942Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.562850Z)
✅ uss2_dss (2024-12-19T16:17:56.580996Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.562910Z)
✅ uss2_dss (2024-12-19T16:17:56.581038Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.562966Z)
✅ uss2_dss (2024-12-19T16:17:56.581077Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.563022Z)
✅ uss2_dss (2024-12-19T16:17:56.581119Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.563077Z)
✅ uss2_dss (2024-12-19T16:17:56.581157Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.563179Z)
✅ uss2_dss (2024-12-19T16:17:56.581237Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.563120Z)
✅ uss2_dss (2024-12-19T16:17:56.581196Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.563224Z)
✅ uss2_dss (2024-12-19T16:17:56.581276Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.563282Z)
✅ uss2_dss (2024-12-19T16:17:56.581334Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.563376Z)
✅ uss2_dss (2024-12-19T16:17:56.581450Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.563335Z)
✅ uss2_dss (2024-12-19T16:17:56.581394Z)
Search for and validate synchronization of the updated constraint at every DSS provided in dss_instances
.
This test step fragment validates that constraint references can be searched for.
This test step fragment validates that a query to search for constraint references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the CR was created, it is failing to meet astm.f3548.v21.DSS0005,4.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:56.585998Z)
✅ uss2_dss (2024-12-19T16:17:56.603662Z)
This test step fragment validates that constraint references search responses are properly formatted.
The response to a successful constraint reference search query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
Check response format.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.597877Z)
✅ uss2_dss (2024-12-19T16:17:56.615791Z)
If the existing constraint reference is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,4.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.598673Z)
✅ uss2_dss (2024-12-19T16:17:56.616552Z)
A successful constraint reference search query is expected to return a body, the content of which reflects any constraint reference present in the searched area. This includes the previously created constraint reference, which should accurately represent the constraint reference as it was requested. If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that search query succeeds and the response is well-formed.
✅ uss2_dss (2024-12-19T16:17:56.599193Z)
✅ uss2_dss (2024-12-19T16:17:56.617069Z)
If the constraint searched from a secondary DSS instance is not consistent with the updated one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1b, astm.f3548.v21.DSS0210,A2-7-2,1e, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.586994Z)
✅ uss2_dss (2024-12-19T16:17:56.604665Z)
This test step fragment validates that constraint references are properly synchronized across a set of DSS instances.
If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
When querying a secondary DSS for constraints in the planning area that contains the propagated constraint, if the propagated constraint is not contained in the response, then the general area in which the propagated constraint is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fail to properly one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.586061Z)
✅ uss2_dss (2024-12-19T16:17:56.603732Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.586125Z)
✅ uss2_dss (2024-12-19T16:17:56.603796Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.586169Z)
✅ uss2_dss (2024-12-19T16:17:56.603839Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.586924Z)
✅ uss2_dss (2024-12-19T16:17:56.604596Z)
If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, either one of the instances at which the constraint reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS returns the constraint in relevant search results. Confirm that the constraint reference that was just updated is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.586972Z)
✅ uss2_dss (2024-12-19T16:17:56.604644Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.598730Z)
✅ uss2_dss (2024-12-19T16:17:56.616606Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.598773Z)
✅ uss2_dss (2024-12-19T16:17:56.616649Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.598812Z)
✅ uss2_dss (2024-12-19T16:17:56.616689Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.598857Z)
✅ uss2_dss (2024-12-19T16:17:56.616729Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.598898Z)
✅ uss2_dss (2024-12-19T16:17:56.616770Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.598937Z)
✅ uss2_dss (2024-12-19T16:17:56.616808Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.599023Z)
✅ uss2_dss (2024-12-19T16:17:56.616888Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.598980Z)
✅ uss2_dss (2024-12-19T16:17:56.616846Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.599063Z)
✅ uss2_dss (2024-12-19T16:17:56.616933Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.599100Z)
✅ uss2_dss (2024-12-19T16:17:56.616972Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.599174Z)
✅ uss2_dss (2024-12-19T16:17:56.617048Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.599137Z)
✅ uss2_dss (2024-12-19T16:17:56.617010Z)
Attempt to delete the constraint reference in various ways and ensure that the DSS reacts properly.
This also checks that the constraint reference data returned by a successful deletion is correct.
This test step fragment validates that constraint references can be deleted
A query to delete a constraint reference, by its owner and when the correct OVN is provided, should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.624988Z)
This test step fragment validates that a constraint references deletion returns a body in the correct format.
The response to a successful constraint reference deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
✅ uss2_dss (2024-12-19T16:17:56.636291Z)
A successful constraint reference deletion query is expected to return a body, the content of which reflects the constraint reference at the moment of deletion. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Confirm that an constraint reference can be deleted.
✅ uss2_dss (2024-12-19T16:17:56.637509Z)
This test step fragment attempts to validate the content of a single constraint reference returned by the DSS.
The code for these checks lives in the cr_validator.py class.
If the returned constraint reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.637046Z)
If the returned constraint reference has no manager defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.637098Z)
The returned manager must correspond to the identity of the client that created the constraint at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.637137Z)
If the returned constraint reference has no USS base URL defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.637172Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at constraint reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.637209Z)
If the returned constraint reference has no start time defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.637243Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.637342Z)
Constraint references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.637277Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.637385Z)
If the returned constraint reference has no OVN defined, astm.f3548.v21.DSS0005,3 is not respected.
✅ uss2_dss (2024-12-19T16:17:56.637420Z)
If the returned constraint reference has no version defined, astm.f3548.v21.DSS0005,3 is not respected.
Verify that the constraint reference returned by the DSS via the deletion is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single constraint reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the cr_validator.py class.
If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.637488Z)
If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of astm.f3548.v21.DSS0005,3.
Verify that the constraint reference's version fields are as expected.
✅ uss2_dss (2024-12-19T16:17:56.637454Z)
Attempt to query and search for the deleted constraint reference in various ways
This test step fragment validates that constraint references can be read
This test step fragment validates that a query to retrieve an existing constraint reference with valid parameters succeeds.
If an existing constraint reference cannot successfully be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,3.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:17:56.640496Z)
✅ uss2_dss (2024-12-19T16:17:56.646275Z)
This test step fragment validates that a request for a constraint reference returns a properly formatted body.
The response to a successful get constraint reference query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format
∅ This check was not applicable to this test run and is therefore not statused.
A successful constraint reference creation query is expected to return a body, the content of which reflects a constraint reference that was created earlier. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
This check will usually be performing a series of sub-checks from the validate fragments.
Check that read query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
If a DSS returns an constraint reference that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the constraint reference is in violation of astm.f3548.v21.DSS0210,2a, astm.f3548.v21.DSS0210,A2-7-2,3b, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss2_dss, uss1_dss (2024-12-19T16:17:56.640543Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:17:56.646353Z)
This test step fragment validates that a query to search for constraint references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the CR was created, it is failing to meet astm.f3548.v21.DSS0005,4.
Check that search query succeeds.
✅ uss1_dss (2024-12-19T16:17:56.643716Z)
✅ uss2_dss (2024-12-19T16:17:56.649371Z)
If a DSS returns an constraint reference that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the constraint reference is in violation of astm.f3548.v21.DSS0210,2a, astm.f3548.v21.DSS0210,A2-7-2,3a, astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss2_dss, uss1_dss (2024-12-19T16:17:56.643764Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:17:56.649420Z)
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:17:56.655685Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
✅ uss2_dss (2024-12-19T16:17:56.653206Z)
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3. ∅ This check was not applicable to this test run and is therefore not statused.
Verifies that all CRUD operations for USS availabilities on a given DSS instance are properly propagated to every other DSS instance participating in the deployment.
DSSInstanceResource
the DSS instance through which USS availabilities are created, modified and deleted.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that USS availabilities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
ClientIdentityResource
to be used for this scenario: it contains the identifier of the USS
for which availabilities will be updated.
✅ Provided by utm_client_identity in top-level resource pool.
For the setup of this test case, the scenario ensures that the availability for the USS specified in the client_identity
resource
is Unknown
, which is the default expected state when nothing else is known.
This step ensures that the scenario starts from a state where the USS availability is Unknown
.
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:17:56.661127Z)
✅ uss1_dss (2024-12-19T16:17:56.664089Z)
✅ uss2_dss (2024-12-19T16:17:56.667284Z)
A valid request to set the availability of a USS to Unknown
should be accepted by the DSS,
otherwise it is failing to implement the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
Checks that updates to a USS availability on one DSS instance are properly propagated to every other DSS instance in the deployment.
Ensures that this is true for every possible availability state.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:56.674078Z)
✅ uss2_dss (2024-12-19T16:17:56.676485Z)
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:56.682722Z)
✅ uss2_dss (2024-12-19T16:17:56.685080Z)
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:56.691687Z)
✅ uss2_dss (2024-12-19T16:17:56.694009Z)
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
Checks that if queried for a USS it does not know about, any DSS will return an Unknown
availability.
This test step requests the availability for a USS identifier that is not known to any DSS instance, and expects
to receive an Unknown
availability along with an unset version. This should be true for every DSS that is part of the same deployment.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss1_dss (2024-12-19T16:17:56.698926Z)
✅ uss2_dss (2024-12-19T16:17:56.701301Z)
If the primary DSS instance does not return an Unknown
availability for a USS identifier that has not received any updates,
it is in violation of the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:17:56.696497Z)
If the primary DSS instance reports a non-empty version for the availability of an USS identifier that should not be known to the DSS, it is in violation of the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:17:56.696546Z)
If the reported availability for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3a, if the USS identifier is not properly synced; astm.f3548.v21.DSS0210,3b, if the USS availability is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the reported availability version for a USS is not consistent, across a set of DSS instances, with the value that was previously read or set on an arbitrary DSS instance, either the DSS through which the value was set or the one through which the values was retrieved is failing to meet at least one of these requirements:
astm.f3548.v21.DSS0210,3c, if the USS availability version is not properly synced; astm.f3548.v21.DSS0215, if the DSS returns API calls before having committed the changes to the underlying distributed store.
As a consequence, the DSS also fails to meet astm.f3548.v21.DSS0210,A2-7-2,6 and astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:17:56.703962Z)
A valid request to set the availability of a USS to Unknown
should be accepted by the DSS,
otherwise it is failing to implement the OpenAPI spec referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This scenario ensures that a DSS will only let the owner of an operational intent reference modify it.
A resources.flight_planning.FlightIntentsResource
containing the flight intents to be used in this scenario:
This scenario expects to find at least one flight intent in this resource. It will use its extents to create and mutate an operational intent reference, but ignore any specified states, as this scenario will iterate over all allowed states.
✅ Provided by non_conflicting_flights in top-level resource pool.
A resources.astm.f3548.v21.DSSInstanceResource
pointing to the DSS instance to test for this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
A resources.interuss.IDGeneratorResource
that will be used to generate the IDs of the operational intent references created in this scenario.
✅ Provided by id_generator in top-level resource pool.
Makes sure that the DSS is in a clean and expected state before running the test, and that the passed resources work as required.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.711154Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:56.718388Z)
✅ uss2_dss (2024-12-19T16:17:56.721913Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If, after cleanup, one or more operational intent reference are still present at the DSS, this scenario cannot proceed.
This scenario is able to remove any operational intent reference that belongs to the configured credentials, but it cannot remove references that belong to other credentials.
A regular failure of this check indicates that other scenarios might not properly clean up their resources, or that the Prepare Flight Planners scenario should be moved in front of the present one.
If this check fails, the rest of the scenario is entirely skipped.
✅ uss2_dss (2024-12-19T16:17:56.721960Z)
This test case attempts to create an operational intent reference with a state that would require the utm.conformance_monitoring_sa
scope while only using
the utm.strategic_coordination
scope.
This test step attempts to directly create an operational intent reference with a state that is not allowable.
The creation of such an entity is expected to fail for two reasons:
Accepted
utm.conformance_monitoring_sa
, a client is not allowed to request an Off-nominal state.If the DSS allows a client with the utm.strategic_coordination
scope to create an operational intent reference in the Nonconforming
state,
it is in violation of astm.f3548.v21.SCD0100 and astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.727110Z)
If the DSS allows a client with the utm.strategic_coordination
scope to create an operational intent reference in the Contingent
state,
it is in violation of astm.f3548.v21.SCD0100 and astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.729305Z)
This test case attempts to transition an existing operational intent reference to a state that would require the utm.conformance_monitoring_sa
scope while only using
the utm.strategic_coordination
scope.
This step sets up an operational intent reference in the Accepted
state.
If the DSS does not allow a client with the utm.strategic_coordination
scope to create an operational intent reference in the Accepted
state,
it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.745638Z)
This test step attempts to transition an existing operational intent reference to a state it should not be allowed to when using the ``utm.strategic_coordination` scope.
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Accepted
state to the Nonconforming
state,
it is in violation of astm.f3548.v21.SCD0100.
✅ uss2_dss (2024-12-19T16:17:56.747705Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Accepted
state to the Contingent
state,
it is in violation of astm.f3548.v21.SCD0100.
✅ uss2_dss (2024-12-19T16:17:56.749271Z)
This step transitions the operational intent reference to the Activated
state.
If the DSS does not allow a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Accepted
state to the Activated
state,
it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.765560Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Activated
state to the Nonconforming
state,
it is in violation of astm.f3548.v21.SCD0100.
✅ uss2_dss (2024-12-19T16:17:56.767579Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Activated
state to the Contingent
state,
it is in violation of astm.f3548.v21.SCD0100.
✅ uss2_dss (2024-12-19T16:17:56.769122Z)
If the DSS does not allow a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Activated
state to the Ended
state,
it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.785426Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Ended
state to the Nonconforming
state,
it is in violation of astm.f3548.v21.SCD0100 and astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.787519Z)
If the DSS allows a client with the utm.strategic_coordination
scope to transition an operational intent reference from the Ended
state to the Contingent
state,
it is in violation of astm.f3548.v21.SCD0100 and astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.789112Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.793487Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.805501Z)
Create and mutate subscriptions as well as entities, and verify that the DSS handles notifications and expiry correctly.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription IDs for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
provides the identity that will be used to interact with the DSS.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:56.814197Z)
✅ uss2_dss (2024-12-19T16:17:56.816458Z)
✅ uss2_dss (2024-12-19T16:17:56.818697Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:56.811827Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:17:56.821553Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:17:56.823719Z)
✅ uss2_dss (2024-12-19T16:17:56.825869Z)
✅ uss2_dss (2024-12-19T16:17:56.828016Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
This test case verifies that after a subscription is deleted from a DSS instance, it cannot be retrieved from any other DSS instance.
This test step will create a new subscription at every DSS, in sequence.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check that the subscription creation succeeds.
✅ uss2_dss (2024-12-19T16:17:56.836341Z)
✅ uss2_dss (2024-12-19T16:17:56.845236Z)
✅ uss2_dss (2024-12-19T16:17:56.854311Z)
This test step will delete the freshly created subscription at every DSS, in sequence. It then verifies that the subscription has been deleted from all DSS instances.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to remove a subscription succeeds.
An attempt to delete a subscription when the correct version is provided should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Check that the subscription deletion succeeds.
✅ uss2_dss (2024-12-19T16:17:56.862163Z)
✅ uss1_dss (2024-12-19T16:17:56.875407Z)
✅ uss2_dss (2024-12-19T16:17:56.886202Z)
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check that the subscription retrieval from all DSS instance succeeds. It is expected to be not found, but that is validated in the check below.
✅ uss1_dss (2024-12-19T16:17:56.865570Z)
✅ uss2_dss (2024-12-19T16:17:56.868535Z)
✅ uss2_dss (2024-12-19T16:17:56.877709Z)
✅ uss2_dss (2024-12-19T16:17:56.879845Z)
✅ uss2_dss (2024-12-19T16:17:56.888496Z)
✅ uss1_dss (2024-12-19T16:17:56.890677Z)
The subscription deleted on a DSS instance must have been removed from all other DSS instances.
If the subscription still exists on one of the other DSS instances, one of the instances fails to comply with astm.f3548.v21.DSS0210,A2-7-2,5a.
✅ uss2_dss, uss1_dss (2024-12-19T16:17:56.865631Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:17:56.868597Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.877752Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:17:56.879887Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:17:56.888541Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:17:56.890720Z)
This test case verifies that after a subscription is deleted, newly created or modified OIRs will not receive the relevant subscriptions to notify from the DSS instance, regardless of which instance was used to create or modify the entity.
This test step will create an operational intent reference at every DSS, in sequence, each time verifying that the DSS does not require notification for any previously deleted subscription that intersects with the newly created OIR.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
Check that the OIR creation query succeeds.
✅ uss2_dss (2024-12-19T16:17:56.906906Z)
✅ uss1_dss (2024-12-19T16:17:56.922989Z)
✅ uss2_dss (2024-12-19T16:17:56.938924Z)
The response from a DSS to a valid OIR creation request is expected to contain any relevant subscription for the OIR's extents. This does not include subscriptions deleted earlier.
If the DSS includes a deleted subscription, it fails to implement astm.f3548.v21.DSS0210,A2-7-2,5b.
✅ uss2_dss (2024-12-19T16:17:56.906967Z)
✅ uss1_dss (2024-12-19T16:17:56.923050Z)
✅ uss2_dss (2024-12-19T16:17:56.938984Z)
This test step will modify an operational intent reference at every DSS, in sequence, each time verifying that the DSS does not require notification for any previously deleted subscription that intersects with the modified OIR.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
Check that the OIR modification query succeeds.
✅ uss2_dss (2024-12-19T16:17:56.955852Z)
✅ uss1_dss (2024-12-19T16:17:56.973109Z)
✅ uss2_dss (2024-12-19T16:17:56.989946Z)
The response from a DSS to a valid OIR modification request is expected to contain any relevant subscription for the OIR's extents. This does not include subscriptions deleted earlier.
If the DSS includes a deleted subscription, it fails to implement astm.f3548.v21.DSS0210,A2-7-2,5c.
✅ uss2_dss (2024-12-19T16:17:56.955915Z)
✅ uss1_dss (2024-12-19T16:17:56.973173Z)
✅ uss2_dss (2024-12-19T16:17:56.990009Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:57.042823Z)
✅ uss2_dss (2024-12-19T16:17:57.045557Z)
✅ uss2_dss (2024-12-19T16:17:57.047895Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:57.040347Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:57.012236Z)
✅ uss2_dss (2024-12-19T16:17:57.027860Z)
✅ uss2_dss (2024-12-19T16:17:57.040288Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:17:57.050958Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:17:57.053252Z)
✅ uss2_dss (2024-12-19T16:17:57.055512Z)
✅ uss2_dss (2024-12-19T16:17:57.057630Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. ∅ This check was not applicable to this test run and is therefore not statused.
Create and mutate subscriptions as well as entities, and verify that the DSS handles notifications and expiry correctly.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription IDs for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
provides the identity that will be used to interact with the DSS.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:17:57.064689Z)
✅ uss2_dss (2024-12-19T16:17:57.066900Z)
✅ uss2_dss (2024-12-19T16:17:57.069050Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:17:57.062277Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:17:57.071995Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:17:57.074211Z)
✅ uss2_dss (2024-12-19T16:17:57.076406Z)
✅ uss2_dss (2024-12-19T16:17:57.078516Z)
✅ uss2_dss (2024-12-19T16:17:57.080630Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
This step ensures that no subscriptions and OIRs with the known test IDs exists in the DSS deployment.
∅ This check was not applicable to this test run and is therefore not statused.
This test case verifies that newly created or modified OIRs will receive the relevant subscriptions to notify from the DSS instance, regardless of which instance was used to create the entity.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Sets up the subscription that cover the planning area from 'now' to 20 minutes in the future, and which will be used as part of the interaction tests.
✅ uss2_dss (2024-12-19T16:17:57.089067Z)
This test step will create an operational intent reference and assorted subscription at every DSS, in sequence, each time verifying that the DSS requires notifications for any previously established subscription that intersects with the newly created OIR.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
Check that the OIR creation query succeeds
✅ uss2_dss (2024-12-19T16:17:57.105655Z)
✅ uss1_dss (2024-12-19T16:17:57.124407Z)
✅ uss2_dss (2024-12-19T16:17:57.145420Z)
The response from a DSS to a valid OIR creation request is expected to contain any relevant subscription for the OIR's extents. This includes the subscription created earlier, as it is designed to intersect with the OIRs being created.
If the DSS omits the intersecting subscription, it fails to implement astm.f3548.v21.DSS0210,A2-7-2,4b.
✅ uss2_dss (2024-12-19T16:17:57.105723Z)
✅ uss1_dss (2024-12-19T16:17:57.124476Z)
✅ uss2_dss (2024-12-19T16:17:57.145488Z)
The response from a DSS to a valid OIR creation request is expected to contain any relevant subscription for the OIR's extents. This includes any implicit subscription previously created on the DSS as part of a previously created OIR.
If the DSS omits any of the implicit subscriptions belonging to an OIR previously created on another DSS (which are designed to all intersect), any of the DSSes at which an earlier OIR was created, or the DSS at which the current OIR has been created, are in violation of astm.f3548.v21.DSS0210,A2-7-2,4b.
✅ uss2_dss, uss1_dss, uss2_dss (2024-12-19T16:17:57.105760Z)
✅ uss2_dss, uss1_dss, uss2_dss (2024-12-19T16:17:57.124515Z)
✅ uss2_dss, uss1_dss, uss2_dss (2024-12-19T16:17:57.145528Z)
This test step will modify the previously created operational intent reference and assorted subscription at every DSS, in sequence, each time verifying that the DSS requires notifications for any previously established subscription that intersects with the modified OIR.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
Check that the OIR modification query succeeds
✅ uss2_dss (2024-12-19T16:17:57.162714Z)
✅ uss1_dss (2024-12-19T16:17:57.180918Z)
✅ uss2_dss (2024-12-19T16:17:57.199453Z)
The response from a DSS to a valid OIR modification request is expected to contain any relevant subscription for the OIR's extents. This includes the subscription created earlier, as it is designed to intersect with the OIRs being modified.
If the DSS omits the intersecting subscription, it fails to implement astm.f3548.v21.DSS0210,A2-7-2,4c.
✅ uss2_dss (2024-12-19T16:17:57.162782Z)
✅ uss1_dss (2024-12-19T16:17:57.180983Z)
✅ uss2_dss (2024-12-19T16:17:57.199525Z)
The response from a DSS to a valid OIR modification request is expected to contain any relevant subscription for the OIR's extents. This includes any implicit subscription previously created on the DSS as part of a previously created OIR.
If the DSS omits any of the implicit subscriptions belonging to an OIR previously created over time range A on another DSS (which are designed to all intersect), any of the DSSes at which an earlier OIR was created, or the DSS at which the current OIR has been modified, are in violation of astm.f3548.v21.DSS0210,A2-7-2,4c.
✅ uss2_dss, uss1_dss, uss2_dss (2024-12-19T16:17:57.162824Z)
✅ uss2_dss, uss1_dss, uss2_dss (2024-12-19T16:17:57.181026Z)
✅ uss2_dss, uss1_dss, uss2_dss (2024-12-19T16:17:57.199568Z)
This test case checks that, when a newly created subscription intersects with an existing OIR and that the subscription is intended for operational intent references, the DSS includes the relevant OIRs in the response to the creation.
This test step will create a new subscription at every DSS, in sequence, each time verifying that the DSS returns any OIRs that intersect with the newly created subscription.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check that the subscription creation succeeds.
✅ uss2_dss (2024-12-19T16:17:57.210305Z)
The response from a DSS to a valid subscription creation request is expected to contain any relevant OIRs for the subscription's extents if the subscription had the notify_for_op_intents
flag set to true
.
If the DSS omits the intersecting OIR, it fails to comply with astm.f3548.v21.DSS0210,A2-7-2,4a.
✅ uss2_dss (2024-12-19T16:17:57.210382Z)
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:17:57.214908Z)
✅ uss2_dss (2024-12-19T16:17:57.219056Z)
The subscription created on a DSS instance must be retrievable from all other DSS instances.
If the subscription does not exist on one of the other DSS instances, one of the instances fails to comply with astm.f3548.v21.DSS0210,A2-7-2,4a.
✅ uss2_dss, uss1_dss (2024-12-19T16:17:57.214960Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:17:57.219129Z)
This test case validates that expired subscriptions (created explicitly) are removed from all DSS instances. To validate this requirement, the subscriptions that were previously created at each DSS instance are modified so that they expire shortly after the modification. Then it is checked that all the associated subscriptions were removed from all the DSS instances by searching for them in their planning area. Do note that they are not queried directly, as it is deemed acceptable for expired subscription that were not explicitly deleted to still be retrievable.
This test step will modify explicit subscriptions that were previously created at each DSS instance so that they expire shortly after the modification.
Note that this step is run once for each involved DSS (that is, once for the primary DSS and once for every secondary DSS)
This test step fragment validates that a query to update a subscription succeeds.
If a subscription cannot be updated with a valid set of parameters, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check that the subscription modifications succeed and wait for them to expire.
✅ uss2_dss (2024-12-19T16:17:57.272228Z)
✅ uss1_dss (2024-12-19T16:17:57.280338Z)
✅ uss2_dss (2024-12-19T16:17:57.289766Z)
This test step fragment validates that a query to search for subscriptions succeeds.
If the DSS fails to let us search in the area for which the subscription was created, it is failing to meet astm.f3548.v21.DSS0005,5.
Check that query succeeds.
✅ uss2_dss (2024-12-19T16:18:04.299345Z)
✅ uss2_dss (2024-12-19T16:18:04.313352Z)
✅ uss1_dss (2024-12-19T16:18:04.326494Z)
✅ uss1_dss (2024-12-19T16:18:04.339486Z)
✅ uss2_dss (2024-12-19T16:18:04.352492Z)
✅ uss2_dss (2024-12-19T16:18:04.365434Z)
The explicit subscription expired on a DSS instance must have been removed from all other DSS instances.
If the subscription still exists on one of the other DSS instances, one of the instances fails to comply with astm.f3548.v21.DSS0210,A2-7-2,4d.
✅ uss2_dss, uss1_dss (2024-12-19T16:18:04.304286Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:18:04.318089Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.331095Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.344070Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:18:04.357077Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:18:04.370075Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.418651Z)
✅ uss2_dss (2024-12-19T16:18:04.421289Z)
✅ uss2_dss (2024-12-19T16:18:04.423547Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:18:04.416061Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.389137Z)
✅ uss2_dss (2024-12-19T16:18:04.402841Z)
✅ uss2_dss (2024-12-19T16:18:04.416020Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:18:04.427040Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:04.431830Z)
✅ uss2_dss (2024-12-19T16:18:04.441375Z)
✅ uss2_dss (2024-12-19T16:18:04.444693Z)
✅ uss2_dss (2024-12-19T16:18:04.455650Z)
✅ uss2_dss (2024-12-19T16:18:04.466265Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
✅ uss2_dss (2024-12-19T16:18:04.439002Z)
✅ uss2_dss (2024-12-19T16:18:04.451920Z)
✅ uss2_dss (2024-12-19T16:18:04.462951Z)
✅ uss2_dss (2024-12-19T16:18:04.474382Z)
Verifies that a DSS requires from a client creating or updating operational intent references that they provide all OVNs for all currently relevant entities.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the base entity ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
ClientIdentityResource
the client identity that will be used to create and update operational intent references.
✅ Provided by utm_client_identity in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which operational intent references will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.483499Z)
✅ uss2_dss (2024-12-19T16:18:04.485777Z)
✅ uss2_dss (2024-12-19T16:18:04.488062Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:18:04.480835Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
This step ensures that no operational intent references with the known test IDs exists in the DSS.
∅ This check was not applicable to this test run and is therefore not statused.
This test case will create multiple operational intent references and verify that the key
field
of the parameters to create or update an operational intent reference is properly validated.
That is: the DSS should require that the client provides the OVNs for each entity that is in the vicinity, both geographically and temporally, of the client's operational intent reference.
This step creates one operational intent references. As no other operational intent reference is present,
the key
field may remain empty.
With no potentially conflicting entity present, the DSS is expected to allow the creation of an operational intent without
the client specifying any OVN in the key
field.
If the DSS rejects a well-formed request to create the operational intent reference, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.503378Z)
This step creates a second operational intent references that does not overlap in time with the first, and
should therefore not require any entry in the key
field.
With a single existing OIR in the area that is not overlapping in time, the DSS is expected to allow the creation of an operational intent without
the client specifying any OVN in the key
field.
If the DSS rejects a well-formed request to create the operational intent reference, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.517550Z)
This test step will attempt to create an operational intent reference that intersects with the first of the previously created OIR,
and expect the DSS to require its OVN to be provided in the key
field.
This step will validate the response body for the HTTP 409
error response from the DSS when it contains the optional missing_operational_intents
field.
This test step fragment validates that requests for operational intent reference creation that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the creation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2a
✅ uss2_dss (2024-12-19T16:18:04.527883Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss2_dss (2024-12-19T16:18:04.542551Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
Checks that an attempt to create an OIR without specifying the OVN of the already existing and overlapping OIR fails.
✅ uss2_dss (2024-12-19T16:18:04.543830Z)
This test step will attempt to create an operational intent reference that intersects with the second of the previously created OIR,
and expect the DSS to require its OVN to be provided in the key
field.
This step will validate the response body for the HTTP 409
error response from the DSS when it contains the optional missing_operational_intents
field.
This test step fragment validates that requests for operational intent reference creation that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the creation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2a
✅ uss2_dss (2024-12-19T16:18:04.555963Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss2_dss (2024-12-19T16:18:04.572751Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
Checks that an attempt to create an OIR without specifying the OVN of the already existing and overlapping OIR fails.
✅ uss2_dss (2024-12-19T16:18:04.574136Z)
This test step will attempt to create an operational intent reference that intersects with both of the previously created OIRs,
and expect the DSS to require their OVNs to be provided in the key
field.
This step will validate the response body for the HTTP 409
error response from the DSS when it contains the optional missing_operational_intents
field.
This test step fragment validates that requests for operational intent reference creation that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the creation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2a
✅ uss2_dss (2024-12-19T16:18:04.589701Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss2_dss (2024-12-19T16:18:04.609797Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
Checks that an attempt to create an OIR without specifying the OVNs of the already existing and overlapping OIRs fails.
✅ uss2_dss (2024-12-19T16:18:04.611538Z)
This test step will attempt to create an operational intent reference that intersects with both of the previously created OIRs,
while providing the required OVNs in the key
field.
After this test step succeeds, three OIRs are expected to exist in the DSS, with one intersecting with the two others.
If the DSS prevents the creation of an operational intent reference that is providing all required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.630844Z)
This test case will update multiple operational intent references and verify that the key
field
of the parameters to create or update an operational intent reference is properly validated.
That is: the DSS should require that the client provides the OVNs for each entity that is in the vicinity, both geographically and temporally, of the client's operational intent reference.
This test step will attempt to mutate the third previously created operational intent reference so that it keeps overlapping with the others,
while omitting their OVNs in the key
field.
The expectation is that the DSS will require the two missing OVNs.
This test step fragment validates that requests for operational intent references updates that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the mutation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2b
✅ uss2_dss (2024-12-19T16:18:04.646785Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss2_dss (2024-12-19T16:18:04.661254Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.662752Z)
This test step will attempt to mutate the third previously created operational intent reference so that it keeps overlapping with the others,
while omitting the first OVN in the key
field.
The expectation is that the DSS will require the missing OVN.
This test step fragment validates that requests for operational intent references updates that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the mutation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2b
✅ uss2_dss (2024-12-19T16:18:04.673615Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss2_dss (2024-12-19T16:18:04.684615Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.685530Z)
This test step will attempt to mutate the third previously created operational intent reference so that it overlaps with the first one,
while omitting the first OVN in the key
field.
The expectation is that the DSS will require the missing OVN.
This test step fragment validates that requests for operational intent references updates that don't show that they have been de-conflicted are rejected with the proper error.
If the DSS allows the mutation of an operational intent reference that is missing the required OVNs for other entities that exist in its geo-temporal vicinity, it is in violation of astm.f3548.v21.DSS0005,1 and astm.f3548.v21.DSS0210,A2-7-2,2b
✅ uss2_dss (2024-12-19T16:18:04.697242Z)
The DSS is expected to return a HTTP 409
error response when the creation of an operational intent reference fails due to a conflict.
This response is expected to conform to the OpenAPI spec that is part of astm.f3548.v21.DSS0005,1.
Should this not be the case, then the DSS is in violation of the aforementioned requirement.
✅ uss2_dss (2024-12-19T16:18:04.708545Z)
If the DSS returns a HTTP 409
error response due to a conflict, and the response body contains a missing_operational_intents
field,
this field is expected to contain the conflicting OVNs.
If the field exists but does not contain the conflicting OVNs, then the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.709458Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.763476Z)
✅ uss2_dss (2024-12-19T16:18:04.767065Z)
✅ uss2_dss (2024-12-19T16:18:04.769901Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:18:04.760470Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.729957Z)
✅ uss2_dss (2024-12-19T16:18:04.744528Z)
✅ uss2_dss (2024-12-19T16:18:04.760428Z)
Verifies that all CRUD operations on operational intent references performed on a given DSS instance are properly propagated to every other DSS instance participating in the deployment.
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the operational intent reference ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which operational intent reference will be created.
✅ Provided by planning_area in top-level resource pool.
ClientIdentityResource
to be used for this scenario.
✅ Provided by utm_client_identity in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.791804Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:18:04.788694Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
This test case creates an operational intent reference on the main DSS, and verifies that it is properly synchronized to the other DSS instances.
It then goes on to mutate and delete it, each time confirming that all other DSSes return the expected results.
This test step fragment validates that:
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid.
Check query succeeds
✅ uss2_dss (2024-12-19T16:18:04.807274Z)
This test step fragment validates that an operational intent references creation returns a body in the correct format.
The response to a successful operational intent reference creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format
✅ uss2_dss (2024-12-19T16:18:04.820608Z)
A successful operational intent reference creation query is expected to return a body, the content of which reflects the created operational intent reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
Verify that an operational intent reference can be created on the primary DSS.
✅ uss2_dss (2024-12-19T16:18:04.821914Z)
This test step fragment attempts to validate the content of a single operational intent reference returned by the DSS.
Fields that require different handling based on if the operational intent reference was mutated or not are covered
The code for these checks lives in the oir_validator.py class.
If the returned operational intent reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.821592Z)
If the returned operational intent reference has no manager defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.821641Z)
The returned manager must correspond to the identity of the client that created the operational intent at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.821680Z)
The returned state must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned operational intent reference has no USS base URL defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.821716Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at operational intent reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.821753Z)
If the returned operational intent reference has no start time defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.821786Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.821857Z)
Operational intent references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.821820Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.821892Z)
If the returned operational intent reference has no version defined, astm.f3548.v21.DSS0005,1 is not respected.
Verify that the operational intent reference returned by the DSS under test is properly formatted and contains the expected content.
∅ This check was not applicable to this test run and is therefore not statused.
Retrieve and validate synchronization of the created operational intent at every DSS provided in dss_instances
.
This test step fragment validates that a query to retrieve an operational intent reference with valid parameters succeeds.
If an operational intent reference cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,1.
Check that read query succeeds.
✅ uss1_dss (2024-12-19T16:18:04.827132Z)
✅ uss2_dss (2024-12-19T16:18:04.832426Z)
If the operational intent retrieved from a secondary DSS instance is not consistent with the newly created one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1a, astm.f3548.v21.DSS0210,A2-7-2,1d, , astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.828094Z)
✅ uss2_dss (2024-12-19T16:18:04.833401Z)
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances.
If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.827191Z)
✅ uss2_dss (2024-12-19T16:18:04.832484Z)
When querying a secondary DSS for operational intents in the planning area that contains the propagated operational intent, if the propagated operational intent is not contained in the response, then the general area in which the propagated operational intent is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fails to properly implement one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.827239Z)
✅ uss2_dss (2024-12-19T16:18:04.832532Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.827276Z)
✅ uss2_dss (2024-12-19T16:18:04.832568Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.827309Z)
✅ uss2_dss (2024-12-19T16:18:04.832601Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.828033Z)
✅ uss2_dss (2024-12-19T16:18:04.833309Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS provides direct access to the created operational intent reference. Confirm that the operational intent reference that was just created is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.828072Z)
✅ uss2_dss (2024-12-19T16:18:04.833373Z)
Search for and validate synchronization of the created operational intent at every DSS provided in dss_instances
.
This test step fragment validates that a query to search for operational intent references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the OIR was created, it is failing to meet astm.f3548.v21.DSS0005,1.
Check that search query succeeds.
✅ uss1_dss (2024-12-19T16:18:04.838090Z)
✅ uss2_dss (2024-12-19T16:18:04.843667Z)
If the operational intent searched from a secondary DSS instance is not consistent with the newly created one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1a, astm.f3548.v21.DSS0210,A2-7-2,1c, , astm.f3548.v21.DSS0215 and astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.839055Z)
✅ uss2_dss (2024-12-19T16:18:04.844631Z)
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances.
If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
When querying a secondary DSS for operational intents in the planning area that contains the propagated operational intent, if the propagated operational intent is not contained in the response, then the general area in which the propagated operational intent is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fails to properly implement one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.838143Z)
✅ uss2_dss (2024-12-19T16:18:04.843724Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.838189Z)
✅ uss2_dss (2024-12-19T16:18:04.843772Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.838225Z)
✅ uss2_dss (2024-12-19T16:18:04.843807Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.838257Z)
✅ uss2_dss (2024-12-19T16:18:04.843840Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.838995Z)
✅ uss2_dss (2024-12-19T16:18:04.844571Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS returns the operational intent in relevant search results. Confirm that the operational intent reference that was just created is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.839034Z)
✅ uss2_dss (2024-12-19T16:18:04.844610Z)
This test step mutates the previously created operational intent reference to verify that the DSS reacts properly: notably, it checks that the operational intent reference version is updated, including for changes that are not directly visible, such as changing the operational intent reference's footprint.
This test step fragment validates that operational intent references can be updated.
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference.
Check query succeeds.
✅ uss2_dss (2024-12-19T16:18:04.863051Z)
This test step fragment validates that updates to operational intent references return a body in the correct format.
The response to a successful operational intent reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format
✅ uss2_dss (2024-12-19T16:18:04.876010Z)
A successful operational intent reference mutation query is expected to return a well-defined body, the content of which reflects the updated operational intent reference. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
Confirm that the operational intent reference can be mutated.
✅ uss2_dss (2024-12-19T16:18:04.877524Z)
This test step fragment attempts to validate the content of a single operational intent reference returned by the DSS.
Fields that require different handling based on if the operational intent reference was mutated or not are covered
The code for these checks lives in the oir_validator.py class.
If the returned operational intent reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.877040Z)
If the returned operational intent reference has no manager defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.877090Z)
The returned manager must correspond to the identity of the client that created the operational intent at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.877128Z)
The returned state must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned operational intent reference has no USS base URL defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.877165Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at operational intent reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.877201Z)
If the returned operational intent reference has no start time defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.877235Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.877306Z)
Operational intent references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.877268Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.877422Z)
If the returned operational intent reference has no version defined, astm.f3548.v21.DSS0005,1 is not respected.
Verify that the operational intent reference returned by the DSS is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single operational intent reference returned by the DSS, usually after it has been mutated.
The code for these checks lives in the oir_validator.py class.
Following a mutation, the DSS needs to update the operational intent reference version, otherwise it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.877501Z)
Following a mutation, the DSS needs to update the operational intent reference OVN, otherwise it is in violation of astm.f3548.v21.DSS0005,1.
Verify that the operational intent reference's version fields have been updated.
✅ uss2_dss (2024-12-19T16:18:04.877464Z)
Retrieve and validate synchronization of the updated operational intent at every DSS provided in dss_instances
.
This test step fragment validates that a query to retrieve an operational intent reference with valid parameters succeeds.
If an operational intent reference cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,1.
Check that read query succeeds.
✅ uss1_dss (2024-12-19T16:18:04.881978Z)
✅ uss2_dss (2024-12-19T16:18:04.886763Z)
If the operational intent retrieved from a secondary DSS instance is not consistent with the updated one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1b and astm.f3548.v21.DSS0210,A2-7-2,1d.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.882931Z)
✅ uss2_dss (2024-12-19T16:18:04.887730Z)
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances.
If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.882034Z)
✅ uss2_dss (2024-12-19T16:18:04.886821Z)
When querying a secondary DSS for operational intents in the planning area that contains the propagated operational intent, if the propagated operational intent is not contained in the response, then the general area in which the propagated operational intent is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fails to properly implement one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.882081Z)
✅ uss2_dss (2024-12-19T16:18:04.886868Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.882117Z)
✅ uss2_dss (2024-12-19T16:18:04.886903Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.882148Z)
✅ uss2_dss (2024-12-19T16:18:04.886946Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.882871Z)
✅ uss2_dss (2024-12-19T16:18:04.887664Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS provides direct access to the updated operational intent reference. Confirm that the operational intent reference that was just updated is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.882910Z)
✅ uss2_dss (2024-12-19T16:18:04.887703Z)
Search for and validate synchronization of the updated operational intent at every DSS provided in dss_instances
.
This test step fragment validates that a query to search for operational intent references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the OIR was created, it is failing to meet astm.f3548.v21.DSS0005,1.
Check that search query succeeds.
✅ uss1_dss (2024-12-19T16:18:04.892734Z)
✅ uss2_dss (2024-12-19T16:18:04.900099Z)
If the operational intent searched from a secondary DSS instance is not consistent with the updated one on the primary DSS instance, this check will fail per astm.f3548.v21.DSS0210,A2-7-2,1b and astm.f3548.v21.DSS0210,A2-7-2,1c.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.894311Z)
✅ uss2_dss (2024-12-19T16:18:04.901699Z)
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances.
If the previously created or mutated operational intent reference cannot be found at a DSS, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
∅ This check was not applicable to this test run and is therefore not statused.
When querying a secondary DSS for operational intents in the planning area that contains the propagated operational intent, if the propagated operational intent is not contained in the response, then the general area in which the propagated operational intent is located is not synchronized across DSS instances. As such, either the primary or the secondary DSS fails to properly implement one of the following requirements:
astm.f3548.v21.DSS0210,2e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.892825Z)
✅ uss2_dss (2024-12-19T16:18:04.900185Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct manager, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2b, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.892918Z)
✅ uss2_dss (2024-12-19T16:18:04.900262Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct USS base URL, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.892996Z)
✅ uss2_dss (2024-12-19T16:18:04.900341Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct state, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.893066Z)
✅ uss2_dss (2024-12-19T16:18:04.900400Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct start time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.894212Z)
✅ uss2_dss (2024-12-19T16:18:04.901588Z)
If the operational intent reference returned by a DSS to which the operational intent reference was synchronized to does not contain the correct end time, either one of the instances at which the operational intent reference was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,2f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that each DSS returns the operational intent in relevant search results. Confirm that the operational intent reference that was just updated is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:04.894264Z)
✅ uss2_dss (2024-12-19T16:18:04.901661Z)
Attempt to delete the operational intent reference in various ways and ensure that the DSS reacts properly.
This also checks that the operational intent reference data returned by a successful deletion is correct.
This test step fragment validates that operational intent references can be deleted
A query to delete an operational intent reference, by its owner and when the correct OVN is provided, should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.917046Z)
The response to a successful operational intent reference deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.930646Z)
A successful operational intent reference deletion query is expected to return a body, the content of which reflects the operational intent reference at the moment of deletion. If the content of the response does not correspond to what was requested, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
This check will usually be performing a series of sub-checks from the validate fragments.
Confirm that an operational intent reference can be deleted.
✅ uss2_dss (2024-12-19T16:18:04.932068Z)
This test step fragment attempts to validate the content of a single operational intent reference returned by the DSS.
Fields that require different handling based on if the operational intent reference was mutated or not are covered
The code for these checks lives in the oir_validator.py class.
If the returned operational intent reference ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.931672Z)
If the returned operational intent reference has no manager defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.931723Z)
The returned manager must correspond to the identity of the client that created the operational intent at the DSS, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.931760Z)
The returned state must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned operational intent reference has no USS base URL defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.931796Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at operational intent reference creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.931834Z)
If the returned operational intent reference has no start time defined, astm.f3548.v21.DSS0005,1 is not respected.
✅ uss2_dss (2024-12-19T16:18:04.931868Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.931940Z)
Operational intent references need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.931902Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.931976Z)
If the returned operational intent reference has no version defined, astm.f3548.v21.DSS0005,1 is not respected.
Verify that the operational intent reference returned by the DSS via the deletion is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single operational intent reference returned by the DSS, usually after it has been created or to confirm it has not been mutated by an action.
The code for these checks lives in the oir_validator.py class.
If the version of the operational intent reference is updated without there having been any mutation of the operational intent reference, the DSS is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.932046Z)
If the OVN of the operational intent reference is updated without there having been any mutation of the operational intent reference, the DSS is in violation of astm.f3548.v21.DSS0005,1.
Verify that the operational intent reference's version fields are as expected.
✅ uss2_dss (2024-12-19T16:18:04.932012Z)
Attempt to query and search for the deleted operational intent reference in various ways
This test step fragment validates that a query to retrieve an operational intent reference with valid parameters succeeds.
If an operational intent reference cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,1.
Check that read query succeeds.
✅ uss1_dss (2024-12-19T16:18:04.935210Z)
✅ uss2_dss (2024-12-19T16:18:04.941187Z)
If a DSS returns an operational intent reference that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the operational intent reference is in violation of astm.f3548.v21.DSS0210,2a and astm.f3548.v21.DSS0210,A2-7-2,3b.
✅ uss2_dss, uss1_dss (2024-12-19T16:18:04.935258Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:18:04.941233Z)
This test step fragment validates that a query to search for operational intent references with valid parameters succeeds.
If the DSS fails to let us search in the area for which the OIR was created, it is failing to meet astm.f3548.v21.DSS0005,1.
Check that search query succeeds.
✅ uss1_dss (2024-12-19T16:18:04.938675Z)
✅ uss2_dss (2024-12-19T16:18:04.944495Z)
If a DSS returns an operational intent reference that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the operational intent reference is in violation of astm.f3548.v21.DSS0210,2a and astm.f3548.v21.DSS0210,A2-7-2,3a.
✅ uss2_dss, uss1_dss (2024-12-19T16:18:04.938722Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:18:04.944546Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.951154Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:18:04.948704Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1. ∅ This check was not applicable to this test run and is therefore not statused.
Ensures that a DSS properly authenticates requests to all its endpoints.
Note that this does not cover authorization.
DSSInstanceResource
to be tested in this scenario.
Note that to benefit from the maximum coverage, the DSS' AuthAdapterResource must be able to obtain credentials for multiple scopes (so that a wrong scope may be used in place of the correct one) as well as an empty scope (that is, provide credentials where the scope is an empty string).
This scenario will check for the scope's availability and transparently ignore checks that can't be conducted.
At least one of the following scopes needs to be available for this scenario to at least partially run:
utm.strategic_coordination
utm.availability_arbitration
utm.constraint_management
In order to verify each endpoint group, all scopes above must be available.
Optional scopes that will allow the scenario to provide additional coverage:
""
(empty string)✅ Provided by instance 2 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which entities will be created.
✅ Provided by planning_area in top-level resource pool.
To perform this scenario, the area must be clear of test entities with the IDs we intend to use.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:04.955305Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:18:04.971928Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:04.957771Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:18:04.960701Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
This step ensures that the availability for the test identifier is set to Unknown
.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:18:04.964114Z)
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
∅ This check was not applicable to this test run and is therefore not statused.
This test case ensures that the DSS properly authenticates requests to all its endpoints.
If the DSS under test does not return a proper error message body when an unauthorized request is received, it fails to properly implement the OpenAPI specification that is part of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:04.987822Z)
✅ uss2_dss (2024-12-19T16:18:04.996543Z)
✅ uss2_dss (2024-12-19T16:18:05.012553Z)
✅ uss2_dss (2024-12-19T16:18:05.021090Z)
✅ uss2_dss (2024-12-19T16:18:05.034589Z)
✅ uss2_dss (2024-12-19T16:18:05.043075Z)
✅ uss2_dss (2024-12-19T16:18:05.057909Z)
✅ uss2_dss (2024-12-19T16:18:05.066677Z)
✅ uss2_dss (2024-12-19T16:18:05.087719Z)
✅ uss2_dss (2024-12-19T16:18:05.097862Z)
✅ uss2_dss (2024-12-19T16:18:05.107999Z)
✅ uss2_dss (2024-12-19T16:18:05.118383Z)
✅ uss2_dss (2024-12-19T16:18:05.139727Z)
✅ uss2_dss (2024-12-19T16:18:05.156451Z)
✅ uss2_dss (2024-12-19T16:18:05.172092Z)
✅ uss2_dss (2024-12-19T16:18:05.187825Z)
✅ uss2_dss (2024-12-19T16:18:05.210715Z)
✅ uss2_dss (2024-12-19T16:18:05.226372Z)
✅ uss2_dss (2024-12-19T16:18:05.242289Z)
✅ uss2_dss (2024-12-19T16:18:05.257347Z)
✅ uss2_dss (2024-12-19T16:18:05.281002Z)
✅ uss2_dss (2024-12-19T16:18:05.295442Z)
✅ uss2_dss (2024-12-19T16:18:05.306796Z)
✅ uss2_dss (2024-12-19T16:18:05.319828Z)
If the DSS under test allows the creation of a subscription without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:04.987890Z)
If the DSS under test allows the creation of a subscription with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.012617Z)
If the DSS under test allows the creation of a subscription with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.034648Z)
If the DSS under test allows the creation of a subscription with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.057974Z)
If the DSS does not allow the creation of a subscription when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:05.075123Z)
If the DSS under test allows the fetching of a subscription without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.077432Z)
If the DSS under test allows the fetching of a subscription with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.089522Z)
If the DSS under test allows the fetching of a subscription with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.099444Z)
If the DSS under test allows the fetching of a subscription with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.109865Z)
If the DSS does not allow fetching a subscription when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:05.123380Z)
If the DSS under test allows the mutation of a subscription without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.130699Z)
If the DSS under test allows the mutation of a subscription with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.146969Z)
If the DSS under test allows the mutation of a subscription with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.163178Z)
If the DSS under test allows the mutation of a subscription with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.179112Z)
If the DSS does not allow the mutation of a subscription when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:05.195480Z)
If the DSS under test allows the deletion of a subscription without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.201734Z)
If the DSS under test allows the deletion of a subscription with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.217492Z)
If the DSS under test allows the deletion of a subscription with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.232446Z)
If the DSS under test allows the deletion of a subscription with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.248499Z)
If the DSS does not allow the deletion of a subscription when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:05.265114Z)
✅ uss2_dss (2024-12-19T16:18:05.268444Z)
If the DSS under test allows searching for subscriptions without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.270420Z)
If the DSS under test allows searching for subscriptions with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.283259Z)
If the DSS under test allows searching for subscriptions with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.297850Z)
If the DSS under test allows searching for subscriptions with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.309496Z)
If the DSS does not allow searching for subscriptions when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:05.324450Z)
If the DSS under test does not return a proper error message body when an unauthorized request is received, it fails to properly implement the OpenAPI specification that is part of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:05.339879Z)
✅ uss2_dss (2024-12-19T16:18:05.353331Z)
✅ uss2_dss (2024-12-19T16:18:05.366483Z)
✅ uss2_dss (2024-12-19T16:18:05.380532Z)
✅ uss2_dss (2024-12-19T16:18:05.405369Z)
✅ uss2_dss (2024-12-19T16:18:05.415384Z)
✅ uss2_dss (2024-12-19T16:18:05.425238Z)
✅ uss2_dss (2024-12-19T16:18:05.435727Z)
✅ uss2_dss (2024-12-19T16:18:05.456287Z)
✅ uss2_dss (2024-12-19T16:18:05.473158Z)
✅ uss2_dss (2024-12-19T16:18:05.489256Z)
✅ uss2_dss (2024-12-19T16:18:05.510618Z)
✅ uss2_dss (2024-12-19T16:18:05.535262Z)
✅ uss2_dss (2024-12-19T16:18:05.546211Z)
✅ uss2_dss (2024-12-19T16:18:05.557993Z)
✅ uss2_dss (2024-12-19T16:18:05.572419Z)
✅ uss2_dss (2024-12-19T16:18:05.598559Z)
✅ uss2_dss (2024-12-19T16:18:05.611693Z)
✅ uss2_dss (2024-12-19T16:18:05.623132Z)
✅ uss2_dss (2024-12-19T16:18:05.634181Z)
If the DSS under test allows the creation of an operational intent without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.330857Z)
If the DSS under test allows the creation of an operational intent with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.344545Z)
If the DSS under test allows the creation of an operational intent with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.357762Z)
If the DSS under test allows the creation of an operational intent with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.371447Z)
If the DSS does not allow the creation of an operational intent when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:05.391687Z)
This test step fragment validates that an operational intent references creation returns a body in the correct format.
The response to a successful operational intent reference creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format of a creation request.
✅ uss2_dss (2024-12-19T16:18:05.392548Z)
If the DSS under test allows the fetching of an operational intent without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.394022Z)
If the DSS under test allows the fetching of an operational intent with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.407117Z)
If the DSS under test allows the fetching of an operational intent with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.416870Z)
If the DSS under test allows the fetching of an operational intent with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.427052Z)
If the DSS does not allow fetching an operational intent when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:05.439737Z)
If the DSS under test allows the mutation of an operational intent without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.445560Z)
If the DSS under test allows the mutation of an operational intent with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.463689Z)
If the DSS under test allows the mutation of an operational intent with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.479534Z)
If the DSS under test allows the mutation of an operational intent with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.496171Z)
If the DSS does not allow the mutation of an operational intent when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:05.523530Z)
This test step fragment validates that updates to operational intent references return a body in the correct format.
The response to a successful operational intent reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,1.
Check response format of a mutation.
✅ uss2_dss (2024-12-19T16:18:05.524396Z)
If the DSS under test allows the deletion of an operational intent without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.526053Z)
If the DSS under test allows the deletion of an operational intent with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.537275Z)
If the DSS under test allows the deletion of an operational intent with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.548034Z)
If the DSS under test allows the deletion of an operational intent with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.560473Z)
If the DSS does not allow the deletion of an operational intent when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:05.581888Z)
If the DSS under test allows searching for operational intents without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.585169Z)
If the DSS under test allows searching for operational intents with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.601045Z)
If the DSS under test allows searching for operational intents with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.613710Z)
If the DSS under test allows searching for operational intents with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.625750Z)
If the DSS does not allow searching for operational intents when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:05.638244Z)
If the DSS under test does not return a proper error message body when an unauthorized request is received, it fails to properly implement the OpenAPI specification that is part of astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:18:05.649887Z)
✅ uss2_dss (2024-12-19T16:18:05.663115Z)
✅ uss2_dss (2024-12-19T16:18:05.674595Z)
✅ uss2_dss (2024-12-19T16:18:05.684650Z)
✅ uss2_dss (2024-12-19T16:18:05.706597Z)
✅ uss2_dss (2024-12-19T16:18:05.720993Z)
✅ uss2_dss (2024-12-19T16:18:05.734385Z)
✅ uss2_dss (2024-12-19T16:18:05.748344Z)
If the DSS under test allows the fetching of a USS's availability without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.641032Z)
If the DSS under test allows the fetching of a USS's availability with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.652913Z)
If the DSS under test allows the fetching of a USS's availability with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.664708Z)
If the DSS under test allows the fetching of a USS's availability with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.676294Z)
If the DSS does not allow fetching a USS's availability when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:18:05.687649Z)
✅ uss2_dss (2024-12-19T16:18:05.691852Z)
✅ uss2_dss (2024-12-19T16:18:05.711816Z)
✅ uss2_dss (2024-12-19T16:18:05.725680Z)
✅ uss2_dss (2024-12-19T16:18:05.739246Z)
The response to a successful USS Availability request is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21,
otherwise, the DSS is failing to implement astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:18:05.687885Z)
If the DSS under test allows the setting of a USS's availability without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.691903Z)
If the DSS under test allows the setting of a USS's availability with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.711866Z)
If the DSS under test allows the setting of a USS's availability with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.725718Z)
If the DSS under test allows the setting of a USS's availability with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.739285Z)
If the DSS does not allow setting a USS's availability when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:18:05.753076Z)
The response to a successful USS Availability Set request is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21,
otherwise, the DSS is failing to implement astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:18:05.753343Z)
If the DSS under test does not return a proper error message body when an unauthorized request is received, it fails to properly implement the OpenAPI specification that is part of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:18:05.769119Z)
✅ uss2_dss (2024-12-19T16:18:05.784427Z)
✅ uss2_dss (2024-12-19T16:18:05.798102Z)
✅ uss2_dss (2024-12-19T16:18:05.812110Z)
✅ uss2_dss (2024-12-19T16:18:05.831534Z)
✅ uss2_dss (2024-12-19T16:18:05.841917Z)
✅ uss2_dss (2024-12-19T16:18:05.853759Z)
✅ uss2_dss (2024-12-19T16:18:05.864068Z)
✅ uss2_dss (2024-12-19T16:18:05.881536Z)
✅ uss2_dss (2024-12-19T16:18:05.895721Z)
✅ uss2_dss (2024-12-19T16:18:05.909118Z)
✅ uss2_dss (2024-12-19T16:18:05.923334Z)
✅ uss2_dss (2024-12-19T16:18:05.941878Z)
✅ uss2_dss (2024-12-19T16:18:05.952043Z)
✅ uss2_dss (2024-12-19T16:18:05.961979Z)
✅ uss2_dss (2024-12-19T16:18:05.971901Z)
✅ uss2_dss (2024-12-19T16:18:05.992763Z)
✅ uss2_dss (2024-12-19T16:18:06.002751Z)
✅ uss2_dss (2024-12-19T16:18:06.012824Z)
✅ uss2_dss (2024-12-19T16:18:06.022963Z)
If the DSS under test allows the creation of a constraint reference without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.760011Z)
If the DSS under test allows the creation of a constraint reference with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.775492Z)
If the DSS under test allows the creation of a constraint reference with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.789275Z)
If the DSS under test allows the creation of a constraint reference with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.803001Z)
If the DSS does not allow the creation of a constraint reference when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:18:05.820228Z)
This test step fragment validates that a constraint references creation returns a body in the correct format.
The response to a successful constraint reference creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format of a creation request.
✅ uss2_dss (2024-12-19T16:18:05.821102Z)
If the DSS under test allows the fetching of a constraint reference without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.822628Z)
If the DSS under test allows the fetching of a constraint reference with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.833270Z)
If the DSS under test allows the fetching of a constraint reference with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.843589Z)
If the DSS under test allows the fetching of a constraint reference with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.855706Z)
If the DSS does not allow fetching a constraint reference when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:18:05.867108Z)
This test step fragment validates that a request for a constraint reference returns a properly formatted body.
The response to a successful get constraint reference query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format of a mutation.
✅ uss2_dss (2024-12-19T16:18:05.867874Z)
If the DSS under test allows the mutation of a constraint reference without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.872764Z)
If the DSS under test allows the mutation of a constraint reference with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.887093Z)
If the DSS under test allows the mutation of a constraint reference with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.900724Z)
If the DSS under test allows the mutation of a constraint reference with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.914684Z)
If the DSS does not allow the mutation of a constraint reference when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:18:05.930685Z)
This test step fragment validates that updates to constraint references return a body in the correct format.
The response to a successful constraint reference mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format of a mutation.
✅ uss2_dss (2024-12-19T16:18:05.931495Z)
If the DSS under test allows the deletion of a constraint reference without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.933056Z)
If the DSS under test allows the deletion of a constraint reference with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.943649Z)
If the DSS under test allows the deletion of a constraint reference with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.953556Z)
If the DSS under test allows the deletion of a constraint reference with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.963671Z)
If the DSS does not allow the deletion of a constraint reference when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:18:05.979285Z)
This test step fragment validates that a constraint references deletion returns a body in the correct format.
The response to a successful constraint reference deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,3.
Check response format of a deletion.
✅ uss2_dss (2024-12-19T16:18:05.980111Z)
If the DSS under test allows searching for constraint references without any credentials being presented, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.982478Z)
If the DSS under test allows searching for constraint references with credentials that are well-formed but invalid, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:05.994617Z)
If the DSS under test allows searching for constraint references with valid credentials but a missing scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:06.004348Z)
If the DSS under test allows searching for constraint references with valid credentials but an incorrect scope, it is in violation of astm.f3548.v21.DSS0210,A2-7-2,7.
✅ uss2_dss (2024-12-19T16:18:06.014738Z)
If the DSS does not allow searching for constraint references when valid credentials are presented, it is in violation of astm.f3548.v21.DSS0005,4.
✅ uss2_dss (2024-12-19T16:18:06.026863Z)
This test step fragment validates that constraint references search responses are properly formatted.
The response to a successful constraint reference search query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,4.
Check response format of a search.
✅ uss2_dss (2024-12-19T16:18:06.027033Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:06.030126Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:06.032459Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
Ensure a clean workspace for testing interactions with a DSS by removing any constraint references from the DSS that may have been left behind from testing efforts.
If an existing constraint reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
✅ uss2_dss (2024-12-19T16:18:06.034883Z)
A client with valid credentials should be allowed to search for constraint references in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,4.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing constraint cannot be deleted by its manager when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,3.
∅ This check was not applicable to this test run and is therefore not statused.
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when queried for the availability of a USS using valid credentials, the DSS does not return a valid 200 response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
✅ uss2_dss (2024-12-19T16:18:06.037521Z)
This fragment contains the steps for the USS Availability synchronization scenario where we confirm that a USS availability can be correctly read from a DSS instance
If, when presented with a valid query to update the availability state of a USS, a DSS responds with anything else than a 200 OK response, it is in violation of the OpenAPI specification referenced by astm.f3548.v21.DSS0100,1.
The cleanup phase of this test scenario removes the subscription with the known test ID if it has not been removed before. ∅ This check was not applicable to this test run and is therefore not statused.
Perform basic operations on a single DSS instance to create, update and delete subscriptions.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription IDs for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
VerticesResource
describing an area designed to be too big to be accepted by the DSS.
✅ Provided by problematically_big_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:18:06.046900Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:06.049405Z)
✅ uss2_dss (2024-12-19T16:18:06.051624Z)
✅ uss2_dss (2024-12-19T16:18:06.053918Z)
✅ uss2_dss (2024-12-19T16:18:06.056387Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
This test case creates multiple subscriptions, goes on to query and search for them, then deletes and searches for them again.
This test step creates multiple subscriptions with different combinations of the optional end and start time parameters.
All subscriptions are left on the DSS when this step ends, as they are expected to be present for the subsequent step.
This test step fragment validates that subscriptions can be created.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check query succeeds
✅ uss2_dss (2024-12-19T16:18:06.065115Z)
✅ uss2_dss (2024-12-19T16:18:06.087735Z)
✅ uss2_dss (2024-12-19T16:18:06.110233Z)
✅ uss2_dss (2024-12-19T16:18:06.133492Z)
The response to a successful subscription creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.076842Z)
✅ uss2_dss (2024-12-19T16:18:06.098847Z)
✅ uss2_dss (2024-12-19T16:18:06.121689Z)
✅ uss2_dss (2024-12-19T16:18:06.145400Z)
A successful subscription creation query is expected to return a well-defined body, the content of which reflects the created subscription.
If the content of the response does not correspond to the requested content, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Check creation succeeds and response is correct.
✅ uss2_dss (2024-12-19T16:18:06.078597Z)
✅ uss2_dss (2024-12-19T16:18:06.100671Z)
✅ uss2_dss (2024-12-19T16:18:06.123622Z)
✅ uss2_dss (2024-12-19T16:18:06.147349Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.077592Z)
✅ uss2_dss (2024-12-19T16:18:06.099617Z)
✅ uss2_dss (2024-12-19T16:18:06.122568Z)
✅ uss2_dss (2024-12-19T16:18:06.146248Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.078564Z)
✅ uss2_dss (2024-12-19T16:18:06.100638Z)
✅ uss2_dss (2024-12-19T16:18:06.123588Z)
✅ uss2_dss (2024-12-19T16:18:06.147297Z)
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.077641Z)
✅ uss2_dss (2024-12-19T16:18:06.099667Z)
✅ uss2_dss (2024-12-19T16:18:06.122617Z)
✅ uss2_dss (2024-12-19T16:18:06.146297Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.077682Z)
✅ uss2_dss (2024-12-19T16:18:06.099708Z)
✅ uss2_dss (2024-12-19T16:18:06.122660Z)
✅ uss2_dss (2024-12-19T16:18:06.146358Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.077719Z)
✅ uss2_dss (2024-12-19T16:18:06.099750Z)
✅ uss2_dss (2024-12-19T16:18:06.122696Z)
✅ uss2_dss (2024-12-19T16:18:06.146398Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.122776Z)
✅ uss2_dss (2024-12-19T16:18:06.146475Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.077755Z)
✅ uss2_dss (2024-12-19T16:18:06.099788Z)
✅ uss2_dss (2024-12-19T16:18:06.122732Z)
✅ uss2_dss (2024-12-19T16:18:06.146433Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.099831Z)
✅ uss2_dss (2024-12-19T16:18:06.146514Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.077792Z)
✅ uss2_dss (2024-12-19T16:18:06.099866Z)
✅ uss2_dss (2024-12-19T16:18:06.122813Z)
✅ uss2_dss (2024-12-19T16:18:06.146547Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.077826Z)
✅ uss2_dss (2024-12-19T16:18:06.099901Z)
✅ uss2_dss (2024-12-19T16:18:06.122848Z)
✅ uss2_dss (2024-12-19T16:18:06.146582Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.077861Z)
✅ uss2_dss (2024-12-19T16:18:06.099936Z)
✅ uss2_dss (2024-12-19T16:18:06.122883Z)
✅ uss2_dss (2024-12-19T16:18:06.146616Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS after its creation is properly formatted and has the right content.
✅ uss2_dss (2024-12-19T16:18:06.077895Z)
✅ uss2_dss (2024-12-19T16:18:06.099970Z)
✅ uss2_dss (2024-12-19T16:18:06.122918Z)
✅ uss2_dss (2024-12-19T16:18:06.146650Z)
Query and search for the created subscription in various ways
If the query to get an existing subscription fails, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.426735Z)
✅ uss2_dss (2024-12-19T16:18:06.442528Z)
✅ uss2_dss (2024-12-19T16:18:06.458204Z)
✅ uss2_dss (2024-12-19T16:18:06.474211Z)
A successful get subscription query is expected to return a well-defined body, the content of which reflects the created subscription. If the format and content of the response are not conforming, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.438457Z)
✅ uss2_dss (2024-12-19T16:18:06.453938Z)
✅ uss2_dss (2024-12-19T16:18:06.469679Z)
✅ uss2_dss (2024-12-19T16:18:06.486605Z)
The response to a successful get subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.437187Z)
✅ uss2_dss (2024-12-19T16:18:06.452659Z)
✅ uss2_dss (2024-12-19T16:18:06.468401Z)
✅ uss2_dss (2024-12-19T16:18:06.485064Z)
If the search query for the area for which the subscription was just created fails, it is failing to meet astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.492427Z)
A successful search query is expected to return a well-defined body, the content of which reflects the created subscription as well as any other subscription in the area. If the format and content of the response are not conforming, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.509264Z)
✅ uss2_dss (2024-12-19T16:18:06.525277Z)
✅ uss2_dss (2024-12-19T16:18:06.542021Z)
✅ uss2_dss (2024-12-19T16:18:06.558116Z)
The response to a successful subscription search query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.508629Z)
✅ uss2_dss (2024-12-19T16:18:06.524661Z)
✅ uss2_dss (2024-12-19T16:18:06.541397Z)
✅ uss2_dss (2024-12-19T16:18:06.557498Z)
If the created subscription is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.508718Z)
✅ uss2_dss (2024-12-19T16:18:06.524743Z)
✅ uss2_dss (2024-12-19T16:18:06.541483Z)
✅ uss2_dss (2024-12-19T16:18:06.557583Z)
In accordance with astm.f3548.v21.DSS0005,5, the DSS should not allow searches for areas that are too big.
✅ uss2_dss (2024-12-19T16:18:06.560750Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.437923Z)
✅ uss2_dss (2024-12-19T16:18:06.453432Z)
✅ uss2_dss (2024-12-19T16:18:06.469153Z)
✅ uss2_dss (2024-12-19T16:18:06.486020Z)
✅ uss2_dss (2024-12-19T16:18:06.508767Z)
✅ uss2_dss (2024-12-19T16:18:06.524791Z)
✅ uss2_dss (2024-12-19T16:18:06.541530Z)
✅ uss2_dss (2024-12-19T16:18:06.557631Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.438435Z)
✅ uss2_dss (2024-12-19T16:18:06.453917Z)
✅ uss2_dss (2024-12-19T16:18:06.469657Z)
✅ uss2_dss (2024-12-19T16:18:06.486583Z)
✅ uss2_dss (2024-12-19T16:18:06.509240Z)
✅ uss2_dss (2024-12-19T16:18:06.525253Z)
✅ uss2_dss (2024-12-19T16:18:06.541996Z)
✅ uss2_dss (2024-12-19T16:18:06.558092Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.437975Z)
✅ uss2_dss (2024-12-19T16:18:06.453490Z)
✅ uss2_dss (2024-12-19T16:18:06.469205Z)
✅ uss2_dss (2024-12-19T16:18:06.486088Z)
✅ uss2_dss (2024-12-19T16:18:06.508807Z)
✅ uss2_dss (2024-12-19T16:18:06.524830Z)
✅ uss2_dss (2024-12-19T16:18:06.541571Z)
✅ uss2_dss (2024-12-19T16:18:06.557672Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.438019Z)
✅ uss2_dss (2024-12-19T16:18:06.453535Z)
✅ uss2_dss (2024-12-19T16:18:06.469250Z)
✅ uss2_dss (2024-12-19T16:18:06.486152Z)
✅ uss2_dss (2024-12-19T16:18:06.508849Z)
✅ uss2_dss (2024-12-19T16:18:06.524871Z)
✅ uss2_dss (2024-12-19T16:18:06.541612Z)
✅ uss2_dss (2024-12-19T16:18:06.557714Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.438059Z)
✅ uss2_dss (2024-12-19T16:18:06.453575Z)
✅ uss2_dss (2024-12-19T16:18:06.469289Z)
✅ uss2_dss (2024-12-19T16:18:06.486199Z)
✅ uss2_dss (2024-12-19T16:18:06.508887Z)
✅ uss2_dss (2024-12-19T16:18:06.524908Z)
✅ uss2_dss (2024-12-19T16:18:06.541649Z)
✅ uss2_dss (2024-12-19T16:18:06.557751Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.438142Z)
✅ uss2_dss (2024-12-19T16:18:06.453653Z)
✅ uss2_dss (2024-12-19T16:18:06.469392Z)
✅ uss2_dss (2024-12-19T16:18:06.486285Z)
✅ uss2_dss (2024-12-19T16:18:06.508976Z)
✅ uss2_dss (2024-12-19T16:18:06.524988Z)
✅ uss2_dss (2024-12-19T16:18:06.541729Z)
✅ uss2_dss (2024-12-19T16:18:06.557831Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.438097Z)
✅ uss2_dss (2024-12-19T16:18:06.453612Z)
✅ uss2_dss (2024-12-19T16:18:06.469344Z)
✅ uss2_dss (2024-12-19T16:18:06.486238Z)
✅ uss2_dss (2024-12-19T16:18:06.508924Z)
✅ uss2_dss (2024-12-19T16:18:06.524944Z)
✅ uss2_dss (2024-12-19T16:18:06.541686Z)
✅ uss2_dss (2024-12-19T16:18:06.557788Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.438184Z)
✅ uss2_dss (2024-12-19T16:18:06.453694Z)
✅ uss2_dss (2024-12-19T16:18:06.469434Z)
✅ uss2_dss (2024-12-19T16:18:06.486345Z)
✅ uss2_dss (2024-12-19T16:18:06.509017Z)
✅ uss2_dss (2024-12-19T16:18:06.525029Z)
✅ uss2_dss (2024-12-19T16:18:06.541770Z)
✅ uss2_dss (2024-12-19T16:18:06.557871Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.438222Z)
✅ uss2_dss (2024-12-19T16:18:06.453732Z)
✅ uss2_dss (2024-12-19T16:18:06.469471Z)
✅ uss2_dss (2024-12-19T16:18:06.486388Z)
✅ uss2_dss (2024-12-19T16:18:06.509054Z)
✅ uss2_dss (2024-12-19T16:18:06.525066Z)
✅ uss2_dss (2024-12-19T16:18:06.541807Z)
✅ uss2_dss (2024-12-19T16:18:06.557908Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.438298Z)
✅ uss2_dss (2024-12-19T16:18:06.453805Z)
✅ uss2_dss (2024-12-19T16:18:06.469545Z)
✅ uss2_dss (2024-12-19T16:18:06.486467Z)
✅ uss2_dss (2024-12-19T16:18:06.509127Z)
✅ uss2_dss (2024-12-19T16:18:06.525140Z)
✅ uss2_dss (2024-12-19T16:18:06.541883Z)
✅ uss2_dss (2024-12-19T16:18:06.557981Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.438354Z)
✅ uss2_dss (2024-12-19T16:18:06.453842Z)
✅ uss2_dss (2024-12-19T16:18:06.469582Z)
✅ uss2_dss (2024-12-19T16:18:06.486506Z)
✅ uss2_dss (2024-12-19T16:18:06.509166Z)
✅ uss2_dss (2024-12-19T16:18:06.525179Z)
✅ uss2_dss (2024-12-19T16:18:06.541921Z)
✅ uss2_dss (2024-12-19T16:18:06.558018Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the search is correctly formatted and corresponds to what was created earlier.
✅ uss2_dss (2024-12-19T16:18:06.438395Z)
✅ uss2_dss (2024-12-19T16:18:06.453879Z)
✅ uss2_dss (2024-12-19T16:18:06.469619Z)
✅ uss2_dss (2024-12-19T16:18:06.486544Z)
✅ uss2_dss (2024-12-19T16:18:06.509204Z)
✅ uss2_dss (2024-12-19T16:18:06.525216Z)
✅ uss2_dss (2024-12-19T16:18:06.541959Z)
✅ uss2_dss (2024-12-19T16:18:06.558055Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version field is as expected.
✅ uss2_dss (2024-12-19T16:18:06.438260Z)
✅ uss2_dss (2024-12-19T16:18:06.453769Z)
✅ uss2_dss (2024-12-19T16:18:06.469508Z)
✅ uss2_dss (2024-12-19T16:18:06.486428Z)
✅ uss2_dss (2024-12-19T16:18:06.509091Z)
✅ uss2_dss (2024-12-19T16:18:06.525103Z)
✅ uss2_dss (2024-12-19T16:18:06.541846Z)
✅ uss2_dss (2024-12-19T16:18:06.557944Z)
This test step attempts to mutate the subscription both with a missing and incorrect OVN, and checks that the DSS reacts properly.
If a request to mutate a subscription is missing the version and succeeds, the DSS is failing to properly implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.152810Z)
If a request to mutate a subscription providing the wrong version succeeds, the DSS is failing to properly implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.156908Z)
This test step mutates the previously created subscription to verify that the DSS reacts properly: notably, it checks that the subscription version is updated, including for changes that are not directly visible, such as changing the subscription's footprint.
If the query to mutate a subscription with valid parameters is not successful, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.164490Z)
✅ uss2_dss (2024-12-19T16:18:06.187195Z)
✅ uss2_dss (2024-12-19T16:18:06.289210Z)
✅ uss2_dss (2024-12-19T16:18:06.311099Z)
✅ uss2_dss (2024-12-19T16:18:06.331874Z)
✅ uss2_dss (2024-12-19T16:18:06.352878Z)
✅ uss2_dss (2024-12-19T16:18:06.374045Z)
✅ uss2_dss (2024-12-19T16:18:06.405430Z)
A successful subscription mutation query is expected to return a well-defined body, the content of which reflects the newly defined subscription. If the format and content of the response are not conforming, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.177854Z)
✅ uss2_dss (2024-12-19T16:18:06.279973Z)
✅ uss2_dss (2024-12-19T16:18:06.302053Z)
✅ uss2_dss (2024-12-19T16:18:06.323220Z)
✅ uss2_dss (2024-12-19T16:18:06.344272Z)
✅ uss2_dss (2024-12-19T16:18:06.365191Z)
✅ uss2_dss (2024-12-19T16:18:06.386498Z)
✅ uss2_dss (2024-12-19T16:18:06.421196Z)
The response to a successful subscription mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.176600Z)
✅ uss2_dss (2024-12-19T16:18:06.278633Z)
✅ uss2_dss (2024-12-19T16:18:06.300781Z)
✅ uss2_dss (2024-12-19T16:18:06.321999Z)
✅ uss2_dss (2024-12-19T16:18:06.342792Z)
✅ uss2_dss (2024-12-19T16:18:06.363976Z)
✅ uss2_dss (2024-12-19T16:18:06.385261Z)
✅ uss2_dss (2024-12-19T16:18:06.419882Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.177385Z)
✅ uss2_dss (2024-12-19T16:18:06.279492Z)
✅ uss2_dss (2024-12-19T16:18:06.301585Z)
✅ uss2_dss (2024-12-19T16:18:06.322751Z)
✅ uss2_dss (2024-12-19T16:18:06.343680Z)
✅ uss2_dss (2024-12-19T16:18:06.364725Z)
✅ uss2_dss (2024-12-19T16:18:06.386006Z)
✅ uss2_dss (2024-12-19T16:18:06.420720Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.177833Z)
✅ uss2_dss (2024-12-19T16:18:06.279951Z)
✅ uss2_dss (2024-12-19T16:18:06.302030Z)
✅ uss2_dss (2024-12-19T16:18:06.323199Z)
✅ uss2_dss (2024-12-19T16:18:06.344250Z)
✅ uss2_dss (2024-12-19T16:18:06.365169Z)
✅ uss2_dss (2024-12-19T16:18:06.386477Z)
✅ uss2_dss (2024-12-19T16:18:06.421173Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.177436Z)
✅ uss2_dss (2024-12-19T16:18:06.279544Z)
✅ uss2_dss (2024-12-19T16:18:06.301635Z)
✅ uss2_dss (2024-12-19T16:18:06.322801Z)
✅ uss2_dss (2024-12-19T16:18:06.343744Z)
✅ uss2_dss (2024-12-19T16:18:06.364774Z)
✅ uss2_dss (2024-12-19T16:18:06.386055Z)
✅ uss2_dss (2024-12-19T16:18:06.420769Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.177477Z)
✅ uss2_dss (2024-12-19T16:18:06.279587Z)
✅ uss2_dss (2024-12-19T16:18:06.301676Z)
✅ uss2_dss (2024-12-19T16:18:06.322841Z)
✅ uss2_dss (2024-12-19T16:18:06.343796Z)
✅ uss2_dss (2024-12-19T16:18:06.364814Z)
✅ uss2_dss (2024-12-19T16:18:06.386096Z)
✅ uss2_dss (2024-12-19T16:18:06.420811Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.177513Z)
✅ uss2_dss (2024-12-19T16:18:06.279623Z)
✅ uss2_dss (2024-12-19T16:18:06.301713Z)
✅ uss2_dss (2024-12-19T16:18:06.322877Z)
✅ uss2_dss (2024-12-19T16:18:06.343845Z)
✅ uss2_dss (2024-12-19T16:18:06.364850Z)
✅ uss2_dss (2024-12-19T16:18:06.386133Z)
✅ uss2_dss (2024-12-19T16:18:06.420848Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.177587Z)
✅ uss2_dss (2024-12-19T16:18:06.279700Z)
✅ uss2_dss (2024-12-19T16:18:06.301787Z)
✅ uss2_dss (2024-12-19T16:18:06.322951Z)
✅ uss2_dss (2024-12-19T16:18:06.343942Z)
✅ uss2_dss (2024-12-19T16:18:06.364923Z)
✅ uss2_dss (2024-12-19T16:18:06.386208Z)
✅ uss2_dss (2024-12-19T16:18:06.420925Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.177547Z)
✅ uss2_dss (2024-12-19T16:18:06.279659Z)
✅ uss2_dss (2024-12-19T16:18:06.301748Z)
✅ uss2_dss (2024-12-19T16:18:06.322913Z)
✅ uss2_dss (2024-12-19T16:18:06.343893Z)
✅ uss2_dss (2024-12-19T16:18:06.364884Z)
✅ uss2_dss (2024-12-19T16:18:06.386168Z)
✅ uss2_dss (2024-12-19T16:18:06.420884Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.177625Z)
✅ uss2_dss (2024-12-19T16:18:06.279739Z)
✅ uss2_dss (2024-12-19T16:18:06.301825Z)
✅ uss2_dss (2024-12-19T16:18:06.322990Z)
✅ uss2_dss (2024-12-19T16:18:06.344006Z)
✅ uss2_dss (2024-12-19T16:18:06.364961Z)
✅ uss2_dss (2024-12-19T16:18:06.386246Z)
✅ uss2_dss (2024-12-19T16:18:06.420963Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.177660Z)
✅ uss2_dss (2024-12-19T16:18:06.279775Z)
✅ uss2_dss (2024-12-19T16:18:06.301859Z)
✅ uss2_dss (2024-12-19T16:18:06.323024Z)
✅ uss2_dss (2024-12-19T16:18:06.344051Z)
✅ uss2_dss (2024-12-19T16:18:06.364994Z)
✅ uss2_dss (2024-12-19T16:18:06.386280Z)
✅ uss2_dss (2024-12-19T16:18:06.420997Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.177729Z)
✅ uss2_dss (2024-12-19T16:18:06.279844Z)
✅ uss2_dss (2024-12-19T16:18:06.301926Z)
✅ uss2_dss (2024-12-19T16:18:06.323094Z)
✅ uss2_dss (2024-12-19T16:18:06.344141Z)
✅ uss2_dss (2024-12-19T16:18:06.365063Z)
✅ uss2_dss (2024-12-19T16:18:06.386369Z)
✅ uss2_dss (2024-12-19T16:18:06.421066Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.177763Z)
✅ uss2_dss (2024-12-19T16:18:06.279879Z)
✅ uss2_dss (2024-12-19T16:18:06.301961Z)
✅ uss2_dss (2024-12-19T16:18:06.323129Z)
✅ uss2_dss (2024-12-19T16:18:06.344176Z)
✅ uss2_dss (2024-12-19T16:18:06.365099Z)
✅ uss2_dss (2024-12-19T16:18:06.386405Z)
✅ uss2_dss (2024-12-19T16:18:06.421101Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the mutation is properly formatted and contains the correct content.
✅ uss2_dss (2024-12-19T16:18:06.177797Z)
✅ uss2_dss (2024-12-19T16:18:06.279914Z)
✅ uss2_dss (2024-12-19T16:18:06.301995Z)
✅ uss2_dss (2024-12-19T16:18:06.323163Z)
✅ uss2_dss (2024-12-19T16:18:06.344212Z)
✅ uss2_dss (2024-12-19T16:18:06.365134Z)
✅ uss2_dss (2024-12-19T16:18:06.386440Z)
✅ uss2_dss (2024-12-19T16:18:06.421136Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its mutation.
The code for these checks lives in the subscription_validator.py class.
Following a mutation, the DSS needs to update the subscription version, otherwise it is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version field has been mutated.
✅ uss2_dss (2024-12-19T16:18:06.177695Z)
✅ uss2_dss (2024-12-19T16:18:06.279809Z)
✅ uss2_dss (2024-12-19T16:18:06.301892Z)
✅ uss2_dss (2024-12-19T16:18:06.323058Z)
✅ uss2_dss (2024-12-19T16:18:06.344104Z)
✅ uss2_dss (2024-12-19T16:18:06.365028Z)
✅ uss2_dss (2024-12-19T16:18:06.386329Z)
✅ uss2_dss (2024-12-19T16:18:06.421032Z)
Attempt to delete the subscription in various ways and ensure that the DSS reacts properly.
This also checks that the subscription data returned by a successful deletion is correct.
An attempt to delete a subscription without providing a version should fail, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.562097Z)
✅ uss2_dss (2024-12-19T16:18:06.567054Z)
✅ uss2_dss (2024-12-19T16:18:06.571069Z)
✅ uss2_dss (2024-12-19T16:18:06.575198Z)
An attempt to delete a subscription while providing an incorrect version should fail, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.565792Z)
✅ uss2_dss (2024-12-19T16:18:06.569812Z)
✅ uss2_dss (2024-12-19T16:18:06.573890Z)
✅ uss2_dss (2024-12-19T16:18:06.577952Z)
If the query to delete an existing subscription fails, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.584520Z)
✅ uss2_dss (2024-12-19T16:18:06.603695Z)
✅ uss2_dss (2024-12-19T16:18:06.622962Z)
✅ uss2_dss (2024-12-19T16:18:06.642359Z)
A successful delete subscription query is expected to return a well-defined body, the content of which reflects the content of the subscription before deletion. If the format and content of the response are not conforming, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.596495Z)
✅ uss2_dss (2024-12-19T16:18:06.615731Z)
✅ uss2_dss (2024-12-19T16:18:06.634711Z)
✅ uss2_dss (2024-12-19T16:18:06.657532Z)
The response to a successful delete subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.595902Z)
✅ uss2_dss (2024-12-19T16:18:06.615147Z)
✅ uss2_dss (2024-12-19T16:18:06.634118Z)
✅ uss2_dss (2024-12-19T16:18:06.656430Z)
An attempt to delete a subscription when the correct version is provided should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.595990Z)
✅ uss2_dss (2024-12-19T16:18:06.615228Z)
✅ uss2_dss (2024-12-19T16:18:06.634205Z)
✅ uss2_dss (2024-12-19T16:18:06.656578Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.596474Z)
✅ uss2_dss (2024-12-19T16:18:06.615711Z)
✅ uss2_dss (2024-12-19T16:18:06.634690Z)
✅ uss2_dss (2024-12-19T16:18:06.657489Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.596034Z)
✅ uss2_dss (2024-12-19T16:18:06.615273Z)
✅ uss2_dss (2024-12-19T16:18:06.634252Z)
✅ uss2_dss (2024-12-19T16:18:06.656658Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.596076Z)
✅ uss2_dss (2024-12-19T16:18:06.615330Z)
✅ uss2_dss (2024-12-19T16:18:06.634295Z)
✅ uss2_dss (2024-12-19T16:18:06.656736Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.596114Z)
✅ uss2_dss (2024-12-19T16:18:06.615372Z)
✅ uss2_dss (2024-12-19T16:18:06.634349Z)
✅ uss2_dss (2024-12-19T16:18:06.656803Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.596196Z)
✅ uss2_dss (2024-12-19T16:18:06.615453Z)
✅ uss2_dss (2024-12-19T16:18:06.634434Z)
✅ uss2_dss (2024-12-19T16:18:06.656957Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.596152Z)
✅ uss2_dss (2024-12-19T16:18:06.615409Z)
✅ uss2_dss (2024-12-19T16:18:06.634389Z)
✅ uss2_dss (2024-12-19T16:18:06.656872Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.596235Z)
✅ uss2_dss (2024-12-19T16:18:06.615493Z)
✅ uss2_dss (2024-12-19T16:18:06.634475Z)
✅ uss2_dss (2024-12-19T16:18:06.657040Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.596272Z)
✅ uss2_dss (2024-12-19T16:18:06.615531Z)
✅ uss2_dss (2024-12-19T16:18:06.634511Z)
✅ uss2_dss (2024-12-19T16:18:06.657115Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.596363Z)
✅ uss2_dss (2024-12-19T16:18:06.615602Z)
✅ uss2_dss (2024-12-19T16:18:06.634582Z)
✅ uss2_dss (2024-12-19T16:18:06.657245Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.596402Z)
✅ uss2_dss (2024-12-19T16:18:06.615639Z)
✅ uss2_dss (2024-12-19T16:18:06.634619Z)
✅ uss2_dss (2024-12-19T16:18:06.657311Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the deletion is properly formatted and contains the correct content.
✅ uss2_dss (2024-12-19T16:18:06.596438Z)
✅ uss2_dss (2024-12-19T16:18:06.615674Z)
✅ uss2_dss (2024-12-19T16:18:06.634654Z)
✅ uss2_dss (2024-12-19T16:18:06.657410Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version field is as expected.
✅ uss2_dss (2024-12-19T16:18:06.596307Z)
✅ uss2_dss (2024-12-19T16:18:06.615567Z)
✅ uss2_dss (2024-12-19T16:18:06.634547Z)
✅ uss2_dss (2024-12-19T16:18:06.657181Z)
Attempt to query and search for the deleted subscription in various ways
If the DSS provides a successful reply to a direct query for the deleted subscription, it is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.660579Z)
✅ uss2_dss (2024-12-19T16:18:06.662789Z)
✅ uss2_dss (2024-12-19T16:18:06.664980Z)
✅ uss2_dss (2024-12-19T16:18:06.667459Z)
If the DSS fails to let us search in the area for which the subscription was just created, it is failing to meet astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.670865Z)
If the DSS returns the deleted subscription in a search that covers the area it was originally created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.670980Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:06.673336Z)
✅ uss2_dss (2024-12-19T16:18:06.675721Z)
✅ uss2_dss (2024-12-19T16:18:06.677862Z)
✅ uss2_dss (2024-12-19T16:18:06.680024Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created. ∅ This check was not applicable to this test run and is therefore not statused.
Ensures that a DSS properly enforces limitations on created subscriptions
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:18:06.685672Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:06.688629Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
This test attempts to create subscriptions that should be rejected or adapted by the DSS.
This test step attempts to create a subscription that exceeds the maximal subscription duration on the DSS.
It does so directly, by attempting to create a subscription that exceeds the maximal duration of DSSMaxSubscriptionDuration
(24 hours),
and indirectly, by first creating a valid subscription and then attempting to mutate it to exceed the maximal duration.
If the DSS under test does not allow the creation of a subscription of the maximal allowed duration of DSSMaxSubscriptionDuration
,
it is failing to create a subscription using valid parameters, and is thus failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.699443Z)
If the DSS under test does not reject a subscription that exceeds the maximal allowed duration of DSSMaxSubscriptionDuration
,
or fails to truncate the duration of the subscription to this duration, it is in violation of astm.f3548.v21.DSS0015.
✅ uss2_dss (2024-12-19T16:18:06.692215Z)
If the DSS under test does not reject a mutation that would cause a subscription to exceed the maximal allowed duration of DSSMaxSubscriptionDuration
,
or fails to truncate the duration of the subscription to this duration, it is in violation of astm.f3548.v21.DSS0015.
✅ uss2_dss (2024-12-19T16:18:06.704184Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:06.707639Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
✅ uss2_dss (2024-12-19T16:18:06.714812Z)
This scenario ensures that a DSS will only let the owner of an operational intent reference modify it.
A resources.flight_planning.FlightIntentsResource
containing the flight intents to be used in this scenario:
This scenario expects to find at least two separate flight intents in this resource, as it will use their extent to create two operational intents references.
✅ Provided by non_conflicting_flights in top-level resource pool.
A resources.astm.f3548.v21.DSSInstanceResource
pointing to the DSS instance to test for this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
A resources.communications.AuthAdapterResource
containing a second set of valid credentials for interacting with the DSS.
This second set of credentials is required to validate that the DSS is properly enforcing access control rules, and properly limits the actions of a client against the resources exposed by the DSS.
The participant under test is responsible for providing this second set of credentials along the primary ones used in most other scenarios.
In general, these test credentials may be in all points equal to the ones used by the AuthAdapterResource
that is
provided to the dss
resources above, except for the value contained in the sub
claim of the token.
For the purpose of this scenario, these credentials must be allowed to create, modify and delete operational intents on the DSS, as well as querying operational intent references.
For the purpose of this scenario, the second_utm_auth
resource must provide access to a token with at least the following scope:
utm.strategic_coordination
Note that the subscription (or 'sub' claim) of the token that will be obtained for this resource
MUST be different from the one of the dss
resources mentioned above:
this will be verified at runtime, and this scenario will fail if the second set of credentials belong to the same subscription as the main one.
✅ Provided by second_utm_auth in top-level resource pool.
A resources.interuss.IDGeneratorResource
that will be used to generate the IDs of the operational intent references created in this scenario.
✅ Provided by id_generator in top-level resource pool.
Makes sure that the DSS is in a clean and expected state before running the test, and that the passed resources work as required.
The setup will create two separate operational intent references: one for each set of the available credentials.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:06.725688Z)
✅ uss2_dss (2024-12-19T16:18:06.730595Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:18:06.740971Z)
✅ uss2_dss (2024-12-19T16:18:06.744689Z)
✅ uss2_dss (2024-12-19T16:18:06.748310Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
If, after cleanup, one or more operational intent reference are still present at the DSS, this scenario cannot proceed.
This scenario is able to remove any operational intent reference that belongs to the configured credentials, but it cannot remove references that belong to other credentials.
A regular failure of this check indicates that other scenarios might not properly clean up their resources, or that the Prepare Flight Planners scenario should be moved in front of the present one.
If this check fails, the rest of the scenario is entirely skipped.
✅ uss2_dss (2024-12-19T16:18:06.748389Z)
This test step ensures that an operation intent reference created with the main credentials is available for the main test case.
To verify that the second credentials are valid, it will also create an operational intent reference with those credentials.
If the DSS does not allow the creation of operation intents when the required parameters and credentials are provided, it is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:06.764035Z)
✅ uss2_dss (2024-12-19T16:18:06.780442Z)
This scenario requires two sets of credentials that have a different 'sub' claim in order to validate that the DSS properly controls access to operational intents.
✅ uss2_dss (2024-12-19T16:18:06.780629Z)
This test case ensures that the DSS does not allow a caller to modify or delete operational intent references that they did not create.
This test step will attempt to modify the operational intent references that was created using the configured dss
resource,
using the credentials provided in the second_utm_auth
resource, and expect all such attempts to fail.
If an existing operational intent cannot directly be queried by its ID, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:06.800451Z)
If an operational intent reference can be modified by a client which did not create it, the DSS implementation is in violation of astm.f3548.v21.OPIN0035.
✅ uss2_dss (2024-12-19T16:18:06.788664Z)
✅ uss2_dss (2024-12-19T16:18:06.794348Z)
✅ uss2_dss (2024-12-19T16:18:06.800498Z)
If an operational intent reference can be deleted by a client which did not create it, the DSS implementation is in violation of astm.f3548.v21.OPIN0035.
✅ uss2_dss (2024-12-19T16:18:06.797060Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:06.803925Z)
✅ uss2_dss (2024-12-19T16:18:06.820288Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:18:06.816547Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:06.831957Z)
TODO: Complete with details once we check more than the prerequisites.
This scenario currently only checks that all specified DSS instances are publicly addressable and reachable.
A resources.astm.f3548.v21.DSSInstanceResource containing the "primary" DSS instance for this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
A resources.astm.f3548.v21.DSSInstancesResource containing at least two DSS instances complying with ASTM F3548-21.
✅ Provided by dss_instances in top-level resource pool.
A resources.astm.f3548.v21.PlanningAreaResource containing a planning area that covers the area of interest for this
✅ Provided by planning_area in top-level resource pool.
A resources.dev.TestExclusionsResource containing test exclusions parameters like whether private addresses are allowed. This resource is optional.
✅ Provided by test_exclusions in top-level resource pool.
As per astm.f3548.v21.DSS0300 the DSS instance should be publicly addressable.
As such, this check will fail if the resolved IP of the DSS host is a private IP address.
This check is skipped if the test exclusion allow_private_addresses
is set to True
.
∅ This check was not applicable to this test run and is therefore not statused.
As per astm.f3548.v21.DSS0300 the DSS instance should be publicly addressable. As such, this check will fail if the DSS is not reachable with a dummy query.
✅ uss2_dss (2024-12-19T16:18:06.838889Z)
✅ uss1_dss (2024-12-19T16:18:06.843338Z)
Verifies that all subscription CRUD operations performed on a single DSS instance are properly propagated to every other DSS
DSSInstanceResource
the DSS instance through which entities are created, modified and deleted.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
DSSInstancesResource
pointing to the DSS instances used to confirm that entities are properly propagated.
✅ Provided by dss_instances in top-level resource pool.
IDGeneratorResource
providing the Subscription ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which subscriptions will be created.
✅ Provided by planning_area in top-level resource pool.
A resources.communications.AuthAdapterResource
containing a second set of valid credentials for interacting with the DSS.
This second set of credentials is required to validate that the DSS properly synchronizes the manager of a subscription to other DSS instances.
The test designer should provide this second set of credentials when full testing of manager synchronization behavior is desired.
In general, these test credentials may be in all points equal to the ones used by the AuthAdapterResource
that is
provided to the dss
resources above, except for the value contained in the sub
claim of the token.
Note that most checks in this scenario will work if the second set of credentials is not provided.
For the purpose of this scenario, the second_utm_auth
resource must provide access to a token with at least the following scope:
utm.strategic_coordination
Note that the subject (or 'sub' claim) of the token that will be obtained for this resource
MUST be different from the one of the dss
resources mentioned above:
this will be verified at runtime, and the depending checks will not be run if this is not the case.
✅ Provided by second_utm_auth in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
✅ uss2_dss (2024-12-19T16:18:06.848025Z)
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:06.850416Z)
✅ uss2_dss (2024-12-19T16:18:06.852562Z)
✅ uss2_dss (2024-12-19T16:18:06.854646Z)
✅ uss2_dss (2024-12-19T16:18:06.857583Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
This includes the main test subscription used in this test, as well as the extra subscription
used for testing the manager
field sync, if the test is configured to test for it.
∅ This check was not applicable to this test run and is therefore not statused.
This test case create a subscription on the main DSS, and verifies that it is properly synchronized to the other DSS instances.
It then goes on to mutate and delete it, each time confirming that all other DSSes return the expected results.
This test step creates multiple subscriptions with different combinations of the optional end and start time parameters.
All subscriptions are left on the DSS when this step ends, as they are expected to be present for the subsequent step.
This test step fragment validates that subscriptions can be created.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Check query succeeds
✅ uss2_dss (2024-12-19T16:18:06.866188Z)
✅ uss2_dss (2024-12-19T16:18:06.889462Z)
✅ uss2_dss (2024-12-19T16:18:06.912607Z)
The response to a successful subscription creation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.877572Z)
✅ uss2_dss (2024-12-19T16:18:06.901868Z)
✅ uss2_dss (2024-12-19T16:18:06.923588Z)
A successful subscription creation query is expected to return a well-defined body, the content of which reflects the created subscription.
If the content of the response does not correspond to the requested content, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Verify that a subscription can be created on the primary DSS.
✅ uss2_dss (2024-12-19T16:18:06.879560Z)
✅ uss2_dss (2024-12-19T16:18:06.903834Z)
✅ uss2_dss (2024-12-19T16:18:06.925418Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.878455Z)
✅ uss2_dss (2024-12-19T16:18:06.902672Z)
✅ uss2_dss (2024-12-19T16:18:06.924338Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.879526Z)
✅ uss2_dss (2024-12-19T16:18:06.903802Z)
✅ uss2_dss (2024-12-19T16:18:06.925385Z)
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.878504Z)
✅ uss2_dss (2024-12-19T16:18:06.902721Z)
✅ uss2_dss (2024-12-19T16:18:06.924390Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.878547Z)
✅ uss2_dss (2024-12-19T16:18:06.902762Z)
✅ uss2_dss (2024-12-19T16:18:06.924431Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.878584Z)
✅ uss2_dss (2024-12-19T16:18:06.902799Z)
✅ uss2_dss (2024-12-19T16:18:06.924467Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.878663Z)
✅ uss2_dss (2024-12-19T16:18:06.902875Z)
✅ uss2_dss (2024-12-19T16:18:06.924542Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.878621Z)
✅ uss2_dss (2024-12-19T16:18:06.902834Z)
✅ uss2_dss (2024-12-19T16:18:06.924502Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.878703Z)
✅ uss2_dss (2024-12-19T16:18:06.902914Z)
✅ uss2_dss (2024-12-19T16:18:06.924581Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:06.878737Z)
✅ uss2_dss (2024-12-19T16:18:06.902949Z)
✅ uss2_dss (2024-12-19T16:18:06.924616Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.878772Z)
✅ uss2_dss (2024-12-19T16:18:06.902989Z)
✅ uss2_dss (2024-12-19T16:18:06.924650Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:06.878816Z)
✅ uss2_dss (2024-12-19T16:18:06.903028Z)
✅ uss2_dss (2024-12-19T16:18:06.924684Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS under test is properly formatted and contains the expected content.
✅ uss2_dss (2024-12-19T16:18:06.878851Z)
✅ uss2_dss (2024-12-19T16:18:06.903104Z)
✅ uss2_dss (2024-12-19T16:18:06.924718Z)
Query the created subscription at every DSS provided in dss_instances
.
This test step fragment validates that subscriptions are properly synchronized across a set of DSS instances.
If the previously created or mutated subscription cannot be found at a DSS, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.930848Z)
✅ uss2_dss (2024-12-19T16:18:06.958481Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct USS base URL, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.931613Z)
✅ uss2_dss (2024-12-19T16:18:06.959267Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct start time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.931675Z)
✅ uss2_dss (2024-12-19T16:18:06.959352Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct end time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.931725Z)
✅ uss2_dss (2024-12-19T16:18:06.959410Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct version, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.931771Z)
✅ uss2_dss (2024-12-19T16:18:06.959457Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct notification flags, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1g, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.931818Z)
✅ uss2_dss (2024-12-19T16:18:06.959505Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct implicit flag, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1h, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.931862Z)
✅ uss2_dss (2024-12-19T16:18:06.959548Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the expected notification count, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1i, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.931906Z)
✅ uss2_dss (2024-12-19T16:18:06.959591Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area that encompasses the created subscription, the secondary DSS should return the subscription in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.951021Z)
✅ uss2_dss (2024-12-19T16:18:06.978144Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area not in the vicinity of the created subscription, the secondary DSS should not return it in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that the subscription that was just created is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:06.954372Z)
✅ uss2_dss (2024-12-19T16:18:06.981572Z)
This test step fragment validates that subscriptions can be read.
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
The response to a successful get subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that each DSS provides access to the created subscription,
✅ uss1_dss (2024-12-19T16:18:06.942219Z)
✅ uss2_dss (2024-12-19T16:18:06.969526Z)
This test step fragment validates that subscriptions can be searched for.
This test step fragment validates that a query to search for subscriptions succeeds.
If the DSS fails to let us search in the area for which the subscription was created, it is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:18:06.947354Z)
✅ uss1_dss (2024-12-19T16:18:06.954271Z)
✅ uss2_dss (2024-12-19T16:18:06.974224Z)
✅ uss2_dss (2024-12-19T16:18:06.981496Z)
If the existing subscription is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
Confirms that each DSS returns the created subscription when searched for.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by every DSS is correctly formatted and corresponds to what was created earlier.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by every DSS is as expected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step mutates the previously created subscription, by accessing the primary DSS, to verify that the update is propagated to all other DSSes. Notably, it checks that the subscription version is updated, including for changes that are not directly visible, such as changing the subscription's footprint.
This test step fragment validates that subscriptions can be updated.
This test step fragment validates that a query to update a subscription succeeds.
If a subscription cannot be updated with a valid set of parameters, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss2_dss (2024-12-19T16:18:06.988980Z)
The response to a successful subscription mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.000696Z)
A successful subscription mutation query is expected to return a well-defined body, the content of which reflects the mutated subscription.
If the content of the response does correspond to the requested mutation, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirm that the subscription can be mutated.
✅ uss2_dss (2024-12-19T16:18:07.001962Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.001448Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.001941Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.001521Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.001570Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.001609Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.001685Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.001645Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.001724Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.001768Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.001838Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.001872Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS is properly formatted and contains the correct content.
✅ uss2_dss (2024-12-19T16:18:07.001906Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its mutation.
The code for these checks lives in the subscription_validator.py class.
Following a mutation, the DSS needs to update the subscription version, otherwise it is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by the DSS has been updated.
✅ uss2_dss (2024-12-19T16:18:07.001804Z)
Query the updated subscription at every DSS provided in dss_instances
.
This test step fragment validates that subscriptions are properly synchronized across a set of DSS instances.
If the previously created or mutated subscription cannot be found at a DSS, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.006359Z)
✅ uss2_dss (2024-12-19T16:18:07.032279Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct USS base URL, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.007102Z)
✅ uss2_dss (2024-12-19T16:18:07.033058Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct start time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.007165Z)
✅ uss2_dss (2024-12-19T16:18:07.033121Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct end time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.007216Z)
✅ uss2_dss (2024-12-19T16:18:07.033172Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct version, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.007260Z)
✅ uss2_dss (2024-12-19T16:18:07.033217Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct notification flags, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1g, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.007307Z)
✅ uss2_dss (2024-12-19T16:18:07.033265Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct implicit flag, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1h, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.007379Z)
✅ uss2_dss (2024-12-19T16:18:07.033309Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the expected notification count, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1i, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.007425Z)
✅ uss2_dss (2024-12-19T16:18:07.033372Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area that encompasses the created subscription, the secondary DSS should return the subscription in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.025793Z)
✅ uss2_dss (2024-12-19T16:18:07.052181Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area not in the vicinity of the created subscription, the secondary DSS should not return it in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that the subscription that was just mutated is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.029120Z)
✅ uss2_dss (2024-12-19T16:18:07.055527Z)
This test step fragment validates that subscriptions can be read.
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
The response to a successful get subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that the subscription that was just mutated can be retrieved from any DSS.
✅ uss1_dss (2024-12-19T16:18:07.017132Z)
✅ uss2_dss (2024-12-19T16:18:07.043512Z)
This test step fragment validates that subscriptions can be searched for.
This test step fragment validates that a query to search for subscriptions succeeds.
If the DSS fails to let us search in the area for which the subscription was created, it is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:18:07.022074Z)
✅ uss1_dss (2024-12-19T16:18:07.029043Z)
✅ uss2_dss (2024-12-19T16:18:07.048231Z)
✅ uss2_dss (2024-12-19T16:18:07.055451Z)
If the existing subscription is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
Confirms that the subscription that was just mutated can be searched for from any DSS.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by every DSS is correctly formatted and corresponds to what was mutated earlier.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by every DSS is as expected.
∅ This check was not applicable to this test run and is therefore not statused.
This test step attempts to mutate the subscription on every secondary DSS instance (that is, instances through which the subscription has not been created) to confirm that such mutations are properly propagated to every DSS.
Note that this step is repeated for every secondary DSS instance.
If the secondary DSS does not allow the subscription to be mutated, either the secondary DSS or the primary DSS are in violation of one or both of the following requirements:
astm.f3548.v21.DSS0210,1b, if the manager
of the subscription fails to be taken into account (either because the primary DSS did not propagated it, or because the secondary failed to consider it);
astm.f3548.v21.DSS0005,5, if the secondary DSS fails to properly implement the API to mutate subscriptions.
✅ uss2_dss (2024-12-19T16:18:07.077446Z)
When queried for a subscription that was created via another DSS, a DSS instance is expected to provide a valid subscription.
If it does not, it might be in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment validates that subscriptions can be updated.
This test step fragment validates that a query to update a subscription succeeds.
If a subscription cannot be updated with a valid set of parameters, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
The response to a successful subscription mutation query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.090555Z)
A successful subscription mutation query is expected to return a well-defined body, the content of which reflects the mutated subscription.
If the content of the response does correspond to the requested mutation, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirm that the secondary DSS handles the update properly.
✅ uss2_dss (2024-12-19T16:18:07.091906Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.091422Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.091885Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.091474Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.091518Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.091556Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.091634Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.091592Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.091674Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.091709Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.091778Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.091813Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS is properly formatted and contains the correct content.
✅ uss2_dss (2024-12-19T16:18:07.091848Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its mutation.
The code for these checks lives in the subscription_validator.py class.
Following a mutation, the DSS needs to update the subscription version, otherwise it is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription is updated after the mutation on the secondary.
✅ uss2_dss (2024-12-19T16:18:07.091743Z)
This step verifies that the mutation of the subscription on a secondary instance, from the previous step, is properly propagated to every other DSS.
Note that this step is repeated for every secondary DSS instance.
This test step fragment validates that subscriptions are properly synchronized across a set of DSS instances.
If the previously created or mutated subscription cannot be found at a DSS, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.096082Z)
✅ uss2_dss (2024-12-19T16:18:07.122568Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct USS base URL, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1c, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.096865Z)
✅ uss2_dss (2024-12-19T16:18:07.123343Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct start time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.096928Z)
✅ uss2_dss (2024-12-19T16:18:07.123408Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct end time, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1e, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.096981Z)
✅ uss2_dss (2024-12-19T16:18:07.123459Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct version, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1f, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.097026Z)
✅ uss2_dss (2024-12-19T16:18:07.123506Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct notification flags, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1g, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.097073Z)
✅ uss2_dss (2024-12-19T16:18:07.123553Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the correct implicit flag, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1h, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.097115Z)
✅ uss2_dss (2024-12-19T16:18:07.123595Z)
If the subscription returned by a DSS to which the subscription was synchronized to does not contain the expected notification count, either one of the instances at which the subscription was created or the one that was queried, is failing to implement one of the following requirements:
astm.f3548.v21.DSS0210,1i, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.097160Z)
✅ uss2_dss (2024-12-19T16:18:07.123638Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area that encompasses the created subscription, the secondary DSS should return the subscription in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.115656Z)
✅ uss2_dss (2024-12-19T16:18:07.143512Z)
The secondary DSS should be aware of the subscription's area: when a search query is issued for an area not in the vicinity of the created subscription, the secondary DSS should not return it in its search results.
Otherwise, it is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1d, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
Confirm that the subscription that was just mutated is properly synchronized across all DSS instances.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.119197Z)
✅ uss2_dss (2024-12-19T16:18:07.147141Z)
This test step fragment validates that subscriptions can be read.
This test step fragment validates that a query to read a subscription succeeds.
If a subscription cannot be queried using its ID, the DSS is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
∅ This check was not applicable to this test run and is therefore not statused.
The response to a successful get subscription query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that the subscription that was just mutated can be retrieved from any DSS, and that it has the expected content.
✅ uss1_dss (2024-12-19T16:18:07.106902Z)
✅ uss2_dss (2024-12-19T16:18:07.133923Z)
This test step fragment validates that subscriptions can be searched for.
This test step fragment validates that a query to search for subscriptions succeeds.
If the DSS fails to let us search in the area for which the subscription was created, it is failing to meet astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:18:07.111903Z)
✅ uss1_dss (2024-12-19T16:18:07.119122Z)
✅ uss2_dss (2024-12-19T16:18:07.139690Z)
✅ uss2_dss (2024-12-19T16:18:07.147063Z)
If the existing subscription is not returned in a search that covers the area it was created for, the DSS is not properly implementing astm.f3548.v21.DSS0005,5.
Confirms that the subscription that was just mutated can be searched for from any DSS, and that it has the expected content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
∅ This check was not applicable to this test run and is therefore not statused.
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS is properly formatted and contains the correct content.
∅ This check was not applicable to this test run and is therefore not statused.
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that when we are reading the subscription without mutating it, the version is as expected.
∅ This check was not applicable to this test run and is therefore not statused.
If the second set of credentials is provided, this test step will create a subscription using these credentials, in order to prepare the next step that checks manager synchronization.
This test step fragment validates that a query to create a subscription with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,5, the DSS API must allow callers to create a subscription with either one or both of the start and end time missing, provided all the required parameters are valid.
Verify that a subscription can be created on the primary DSS using the separate set of credentials.
✅ uss2_dss (2024-12-19T16:18:07.063446Z)
If the second set of credentials is provided, checks that the manager of a subscription is properly synchronized across all DSS instances.
This is done by verifying that the main credentials are not able to delete the subscription via any of the secondary DSS instances.
If the subscription can be deleted by a client which did not create it, via a DSS instance to which the subscription was synced following its creation on the primary DSS, either one of the primary DSS or the DSS that accepted the deletion failed to properly broadcast, respectively take into account, the manage of the subscription, and therefore violates astm.f3548.v21.DSS0210,1b.
✅ uss1_dss (2024-12-19T16:18:07.067113Z)
✅ uss2_dss (2024-12-19T16:18:07.070025Z)
Attempt to delete the subscription that was created on the primary DSS through the primary DSS in various ways, and ensure that the DSS reacts properly.
This also checks that the subscription data returned by a successful deletion is correct.
This test step fragment validates that subscriptions can be deleted.
This test step fragment validates that a query to remove a subscription succeeds.
An attempt to delete a subscription when the correct version is provided should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss2_dss (2024-12-19T16:18:07.231879Z)
The response to a successful subscription deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.247672Z)
A successful subscription deletion query is expected to return a well-defined body, the content of which reflects the deleted subscription.
If the content of the response does not correspond to the subscription at the time of deletion, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that a subscription can be deleted.
✅ uss2_dss (2024-12-19T16:18:07.248231Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.247762Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.248210Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.247805Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.247846Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.247881Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.247961Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.247915Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.248001Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss2_dss (2024-12-19T16:18:07.248037Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.248106Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss2_dss (2024-12-19T16:18:07.248141Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the deletion is properly formatted and contains the correct content.
✅ uss2_dss (2024-12-19T16:18:07.248176Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by the DSS is as expected
✅ uss2_dss (2024-12-19T16:18:07.248072Z)
Attempt to query and search for the deleted subscription in various ways
If a DSS returns a subscription that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the subscription is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS through which the subscription was deleted is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.251079Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:18:07.253284Z)
Attempt to delete subscriptions that were created through the primary DSS via the secondary DSS instances.
This test step fragment validates that subscriptions can be deleted.
This test step fragment validates that a query to remove a subscription succeeds.
An attempt to delete a subscription when the correct version is provided should succeed, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Check query succeeds.
✅ uss1_dss (2024-12-19T16:18:07.260291Z)
✅ uss2_dss (2024-12-19T16:18:07.285343Z)
The response to a successful subscription deletion query is expected to conform to the format defined by the OpenAPI specification under the A3.1
Annex of ASTM F3548−21.
If it does not, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:18:07.271703Z)
✅ uss2_dss (2024-12-19T16:18:07.297742Z)
A successful subscription deletion query is expected to return a well-defined body, the content of which reflects the deleted subscription.
If the content of the response does not correspond to the subscription at the time of deletion, the DSS is failing to implement astm.f3548.v21.DSS0005,5.
Confirms that a subscription can be deleted from a secondary DSS
✅ uss1_dss (2024-12-19T16:18:07.272255Z)
✅ uss2_dss (2024-12-19T16:18:07.298291Z)
This test step fragment attempts to validate the content of a single subscription returned by the DSS.
The code for these checks lives in the subscription_validator.py class.
If the returned subscription ID does not correspond to the one specified in the creation parameters, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:18:07.271770Z)
✅ uss2_dss (2024-12-19T16:18:07.297817Z)
The notification index of a newly created subscription must be 0, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
∅ This check was not applicable to this test run and is therefore not statused.
If the notification index of the subscription is less than 0, the DSS fails to properly implement astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:18:07.272234Z)
✅ uss2_dss (2024-12-19T16:18:07.298271Z)
If the returned subscription has no USS base URL defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:18:07.271814Z)
✅ uss2_dss (2024-12-19T16:18:07.297860Z)
The returned USS base URL must be prefixed with the USS base URL that was provided at subscription creation, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:18:07.271855Z)
✅ uss2_dss (2024-12-19T16:18:07.297901Z)
If the returned subscription has no start time defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:18:07.271891Z)
✅ uss2_dss (2024-12-19T16:18:07.297938Z)
The returned start time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:18:07.271970Z)
✅ uss2_dss (2024-12-19T16:18:07.298017Z)
Subscriptions need a defined end time in order to limit their duration: if the DSS omits to set the end time, it will be in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:18:07.271928Z)
✅ uss2_dss (2024-12-19T16:18:07.297973Z)
The returned end time must be the same as the provided one, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:18:07.272019Z)
✅ uss2_dss (2024-12-19T16:18:07.298060Z)
If the returned subscription has no version defined, astm.f3548.v21.DSS0005,5 is not respected.
✅ uss1_dss (2024-12-19T16:18:07.272056Z)
✅ uss2_dss (2024-12-19T16:18:07.298096Z)
A subscription that was explicitly created by a client should always have its implicit_subscription
flag set to false,
otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:18:07.272127Z)
✅ uss2_dss (2024-12-19T16:18:07.298167Z)
If the subscription was created with the include_operational_intents
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
✅ uss1_dss (2024-12-19T16:18:07.272162Z)
✅ uss2_dss (2024-12-19T16:18:07.298201Z)
If the subscription was created with the include_constraints
flag set to true, the returned subscription must have the same flag set to true, otherwise the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the subscription returned by the DSS via the deletion is properly formatted and contains the correct content.
✅ uss1_dss (2024-12-19T16:18:07.272198Z)
✅ uss2_dss (2024-12-19T16:18:07.298236Z)
This test step fragment attempts to validate a single subscription returned by the DSS after its creation or mutation.
The code for these checks lives in the subscription_validator.py class.
If the version of the subscription is updated without there having been any mutation of the subscription, the DSS is in violation of astm.f3548.v21.DSS0005,5.
Verify that the version of the subscription returned by the DSS is as expected
✅ uss1_dss (2024-12-19T16:18:07.272092Z)
✅ uss2_dss (2024-12-19T16:18:07.298132Z)
If a DSS returns a subscription that was previously successfully deleted from the primary DSS, either one of the primary DSS or the DSS that returned the subscription is in violation of one of the following requirements:
astm.f3548.v21.DSS0210,1a, if the API is not working as described by the OpenAPI specification; astm.f3548.v21.DSS0215, if the DSS through which the subscription was deleted is returning API calls to the client before having updated its underlying distributed storage.
As a result, the DSS pool under test is failing to meet astm.f3548.v21.DSS0020.
✅ uss2_dss, uss1_dss (2024-12-19T16:18:07.274754Z)
✅ uss1_dss, uss1_dss (2024-12-19T16:18:07.276954Z)
✅ uss2_dss, uss1_dss (2024-12-19T16:18:07.279104Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:18:07.300783Z)
✅ uss1_dss, uss2_dss (2024-12-19T16:18:07.302947Z)
✅ uss2_dss, uss2_dss (2024-12-19T16:18:07.305050Z)
Ensure a clean workspace for testing interactions with a DSS by removing any subscriptions from the DSS that may have been left behind from testing efforts.
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to retrieve the subscriptions they created.
∅ This check was not applicable to this test run and is therefore not statused.
If the DSS cannot be queried for the existing test ID, the DSS is likely not implementing astm.f3548.v21.DSS0005,5 correctly.
✅ uss2_dss (2024-12-19T16:18:07.307390Z)
✅ uss2_dss (2024-12-19T16:18:07.309555Z)
✅ uss2_dss (2024-12-19T16:18:07.311587Z)
✅ uss2_dss (2024-12-19T16:18:07.314891Z)
astm.f3548.v21.DSS0005,5 requires the implementation of the DSS endpoint to allow callers to delete subscriptions they created.
This includes the main test subscription used in this test, as well as the extra subscription
used for testing the manager
field sync, if the test is configured to test for it.
✅ uss2_dss (2024-12-19T16:18:07.321786Z)
This instance of this test scenario was skipped in this test run because: Test suite action to run ActionType.TestScenario scenarios.astm.utm.dss.CRDBAccess could not find required resource ID "dss_crdb_cluster" used to populate child resource ID "crdb_cluster"
This test validates that a DSS correctly implements the OVN Request Optional Extension to ASTM F3548-21.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
IDGeneratorResource
providing the base entity ID for this scenario.
✅ Provided by id_generator in top-level resource pool.
ClientIdentityResource
the client identity that will be used to create and update operational intent references.
✅ Provided by utm_client_identity in top-level resource pool.
PlanningAreaResource
describes the 3D volume in which operational intent references will be created.
✅ Provided by planning_area in top-level resource pool.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:07.329764Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
✅ uss2_dss (2024-12-19T16:18:07.327246Z)
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
∅ This check was not applicable to this test run and is therefore not statused.
This case validates the nominal behavior of the OVN request.
This test step fragment validates that a query to create an operational intent reference with valid parameters succeeds
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to create an operational intent reference with either one or both of the start and end time missing, provided all the required parameters are valid. Check that the OIR creation query succeeds.
✅ uss2_dss (2024-12-19T16:18:07.343178Z)
This test step fragment validates that the DSS has set the expected OVN correctly after an USS requested a suffix.
If the DSS has not set the OVN according to the specifications, it will fail this check as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS has set the expected OVN correctly.
✅ uss2_dss (2024-12-19T16:18:07.343228Z)
This test step fragment validates that a query to update an operational intent reference with valid parameters succeeds.
As per astm.f3548.v21.DSS0005,1, the DSS API must allow callers to mutate an operational intent reference. Check that the OIR update query succeeds.
✅ uss2_dss (2024-12-19T16:18:07.362233Z)
This test step fragment validates that the DSS has set the expected OVN correctly after an USS requested a suffix.
If the DSS has not set the OVN according to the specifications, it will fail this check as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS has set the expected OVN correctly.
✅ uss2_dss (2024-12-19T16:18:07.362292Z)
This case validates the off-nominal behaviors of the OVN request.
This test step fragment validates that the DSS rejects invalid attempts to request an OVN suffix.
If the DSS accepts the OVN suffix, or fails with an error other than an HTTP code 400, this check will fail as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS rejects OVN suffix that are not UUIDs. If the DSS accepts the OVN suffix, or fails with an unexpected error, this check will fail.
✅ uss2_dss (2024-12-19T16:18:07.364166Z)
This test step fragment validates that the DSS rejects invalid attempts to request an OVN suffix.
If the DSS accepts the OVN suffix, or fails with an error other than an HTTP code 400, this check will fail as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS rejects OVN suffix that are empty. If the DSS accepts the OVN suffix, or fails with an unexpected error, this check will fail.
✅ uss2_dss (2024-12-19T16:18:07.365794Z)
This test step fragment validates that the DSS rejects invalid attempts to request an OVN suffix.
If the DSS accepts the OVN suffix, or fails with an error other than an HTTP code 400, this check will fail as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS rejects OVN suffix that are UUIDs but not v7. If the DSS accepts the OVN suffix, or fails with an unexpected error, this check will fail.
✅ uss2_dss (2024-12-19T16:18:07.367760Z)
This test step fragment validates that the DSS rejects invalid attempts to request an OVN suffix.
If the DSS accepts the OVN suffix, or fails with an error other than an HTTP code 400, this check will fail as per interuss.f3548.ovn_request.ImplementAPI. Check that the DSS rejects OVN suffix that are outdated UUIDv7. If the DSS accepts the OVN suffix, or fails with an unexpected error, this check will fail.
✅ uss2_dss (2024-12-19T16:18:07.369590Z)
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:07.373118Z)
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
∅ This check was not applicable to this test run and is therefore not statused.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
✅ uss2_dss (2024-12-19T16:18:07.384723Z)
This scenario tests the ability of the DSS to receive DSS reports.
DSSInstanceResource
to be tested in this scenario.
✅ Provided by instance 2 in dss_instances in top-level resource pool.
This test attempts to submit to the DSS a report about a communication issue with a DSS that might otherwise go unnoticed.
A dummy getOperationalIntentReference
query is made to a non-existent DSS in order to produce a realistic report, as if a DSS was not reachable when trying to retrieve an operational intent reference.
This step makes a report to the DSS.
See make_dss_report
in test_steps.py.
If the submission of the report to the DSS does not succeed, this check will fail per astm.f3548.v21.DSS0100,2.
✅ uss2_dss (2024-12-19T16:18:07.598890Z)
If the ID returned by the DSS is not present or is empty, this check will fail per astm.f3548.v21.DSS0100,2.
✅ uss2_dss (2024-12-19T16:18:07.598947Z)
This scenario performs a simple flight planning sequence with a single USS and no interactions with other USSs. It verifies that basic planning functionality for the USS works properly.
It assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
The FlightIntentsResource must provide the following flight intents:
Flight intent ID | Flight name | Priority | Airspace usage state | UAS state |
---|---|---|---|---|
flight1_planned |
Flight 1 | Any (but all the same) | Planned | Nominal |
flight1_activated |
InUse |
Because the scenario involves activation of intents, the start times of all activated intents must be during the time the test scenario is executed (not before). Additionally, their end times must leave sufficient time for the execution of the test scenario.
✅ Provided by conflicting_flights in top-level resource pool.
FlightPlannerResource that is under test and will manage Flight 1 and its variants.
✅ Provided by instance 1 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
∅ This test case was not applicable to this test run and is therefore not statused.
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
While this scenario assumes that the area used is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario) in order to avoid a large number of area-clearing operations, the scenario will not proceed correctly if the area was left in a dirty state following a previous scenario that was supposed to leave the area clear. This test step verifies that the area is clear.
∅ This test case was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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 was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 1 should be successfully planned by the tested USS.
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
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 an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
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 response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
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.
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.
If:
this check will fail per astm.f3548.v21.USS0105.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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 was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 1 should be successfully activated by the tested USS.
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
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 an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
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 response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
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.
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.
If:
this check will fail per astm.f3548.v21.USS0105.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. Flight 1 should be sucessfully removed from the system by the tested USS.
interuss.automated_testing.flight_planning.DeleteFlightSuccess ∅ This check was not applicable to this test run and is therefore not statused.
This scenario performs a simple flight planning sequence with a single USS and no interactions with other USSs. It verifies that basic planning functionality for the USS works properly.
It assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
The FlightIntentsResource must provide the following flight intents:
Flight intent ID | Flight name | Priority | Airspace usage state | UAS state |
---|---|---|---|---|
flight1_planned |
Flight 1 | Any (but all the same) | Planned | Nominal |
flight1_activated |
InUse |
Because the scenario involves activation of intents, the start times of all activated intents must be during the time the test scenario is executed (not before). Additionally, their end times must leave sufficient time for the execution of the test scenario.
✅ Provided by conflicting_flights in top-level resource pool.
FlightPlannerResource that is under test and will manage Flight 1 and its variants.
✅ Provided by instance 2 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
∅ This test case was not applicable to this test run and is therefore not statused.
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
While this scenario assumes that the area used is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario) in order to avoid a large number of area-clearing operations, the scenario will not proceed correctly if the area was left in a dirty state following a previous scenario that was supposed to leave the area clear. This test step verifies that the area is clear.
∅ This test case was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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 was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 1 should be successfully planned by the tested USS.
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
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 an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
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 response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
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.
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.
If:
this check will fail per astm.f3548.v21.USS0105.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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 was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 1 should be successfully activated by the tested USS.
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
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 an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
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 response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
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.
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.
If:
this check will fail per astm.f3548.v21.USS0105.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. Flight 1 should be sucessfully removed from the system by the tested USS.
interuss.automated_testing.flight_planning.DeleteFlightSuccess ∅ This check was not applicable to this test run and is therefore not statused.
This test checks that the USS validates correctly the operational intents it creates. Notably the following requirements:
It assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
FlightIntentsResource that provides the following flight intents:
Flight intent ID | Flight name | Usage State | UAS State | Invalid details |
---|---|---|---|---|
valid_flight |
Valid Flight | Planned | Nominal | N/A |
valid_activated |
InUse | |||
valid_conflict_tiny_overlap |
Tiny Overlap Conflict Flight | Planned | Nominal | Conflicts with Flight 1 such that their 3D volumes have an overlap just above IntersectionMinimumPrecision = 1cm |
invalid_too_far_away |
Too Far Away Flight | Has a start time that is more than OiMaxPlanHorizon = 30 days ahead of time |
||
invalid_recently_ended |
Recently Ended Flight | Has an end time that is within 5 to 10 seconds in the past. |
Because the scenario involves activation of intents, all activated intents must be active during the execution of the test scenario. Additionally, their end time must leave sufficient time for the execution of the test scenario. For the sake of simplicity, it is recommended to set the start and end times of all the intents to the same range.
✅ Provided by invalid_flight_intents in top-level resource pool.
FlightPlannerResource that will be tested for its validation of operational intents.
✅ Provided by instance 1 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
The user flight intent that the test driver attempts to plan has a start time that is more than OiMaxPlanHorizon = 30 days ahead of time. As such, the attempt should be rejected.
If the USS successfully plans the flight or otherwise fails to indicate a rejection, it means that it failed to validate the intent provided. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.OPIN0030.
✅ uss1_core (2024-12-19T16:18:07.643817Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:07.643770Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:07.611431Z)
✅ uss1_dss (2024-12-19T16:18:07.647813Z)
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.
✅ uss1_core (2024-12-19T16:18:07.647872Z)
The user flight intent that the test driver attempts to plan has recently ended by just slightly more than TimeSyncMaxDifferentialSeconds
= 5 seconds.
As such, if the USS synchronizes its time correctly, the attempt should be rejected.
If the USS successfully plans the flight or otherwise fails to indicate a rejection, it means that it failed to validate that the intent provided was in the past. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per one of the following requirements:
TimeSyncMaxDifferentialSeconds
= 5 seconds of an industry-recognized time source as required by astm.f3548.v21.GEN0100; or✅ uss1_core (2024-12-19T16:18:07.670756Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:07.670710Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:07.654945Z)
✅ uss1_dss (2024-12-19T16:18:07.674854Z)
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.
✅ uss1_core (2024-12-19T16:18:07.674913Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:07.735231Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The valid flight should be successfully planned by the flight planner.
✅ uss1_core (2024-12-19T16:18:07.735188Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:07.681920Z)
✅ uss1_dss (2024-12-19T16:18:07.740428Z)
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.
✅ uss1_core (2024-12-19T16:18:07.740497Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:07.740550Z)
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.
✅ uss1_core (2024-12-19T16:18:07.756704Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:07.771117Z)
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.
✅ uss1_core (2024-12-19T16:18:07.772795Z)
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.
✅ uss1_core (2024-12-19T16:18:07.772844Z)
✅ uss1_core (2024-12-19T16:18:07.772880Z)
If:
this check will fail per astm.f3548.v21.USS0105. Validate that the flight was shared correctly and is discoverable.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. The flight should be successfully transitioned to Ended state by the flight planner.
✅ uss1_core (2024-12-19T16:18:07.802991Z)
This step verifies that ending/removal/cancellation of a flight resulted in the operational intent reference being removed from the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted removal. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_removed()
in test_steps.py.
✅ uss1_dss (2024-12-19T16:18:07.778665Z)
✅ uss1_dss (2024-12-19T16:18:07.806886Z)
If the operational intent reference for the flight is still found in the area of the flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:07.806948Z)
If the operational intent is still discoverable after it was transitioned to Ended, this check will fail per astm.f3548.v21.OPIN0040.
✅ uss1_core (2024-12-19T16:18:07.806948Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:07.848933Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The valid flight intent should be successfully planned by the flight planner.
✅ uss1_core (2024-12-19T16:18:07.848890Z)
The tested USS is instructed to plan a flight that is constructed in a way that it intersects with Valid Flight by just
over IntersectionMinimumPrecision
= 1 cm.
If the tested USS successfully plans the flight or otherwise fails to indicate a rejection, it means that it failed to correctly compute the conflicting intersection. Therefore, this check will fail if the USS indicates success in planning the flight from the user flight intent, per astm.f3548.v21.GEN0500.
✅ uss1_core (2024-12-19T16:18:07.894560Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:07.894519Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:07.857130Z)
✅ uss1_dss (2024-12-19T16:18:07.899806Z)
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.
✅ uss1_core (2024-12-19T16:18:07.899862Z)
interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ uss1_core (2024-12-19T16:18:07.911040Z)
✅ uss1_core (2024-12-19T16:18:07.935508Z)
✅ uss1_core (2024-12-19T16:18:07.943890Z)
✅ uss1_core (2024-12-19T16:18:07.951167Z)
This test checks that the USS validates correctly the operational intents it creates. Notably the following requirements:
It assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
FlightIntentsResource that provides the following flight intents:
Flight intent ID | Flight name | Usage State | UAS State | Invalid details |
---|---|---|---|---|
valid_flight |
Valid Flight | Planned | Nominal | N/A |
valid_activated |
InUse | |||
valid_conflict_tiny_overlap |
Tiny Overlap Conflict Flight | Planned | Nominal | Conflicts with Flight 1 such that their 3D volumes have an overlap just above IntersectionMinimumPrecision = 1cm |
invalid_too_far_away |
Too Far Away Flight | Has a start time that is more than OiMaxPlanHorizon = 30 days ahead of time |
||
invalid_recently_ended |
Recently Ended Flight | Has an end time that is within 5 to 10 seconds in the past. |
Because the scenario involves activation of intents, all activated intents must be active during the execution of the test scenario. Additionally, their end time must leave sufficient time for the execution of the test scenario. For the sake of simplicity, it is recommended to set the start and end times of all the intents to the same range.
✅ Provided by invalid_flight_intents in top-level resource pool.
FlightPlannerResource that will be tested for its validation of operational intents.
✅ Provided by instance 2 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
The user flight intent that the test driver attempts to plan has a start time that is more than OiMaxPlanHorizon = 30 days ahead of time. As such, the attempt should be rejected.
If the USS successfully plans the flight or otherwise fails to indicate a rejection, it means that it failed to validate the intent provided. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.OPIN0030.
✅ uss2_core (2024-12-19T16:18:07.979474Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:07.979432Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:07.960336Z)
✅ uss1_dss (2024-12-19T16:18:07.983162Z)
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.
✅ uss2_core (2024-12-19T16:18:07.983215Z)
The user flight intent that the test driver attempts to plan has recently ended by just slightly more than TimeSyncMaxDifferentialSeconds
= 5 seconds.
As such, if the USS synchronizes its time correctly, the attempt should be rejected.
If the USS successfully plans the flight or otherwise fails to indicate a rejection, it means that it failed to validate that the intent provided was in the past. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per one of the following requirements:
TimeSyncMaxDifferentialSeconds
= 5 seconds of an industry-recognized time source as required by astm.f3548.v21.GEN0100; or✅ uss2_core (2024-12-19T16:18:08.004502Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:08.004464Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:07.990309Z)
✅ uss1_dss (2024-12-19T16:18:08.007984Z)
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.
✅ uss2_core (2024-12-19T16:18:08.008033Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:08.054268Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The valid flight should be successfully planned by the flight planner.
✅ uss2_core (2024-12-19T16:18:08.054227Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.014796Z)
✅ uss1_dss (2024-12-19T16:18:08.059145Z)
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.
✅ uss2_core (2024-12-19T16:18:08.059232Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:08.059288Z)
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.
✅ uss2_core (2024-12-19T16:18:08.073628Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:08.086910Z)
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.
✅ uss2_core (2024-12-19T16:18:08.088387Z)
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.
✅ uss2_core (2024-12-19T16:18:08.088431Z)
✅ uss2_core (2024-12-19T16:18:08.088467Z)
If:
this check will fail per astm.f3548.v21.USS0105. Validate that the flight was shared correctly and is discoverable.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. The flight should be successfully transitioned to Ended state by the flight planner.
✅ uss2_core (2024-12-19T16:18:08.119357Z)
This step verifies that ending/removal/cancellation of a flight resulted in the operational intent reference being removed from the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted removal. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_removed()
in test_steps.py.
✅ uss1_dss (2024-12-19T16:18:08.094562Z)
✅ uss1_dss (2024-12-19T16:18:08.123687Z)
If the operational intent reference for the flight is still found in the area of the flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:08.123755Z)
If the operational intent is still discoverable after it was transitioned to Ended, this check will fail per astm.f3548.v21.OPIN0040.
✅ uss2_core (2024-12-19T16:18:08.123755Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:08.165455Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The valid flight intent should be successfully planned by the flight planner.
✅ uss2_core (2024-12-19T16:18:08.165412Z)
The tested USS is instructed to plan a flight that is constructed in a way that it intersects with Valid Flight by just
over IntersectionMinimumPrecision
= 1 cm.
If the tested USS successfully plans the flight or otherwise fails to indicate a rejection, it means that it failed to correctly compute the conflicting intersection. Therefore, this check will fail if the USS indicates success in planning the flight from the user flight intent, per astm.f3548.v21.GEN0500.
✅ uss2_core (2024-12-19T16:18:08.211618Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:08.211575Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.173945Z)
✅ uss1_dss (2024-12-19T16:18:08.216780Z)
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.
✅ uss2_core (2024-12-19T16:18:08.216836Z)
interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ uss2_core (2024-12-19T16:18:08.240210Z)
✅ uss2_core (2024-12-19T16:18:08.248421Z)
✅ uss2_core (2024-12-19T16:18:08.258445Z)
✅ uss2_core (2024-12-19T16:18:08.265461Z)
This instance of this test scenario was skipped in this test run because: Test suite action to run ActionType.ActionGenerator action_generators.flight_planning.FlightPlannerCombinations could not find required resource ID "priority_preemption_flights" used to populate child resource ID "priority_preemption_flights"
This test aims at testing the strategic coordination requirements that relate to the prioritization scenarios where there exists a conflict with an equal priority flight that is not permitted by regulation:
It involves a tested USS and a control USS through which conflicting flights are injected.
This scenario skips execution and completes successfully at the setup case if a resource containing equal priority flight intents where conflicts are not allow is not provided, such as if a jurisdiction does not have any priority levels at which conflicts are not allowed.
It assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
If the jurisdiction in which these tests are being conducted does not have a priority level at which conflicts are not allowed, the FlightIntentsResource must be None to prevent the execution of this test.
Otherwise, the FlightIntentsResource must provide the following flight intents:
Flight intent ID | Flight name | Priority | State | Must conflict with | Must not conflict with |
---|---|---|---|---|---|
flight1_planned |
Flight 1 | Any (but all the same) | Accepted | Flight 2 | N/A |
flight1_activated |
Activated | ||||
flight1m_activated |
Flight 1m | Activated | Flight 2 | N/A | |
flight1c_planned |
Flight 1c | Planned | N/A | Flight 2 | |
flight1c_activated |
Activated | ||||
equal_prio_flight2m_planned |
Flight 2m | Planned | N/A | Flight 1 | |
equal_prio_flight2_planned |
Flight 2 | Flight 1, Flight 1m | Flight 1c | ||
equal_prio_flight2_activated |
Activated | ||||
equal_prio_flight2_nonconforming |
Nonconforming |
Because the scenario involves activation of intents, the start times of all activated intents must be during the time the test scenario is executed (not before). Additionally, their end times must leave sufficient time for the execution of the test scenario.
✅ Provided by conflicting_flights in top-level resource pool.
FlightPlannerResource that is under test and will manage Flight 1 and its variants.
✅ Provided by instance 1 in flight_planners in top-level resource pool.
FlightPlannerResource that will be used to inject conflicting Flight 2. Note that this control USS needs to support the
CMSA role in order to transition to the Nonconforming
state in order to create a pre-existing conflict among equal-priority operational intents.
✅ Provided by instance 1 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.271993Z)
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
While this scenario assumes that the area used is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario) in order to avoid a large number of area-clearing operations, the scenario will not proceed correctly if the area was left in a dirty state following a previous scenario that was supposed to leave the area clear. This test step verifies that the area is clear.
✅ (2024-12-19T16:18:08.272105Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:08.318087Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 2 should be successfully planned by the control USS.
✅ uss1_core (2024-12-19T16:18:08.318045Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.279219Z)
✅ uss1_dss (2024-12-19T16:18:08.323117Z)
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.
✅ uss1_core (2024-12-19T16:18:08.323177Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:08.323227Z)
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.
✅ uss1_core (2024-12-19T16:18:08.337028Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:08.350045Z)
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.
✅ uss1_core (2024-12-19T16:18:08.351608Z)
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.
✅ uss1_core (2024-12-19T16:18:08.351650Z)
✅ uss1_core (2024-12-19T16:18:08.351686Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:08.417719Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 2 should be successfully activated by the control USS.
✅ uss1_core (2024-12-19T16:18:08.417677Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.359913Z)
✅ uss1_dss (2024-12-19T16:18:08.422443Z)
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.
✅ uss1_core (2024-12-19T16:18:08.422556Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:08.422531Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:08.422602Z)
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.
✅ uss1_core (2024-12-19T16:18:08.435762Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:08.450342Z)
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.
✅ uss1_core (2024-12-19T16:18:08.451837Z)
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.
✅ uss1_core (2024-12-19T16:18:08.451879Z)
✅ uss1_core (2024-12-19T16:18:08.451914Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied planning because of
a non-permitted conflict with an equal priority flight intent.
See plan_conflict_flight
in prioritization_test_steps.py.
If the USS successfully plans the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.SCD0035.
✅ uss1_core (2024-12-19T16:18:08.499155Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to plan the Flight 1 via the tested USS. However, it conflicts with Flight 2 which is of equal priority but came first. As such it should be rejected per astm.f3548.v21.SCD0035.
✅ uss1_core (2024-12-19T16:18:08.499114Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.460615Z)
✅ uss1_dss (2024-12-19T16:18:08.504345Z)
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. Flight 1 should not have been shared with the interoperability ecosystem since it was rejected.
✅ uss1_core (2024-12-19T16:18:08.504403Z)
This page describes the content of a common test step where a user flight intent should be denied activation because of
a non-permitted conflict with an equal priority flight intent.
See activate_conflict_flight
in prioritization_test_steps.py.
If the USS successfully activates the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.SCD0045.
✅ uss1_core (2024-12-19T16:18:08.553546Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to activate directly Flight 1, i.e. without the flight being planned before. However, this conflicts with activated Flight 2, which is of equal priority. As such it should be rejected per astm.f3548.v21.SCD0045.
✅ uss1_core (2024-12-19T16:18:08.553503Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.514274Z)
✅ uss1_dss (2024-12-19T16:18:08.558737Z)
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. Flight 1 should not have been shared with the interoperability ecosystem since it was rejected.
✅ uss1_core (2024-12-19T16:18:08.558793Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:08.627025Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The smaller Flight 1c form (which doesn't conflict with Flight 2) should be successfully planned by the tested USS.
✅ uss1_core (2024-12-19T16:18:08.626983Z)
Because Flight 2 is nearby Flight 1c, successful planning of Flight 1c indicates the tested USS is complying with the portion of astm.f3548.v21.GEN0500 that requires a USS to indicate two 4D volumes are non-intersecting when they are separated by more than 1 cm.
This check does not fail if the planning is rejected.
✅ uss1_core (2024-12-19T16:18:08.627070Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.567430Z)
✅ uss1_dss (2024-12-19T16:18:08.632822Z)
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.
✅ uss1_core (2024-12-19T16:18:08.632892Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:08.632945Z)
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.
✅ uss1_core (2024-12-19T16:18:08.649741Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:08.663693Z)
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.
✅ uss1_core (2024-12-19T16:18:08.665203Z)
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.
✅ uss1_core (2024-12-19T16:18:08.665245Z)
✅ uss1_core (2024-12-19T16:18:08.665281Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied modification because
of a non-permitted conflict with an equal priority flight intent.
See modify_planned_conflict_flight
in prioritization_test_steps.py.
If the USS successfully modifies the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in modifying the flight from the user flight intent, per astm.f3548.v21.SCD0040.
✅ uss1_core (2024-12-19T16:18:08.729159Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to enlarge Flight 1c so that it conflicts with Flight 2. However, Flight 2 is of equal priority but was planned first. As such the change to Flight 1c should be rejected per astm.f3548.v21.SCD0040.
✅ uss1_core (2024-12-19T16:18:08.729119Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.677362Z)
✅ uss1_dss (2024-12-19T16:18:08.734953Z)
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.
✅ uss1_core (2024-12-19T16:18:08.735036Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:08.735083Z)
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.
✅ uss1_core (2024-12-19T16:18:08.752055Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:08.765504Z)
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.
✅ uss1_core (2024-12-19T16:18:08.766989Z)
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.
✅ uss1_core (2024-12-19T16:18:08.767031Z)
✅ uss1_core (2024-12-19T16:18:08.767066Z)
If:
this check will fail per astm.f3548.v21.USS0105. Because the modification attempt was invalid, either Flight 1c should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:08.855116Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver activates the smaller Flight 1c form, which should be done successfully. Note that Flight 1c could be either planned or non-existent before this step. In the latter case, the "user" will directly activate the flight without planning it beforehand.
✅ uss1_core (2024-12-19T16:18:08.855074Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.776900Z)
✅ uss1_dss (2024-12-19T16:18:08.860926Z)
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.
✅ uss1_core (2024-12-19T16:18:08.861044Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:08.861019Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:08.861087Z)
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.
✅ uss1_core (2024-12-19T16:18:08.877959Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:08.891488Z)
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.
✅ uss1_core (2024-12-19T16:18:08.892987Z)
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.
✅ uss1_core (2024-12-19T16:18:08.893029Z)
✅ uss1_core (2024-12-19T16:18:08.893064Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied modification because
of a non-permitted conflict with an equal priority flight intent.
See modify_activated_conflict_flight
in prioritization_test_steps.py.
If the USS successfully modifies the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in modifying the flight from the user flight intent, per astm.f3548.v21.SCD0050.
✅ uss1_core (2024-12-19T16:18:08.959388Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to enlarge Flight 1c so that it conflicts with Flight 2. Both flights are activated at the point where that change is requested. However, because the conflict did not exist when the modification was initiated, it should be rejected per astm.f3548.v21.SCD0050.
✅ uss1_core (2024-12-19T16:18:08.959344Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:08.905299Z)
✅ uss1_dss (2024-12-19T16:18:08.965198Z)
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.
✅ uss1_core (2024-12-19T16:18:08.965309Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:08.965284Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:08.965385Z)
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.
✅ uss1_core (2024-12-19T16:18:08.981602Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:08.995058Z)
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.
✅ uss1_core (2024-12-19T16:18:08.996626Z)
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.
✅ uss1_core (2024-12-19T16:18:08.996667Z)
✅ uss1_core (2024-12-19T16:18:08.996702Z)
If:
this check will fail per astm.f3548.v21.USS0105. Because the modification attempt was invalid, either Flight 1c should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. To prepare for the next test case, Flight 2 must be removed from the system.
✅ uss1_core (2024-12-19T16:18:09.024834Z)
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:09.093249Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver activates the normal form of Flight 1, which should be done successfully since Flight 2 was removed at the end of the previous step. Note that Flight 1 could be either already activated in the smaller Flight 1c form or non-existent before this step. In the former case, Flight 1c is enlarged to its normal size. In the latter case, the flight will be directly activated without being planned beforehand.
✅ uss1_core (2024-12-19T16:18:09.093207Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.034024Z)
✅ uss1_dss (2024-12-19T16:18:09.098340Z)
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.
✅ uss1_core (2024-12-19T16:18:09.098455Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:09.098430Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:09.098497Z)
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.
✅ uss1_core (2024-12-19T16:18:09.112110Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:09.125682Z)
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.
✅ uss1_core (2024-12-19T16:18:09.127215Z)
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.
✅ uss1_core (2024-12-19T16:18:09.127275Z)
✅ uss1_core (2024-12-19T16:18:09.127335Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:09.193659Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The smaller Flight 2 form should be successfully planned by the control USS because it does not conflict with Flight 1.
✅ uss1_core (2024-12-19T16:18:09.193616Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.134914Z)
✅ uss1_dss (2024-12-19T16:18:09.198907Z)
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.
✅ uss1_core (2024-12-19T16:18:09.198974Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:09.199026Z)
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.
✅ uss1_core (2024-12-19T16:18:09.215938Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:09.233361Z)
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.
✅ uss1_core (2024-12-19T16:18:09.234798Z)
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.
✅ uss1_core (2024-12-19T16:18:09.234839Z)
✅ uss1_core (2024-12-19T16:18:09.234875Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
The test driver instructs the control USS to declare Flight 2 as non-conforming. This makes non-conforming Flight 2 conflict with activated Flight 1 -- this same-priority conflict would not be allowed if Flight 2 were in a nominal state.
Do note that executing this test step requires the control USS to support the CMSA role. As such, if the USS rejects the transition to non-conforming state, it will be assumed that the control USS does not support this role and the test execution will stop without failing.
All flight intent data provided is correct, therefore it should have been transitioned to non-conforming state by the USS per interuss.automated_testing.flight_planning.ExpectedBehavior. If the USS rejects the transition, this check will fail. If the USS indicates that the operation is not supported, the USS does not support the CMSA role, and as such the scenario execution will stop without failing.
✅ uss1_core (2024-12-19T16:18:09.301798Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:09.301754Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.246701Z)
✅ uss1_dss (2024-12-19T16:18:09.307541Z)
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.
✅ uss1_core (2024-12-19T16:18:09.307616Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:09.307664Z)
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.
✅ uss1_core (2024-12-19T16:18:09.324336Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:09.337842Z)
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.
✅ uss1_core (2024-12-19T16:18:09.339400Z)
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.
✅ uss1_core (2024-12-19T16:18:09.339443Z)
✅ uss1_core (2024-12-19T16:18:09.339478Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
Before execution of this step, Flight 1 is activated (onto time range A) and Flight 2 is non-conforming (onto time range A), and both are in conflict. The test driver modifies Flight 1 in a way that still conflicts with Flight 2 by extending its time range A. This modification results in a conflict between the two equal priority flight that already existed before the modification was initiated. While this modification is expected to be accepted by the tested USS in general, the rejection of the modification does not constitute a violation of a requirement. However, the modification request must not result in a failure per interuss.automated_testing.flight_planning.ExpectedBehavior.
All flight intent data provided is correct and the USS should have either successfully modified the flight or rejected properly the modification per interuss.automated_testing.flight_planning.ExpectedBehavior. If the USS indicates that the injection attempt failed, this check will fail.
✅ uss1_core (2024-12-19T16:18:09.403998Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:09.403955Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.351535Z)
✅ uss1_dss (2024-12-19T16:18:09.409706Z)
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.
✅ uss1_core (2024-12-19T16:18:09.409818Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:09.409793Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:09.409875Z)
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.
✅ uss1_core (2024-12-19T16:18:09.426616Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:09.440359Z)
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.
✅ uss1_core (2024-12-19T16:18:09.441931Z)
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.
✅ uss1_core (2024-12-19T16:18:09.441974Z)
✅ uss1_core (2024-12-19T16:18:09.442008Z)
If:
this check will fail per astm.f3548.v21.USS0105. This step validates that the response of the USS is consistent with the flight shared, i.e. either it was properly modified, or the USS considered the attempt invalid. In the latter case, because the modification attempt was invalid, either Flight 1 should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ uss1_core (2024-12-19T16:18:09.457121Z)
✅ uss1_core (2024-12-19T16:18:09.484879Z)
✅ uss1_core (2024-12-19T16:18:09.497012Z)
✅ uss1_core (2024-12-19T16:18:09.521090Z)
This test aims at testing the strategic coordination requirements that relate to the prioritization scenarios where there exists a conflict with an equal priority flight that is not permitted by regulation:
It involves a tested USS and a control USS through which conflicting flights are injected.
This scenario skips execution and completes successfully at the setup case if a resource containing equal priority flight intents where conflicts are not allow is not provided, such as if a jurisdiction does not have any priority levels at which conflicts are not allowed.
It assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
If the jurisdiction in which these tests are being conducted does not have a priority level at which conflicts are not allowed, the FlightIntentsResource must be None to prevent the execution of this test.
Otherwise, the FlightIntentsResource must provide the following flight intents:
Flight intent ID | Flight name | Priority | State | Must conflict with | Must not conflict with |
---|---|---|---|---|---|
flight1_planned |
Flight 1 | Any (but all the same) | Accepted | Flight 2 | N/A |
flight1_activated |
Activated | ||||
flight1m_activated |
Flight 1m | Activated | Flight 2 | N/A | |
flight1c_planned |
Flight 1c | Planned | N/A | Flight 2 | |
flight1c_activated |
Activated | ||||
equal_prio_flight2m_planned |
Flight 2m | Planned | N/A | Flight 1 | |
equal_prio_flight2_planned |
Flight 2 | Flight 1, Flight 1m | Flight 1c | ||
equal_prio_flight2_activated |
Activated | ||||
equal_prio_flight2_nonconforming |
Nonconforming |
Because the scenario involves activation of intents, the start times of all activated intents must be during the time the test scenario is executed (not before). Additionally, their end times must leave sufficient time for the execution of the test scenario.
✅ Provided by conflicting_flights in top-level resource pool.
FlightPlannerResource that is under test and will manage Flight 1 and its variants.
✅ Provided by instance 1 in flight_planners in top-level resource pool.
FlightPlannerResource that will be used to inject conflicting Flight 2. Note that this control USS needs to support the
CMSA role in order to transition to the Nonconforming
state in order to create a pre-existing conflict among equal-priority operational intents.
✅ Provided by instance 2 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.527657Z)
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
While this scenario assumes that the area used is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario) in order to avoid a large number of area-clearing operations, the scenario will not proceed correctly if the area was left in a dirty state following a previous scenario that was supposed to leave the area clear. This test step verifies that the area is clear.
✅ (2024-12-19T16:18:09.527774Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:09.572684Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 2 should be successfully planned by the control USS.
✅ uss2_core (2024-12-19T16:18:09.572640Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.534851Z)
✅ uss1_dss (2024-12-19T16:18:09.577221Z)
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.
✅ uss2_core (2024-12-19T16:18:09.577279Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:09.577349Z)
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.
✅ uss2_core (2024-12-19T16:18:09.591067Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:09.604590Z)
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.
✅ uss2_core (2024-12-19T16:18:09.606227Z)
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.
✅ uss2_core (2024-12-19T16:18:09.606272Z)
✅ uss2_core (2024-12-19T16:18:09.606308Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:09.672298Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 2 should be successfully activated by the control USS.
✅ uss2_core (2024-12-19T16:18:09.672256Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.614865Z)
✅ uss1_dss (2024-12-19T16:18:09.677362Z)
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.
✅ uss2_core (2024-12-19T16:18:09.677469Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:09.677444Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:09.677511Z)
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.
✅ uss2_core (2024-12-19T16:18:09.689926Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:09.703383Z)
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.
✅ uss2_core (2024-12-19T16:18:09.704972Z)
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.
✅ uss2_core (2024-12-19T16:18:09.705015Z)
✅ uss2_core (2024-12-19T16:18:09.705050Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied planning because of
a non-permitted conflict with an equal priority flight intent.
See plan_conflict_flight
in prioritization_test_steps.py.
If the USS successfully plans the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.SCD0035.
✅ uss1_core (2024-12-19T16:18:09.757951Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to plan the Flight 1 via the tested USS. However, it conflicts with Flight 2 which is of equal priority but came first. As such it should be rejected per astm.f3548.v21.SCD0035.
✅ uss1_core (2024-12-19T16:18:09.757910Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.713659Z)
✅ uss1_dss (2024-12-19T16:18:09.762986Z)
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. Flight 1 should not have been shared with the interoperability ecosystem since it was rejected.
✅ uss1_core (2024-12-19T16:18:09.763039Z)
This page describes the content of a common test step where a user flight intent should be denied activation because of
a non-permitted conflict with an equal priority flight intent.
See activate_conflict_flight
in prioritization_test_steps.py.
If the USS successfully activates the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.SCD0045.
✅ uss1_core (2024-12-19T16:18:09.802796Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to activate directly Flight 1, i.e. without the flight being planned before. However, this conflicts with activated Flight 2, which is of equal priority. As such it should be rejected per astm.f3548.v21.SCD0045.
✅ uss1_core (2024-12-19T16:18:09.802755Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.771033Z)
✅ uss1_dss (2024-12-19T16:18:09.807290Z)
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. Flight 1 should not have been shared with the interoperability ecosystem since it was rejected.
✅ uss1_core (2024-12-19T16:18:09.807366Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:09.874112Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The smaller Flight 1c form (which doesn't conflict with Flight 2) should be successfully planned by the tested USS.
✅ uss1_core (2024-12-19T16:18:09.874071Z)
Because Flight 2 is nearby Flight 1c, successful planning of Flight 1c indicates the tested USS is complying with the portion of astm.f3548.v21.GEN0500 that requires a USS to indicate two 4D volumes are non-intersecting when they are separated by more than 1 cm.
This check does not fail if the planning is rejected.
✅ uss1_core (2024-12-19T16:18:09.874157Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.815378Z)
✅ uss1_dss (2024-12-19T16:18:09.880183Z)
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.
✅ uss1_core (2024-12-19T16:18:09.880245Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:09.880297Z)
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.
✅ uss1_core (2024-12-19T16:18:09.896049Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:09.909371Z)
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.
✅ uss1_core (2024-12-19T16:18:09.910866Z)
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.
✅ uss1_core (2024-12-19T16:18:09.910908Z)
✅ uss1_core (2024-12-19T16:18:09.910944Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied modification because
of a non-permitted conflict with an equal priority flight intent.
See modify_planned_conflict_flight
in prioritization_test_steps.py.
If the USS successfully modifies the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in modifying the flight from the user flight intent, per astm.f3548.v21.SCD0040.
✅ uss1_core (2024-12-19T16:18:09.969131Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to enlarge Flight 1c so that it conflicts with Flight 2. However, Flight 2 is of equal priority but was planned first. As such the change to Flight 1c should be rejected per astm.f3548.v21.SCD0040.
✅ uss1_core (2024-12-19T16:18:09.969089Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:09.922990Z)
✅ uss1_dss (2024-12-19T16:18:09.975372Z)
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.
✅ uss1_core (2024-12-19T16:18:09.975453Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:09.975500Z)
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.
✅ uss1_core (2024-12-19T16:18:09.990233Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:10.004730Z)
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.
✅ uss1_core (2024-12-19T16:18:10.006307Z)
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.
✅ uss1_core (2024-12-19T16:18:10.006379Z)
✅ uss1_core (2024-12-19T16:18:10.006416Z)
If:
this check will fail per astm.f3548.v21.USS0105. Because the modification attempt was invalid, either Flight 1c should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:10.095673Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver activates the smaller Flight 1c form, which should be done successfully. Note that Flight 1c could be either planned or non-existent before this step. In the latter case, the "user" will directly activate the flight without planning it beforehand.
✅ uss1_core (2024-12-19T16:18:10.095630Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.016463Z)
✅ uss1_dss (2024-12-19T16:18:10.101723Z)
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.
✅ uss1_core (2024-12-19T16:18:10.101835Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:10.101810Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:10.101882Z)
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.
✅ uss1_core (2024-12-19T16:18:10.116696Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:10.130145Z)
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.
✅ uss1_core (2024-12-19T16:18:10.131704Z)
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.
✅ uss1_core (2024-12-19T16:18:10.131750Z)
✅ uss1_core (2024-12-19T16:18:10.131785Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied modification because
of a non-permitted conflict with an equal priority flight intent.
See modify_activated_conflict_flight
in prioritization_test_steps.py.
If the USS successfully modifies the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in modifying the flight from the user flight intent, per astm.f3548.v21.SCD0050.
✅ uss1_core (2024-12-19T16:18:10.192199Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to enlarge Flight 1c so that it conflicts with Flight 2. Both flights are activated at the point where that change is requested. However, because the conflict did not exist when the modification was initiated, it should be rejected per astm.f3548.v21.SCD0050.
✅ uss1_core (2024-12-19T16:18:10.192159Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.144206Z)
✅ uss1_dss (2024-12-19T16:18:10.198297Z)
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.
✅ uss1_core (2024-12-19T16:18:10.198436Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:10.198409Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:10.198479Z)
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.
✅ uss1_core (2024-12-19T16:18:10.213482Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:10.226637Z)
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.
✅ uss1_core (2024-12-19T16:18:10.228143Z)
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.
✅ uss1_core (2024-12-19T16:18:10.228186Z)
✅ uss1_core (2024-12-19T16:18:10.228221Z)
If:
this check will fail per astm.f3548.v21.USS0105. Because the modification attempt was invalid, either Flight 1c should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. To prepare for the next test case, Flight 2 must be removed from the system.
✅ uss2_core (2024-12-19T16:18:10.264542Z)
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:10.342863Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver activates the normal form of Flight 1, which should be done successfully since Flight 2 was removed at the end of the previous step. Note that Flight 1 could be either already activated in the smaller Flight 1c form or non-existent before this step. In the former case, Flight 1c is enlarged to its normal size. In the latter case, the flight will be directly activated without being planned beforehand.
✅ uss1_core (2024-12-19T16:18:10.342820Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.274090Z)
✅ uss1_dss (2024-12-19T16:18:10.347805Z)
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.
✅ uss1_core (2024-12-19T16:18:10.347917Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:10.347892Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:10.347960Z)
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.
✅ uss1_core (2024-12-19T16:18:10.362361Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:10.375367Z)
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.
✅ uss1_core (2024-12-19T16:18:10.376861Z)
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.
✅ uss1_core (2024-12-19T16:18:10.376904Z)
✅ uss1_core (2024-12-19T16:18:10.376940Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:10.431475Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The smaller Flight 2 form should be successfully planned by the control USS because it does not conflict with Flight 1.
✅ uss2_core (2024-12-19T16:18:10.431433Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.384254Z)
✅ uss1_dss (2024-12-19T16:18:10.436206Z)
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.
✅ uss2_core (2024-12-19T16:18:10.436264Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:10.436330Z)
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.
✅ uss2_core (2024-12-19T16:18:10.448096Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:10.461065Z)
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.
✅ uss2_core (2024-12-19T16:18:10.462496Z)
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.
✅ uss2_core (2024-12-19T16:18:10.462536Z)
✅ uss2_core (2024-12-19T16:18:10.462571Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
The test driver instructs the control USS to declare Flight 2 as non-conforming. This makes non-conforming Flight 2 conflict with activated Flight 1 -- this same-priority conflict would not be allowed if Flight 2 were in a nominal state.
Do note that executing this test step requires the control USS to support the CMSA role. As such, if the USS rejects the transition to non-conforming state, it will be assumed that the control USS does not support this role and the test execution will stop without failing.
All flight intent data provided is correct, therefore it should have been transitioned to non-conforming state by the USS per interuss.automated_testing.flight_planning.ExpectedBehavior. If the USS rejects the transition, this check will fail. If the USS indicates that the operation is not supported, the USS does not support the CMSA role, and as such the scenario execution will stop without failing.
✅ uss2_core (2024-12-19T16:18:10.528776Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:10.528735Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.474865Z)
✅ uss1_dss (2024-12-19T16:18:10.535647Z)
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.
✅ uss2_core (2024-12-19T16:18:10.535725Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:10.535774Z)
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.
✅ uss2_core (2024-12-19T16:18:10.548717Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:10.562033Z)
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.
✅ uss2_core (2024-12-19T16:18:10.563529Z)
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.
✅ uss2_core (2024-12-19T16:18:10.563571Z)
✅ uss2_core (2024-12-19T16:18:10.563606Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
Before execution of this step, Flight 1 is activated (onto time range A) and Flight 2 is non-conforming (onto time range A), and both are in conflict. The test driver modifies Flight 1 in a way that still conflicts with Flight 2 by extending its time range A. This modification results in a conflict between the two equal priority flight that already existed before the modification was initiated. While this modification is expected to be accepted by the tested USS in general, the rejection of the modification does not constitute a violation of a requirement. However, the modification request must not result in a failure per interuss.automated_testing.flight_planning.ExpectedBehavior.
All flight intent data provided is correct and the USS should have either successfully modified the flight or rejected properly the modification per interuss.automated_testing.flight_planning.ExpectedBehavior. If the USS indicates that the injection attempt failed, this check will fail.
✅ uss1_core (2024-12-19T16:18:10.637918Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:10.637878Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.576048Z)
✅ uss1_dss (2024-12-19T16:18:10.644072Z)
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.
✅ uss1_core (2024-12-19T16:18:10.644187Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:10.644162Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:10.644228Z)
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.
✅ uss1_core (2024-12-19T16:18:10.660902Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:10.675050Z)
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.
✅ uss1_core (2024-12-19T16:18:10.676565Z)
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.
✅ uss1_core (2024-12-19T16:18:10.676608Z)
✅ uss1_core (2024-12-19T16:18:10.676644Z)
If:
this check will fail per astm.f3548.v21.USS0105. This step validates that the response of the USS is consistent with the flight shared, i.e. either it was properly modified, or the USS considered the attempt invalid. In the latter case, because the modification attempt was invalid, either Flight 1 should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ uss2_core (2024-12-19T16:18:10.710555Z)
✅ uss1_core (2024-12-19T16:18:10.739130Z)
✅ uss1_core (2024-12-19T16:18:10.751169Z)
✅ uss1_core (2024-12-19T16:18:10.762596Z)
This test aims at testing the strategic coordination requirements that relate to the prioritization scenarios where there exists a conflict with an equal priority flight that is not permitted by regulation:
It involves a tested USS and a control USS through which conflicting flights are injected.
This scenario skips execution and completes successfully at the setup case if a resource containing equal priority flight intents where conflicts are not allow is not provided, such as if a jurisdiction does not have any priority levels at which conflicts are not allowed.
It assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
If the jurisdiction in which these tests are being conducted does not have a priority level at which conflicts are not allowed, the FlightIntentsResource must be None to prevent the execution of this test.
Otherwise, the FlightIntentsResource must provide the following flight intents:
Flight intent ID | Flight name | Priority | State | Must conflict with | Must not conflict with |
---|---|---|---|---|---|
flight1_planned |
Flight 1 | Any (but all the same) | Accepted | Flight 2 | N/A |
flight1_activated |
Activated | ||||
flight1m_activated |
Flight 1m | Activated | Flight 2 | N/A | |
flight1c_planned |
Flight 1c | Planned | N/A | Flight 2 | |
flight1c_activated |
Activated | ||||
equal_prio_flight2m_planned |
Flight 2m | Planned | N/A | Flight 1 | |
equal_prio_flight2_planned |
Flight 2 | Flight 1, Flight 1m | Flight 1c | ||
equal_prio_flight2_activated |
Activated | ||||
equal_prio_flight2_nonconforming |
Nonconforming |
Because the scenario involves activation of intents, the start times of all activated intents must be during the time the test scenario is executed (not before). Additionally, their end times must leave sufficient time for the execution of the test scenario.
✅ Provided by conflicting_flights in top-level resource pool.
FlightPlannerResource that is under test and will manage Flight 1 and its variants.
✅ Provided by instance 2 in flight_planners in top-level resource pool.
FlightPlannerResource that will be used to inject conflicting Flight 2. Note that this control USS needs to support the
CMSA role in order to transition to the Nonconforming
state in order to create a pre-existing conflict among equal-priority operational intents.
✅ Provided by instance 1 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.769395Z)
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
While this scenario assumes that the area used is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario) in order to avoid a large number of area-clearing operations, the scenario will not proceed correctly if the area was left in a dirty state following a previous scenario that was supposed to leave the area clear. This test step verifies that the area is clear.
✅ (2024-12-19T16:18:10.769526Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:10.834415Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 2 should be successfully planned by the control USS.
✅ uss1_core (2024-12-19T16:18:10.834372Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.777030Z)
✅ uss1_dss (2024-12-19T16:18:10.839469Z)
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.
✅ uss1_core (2024-12-19T16:18:10.839533Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:10.839584Z)
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.
✅ uss1_core (2024-12-19T16:18:10.857311Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:10.871090Z)
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.
✅ uss1_core (2024-12-19T16:18:10.872568Z)
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.
✅ uss1_core (2024-12-19T16:18:10.872609Z)
✅ uss1_core (2024-12-19T16:18:10.872645Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:10.957798Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 2 should be successfully activated by the control USS.
✅ uss1_core (2024-12-19T16:18:10.957756Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:10.881251Z)
✅ uss1_dss (2024-12-19T16:18:10.962976Z)
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.
✅ uss1_core (2024-12-19T16:18:10.963085Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:10.963060Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:10.963127Z)
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.
✅ uss1_core (2024-12-19T16:18:10.979727Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:10.993061Z)
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.
✅ uss1_core (2024-12-19T16:18:10.994581Z)
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.
✅ uss1_core (2024-12-19T16:18:10.994624Z)
✅ uss1_core (2024-12-19T16:18:10.994660Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied planning because of
a non-permitted conflict with an equal priority flight intent.
See plan_conflict_flight
in prioritization_test_steps.py.
If the USS successfully plans the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.SCD0035.
✅ uss2_core (2024-12-19T16:18:11.047702Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to plan the Flight 1 via the tested USS. However, it conflicts with Flight 2 which is of equal priority but came first. As such it should be rejected per astm.f3548.v21.SCD0035.
✅ uss2_core (2024-12-19T16:18:11.047660Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.003454Z)
✅ uss1_dss (2024-12-19T16:18:11.052643Z)
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. Flight 1 should not have been shared with the interoperability ecosystem since it was rejected.
✅ uss2_core (2024-12-19T16:18:11.052695Z)
This page describes the content of a common test step where a user flight intent should be denied activation because of
a non-permitted conflict with an equal priority flight intent.
See activate_conflict_flight
in prioritization_test_steps.py.
If the USS successfully activates the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.SCD0045.
✅ uss2_core (2024-12-19T16:18:11.092215Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to activate directly Flight 1, i.e. without the flight being planned before. However, this conflicts with activated Flight 2, which is of equal priority. As such it should be rejected per astm.f3548.v21.SCD0045.
✅ uss2_core (2024-12-19T16:18:11.092176Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.060671Z)
✅ uss1_dss (2024-12-19T16:18:11.096820Z)
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. Flight 1 should not have been shared with the interoperability ecosystem since it was rejected.
✅ uss2_core (2024-12-19T16:18:11.096873Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:11.165675Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The smaller Flight 1c form (which doesn't conflict with Flight 2) should be successfully planned by the tested USS.
✅ uss2_core (2024-12-19T16:18:11.165634Z)
Because Flight 2 is nearby Flight 1c, successful planning of Flight 1c indicates the tested USS is complying with the portion of astm.f3548.v21.GEN0500 that requires a USS to indicate two 4D volumes are non-intersecting when they are separated by more than 1 cm.
This check does not fail if the planning is rejected.
✅ uss2_core (2024-12-19T16:18:11.165716Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.104615Z)
✅ uss1_dss (2024-12-19T16:18:11.171832Z)
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.
✅ uss2_core (2024-12-19T16:18:11.171910Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:11.171974Z)
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.
✅ uss2_core (2024-12-19T16:18:11.186714Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:11.199834Z)
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.
✅ uss2_core (2024-12-19T16:18:11.201295Z)
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.
✅ uss2_core (2024-12-19T16:18:11.201354Z)
✅ uss2_core (2024-12-19T16:18:11.201392Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied modification because
of a non-permitted conflict with an equal priority flight intent.
See modify_planned_conflict_flight
in prioritization_test_steps.py.
If the USS successfully modifies the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in modifying the flight from the user flight intent, per astm.f3548.v21.SCD0040.
✅ uss2_core (2024-12-19T16:18:11.258514Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to enlarge Flight 1c so that it conflicts with Flight 2. However, Flight 2 is of equal priority but was planned first. As such the change to Flight 1c should be rejected per astm.f3548.v21.SCD0040.
✅ uss2_core (2024-12-19T16:18:11.258473Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.213670Z)
✅ uss1_dss (2024-12-19T16:18:11.264174Z)
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.
✅ uss2_core (2024-12-19T16:18:11.264247Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:11.264294Z)
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.
✅ uss2_core (2024-12-19T16:18:11.277876Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:11.291771Z)
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.
✅ uss2_core (2024-12-19T16:18:11.293363Z)
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.
✅ uss2_core (2024-12-19T16:18:11.293406Z)
✅ uss2_core (2024-12-19T16:18:11.293441Z)
If:
this check will fail per astm.f3548.v21.USS0105. Because the modification attempt was invalid, either Flight 1c should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:11.377988Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver activates the smaller Flight 1c form, which should be done successfully. Note that Flight 1c could be either planned or non-existent before this step. In the latter case, the "user" will directly activate the flight without planning it beforehand.
✅ uss2_core (2024-12-19T16:18:11.377947Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.302905Z)
✅ uss1_dss (2024-12-19T16:18:11.383754Z)
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.
✅ uss2_core (2024-12-19T16:18:11.383863Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:11.383838Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:11.383905Z)
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.
✅ uss2_core (2024-12-19T16:18:11.397561Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:11.410676Z)
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.
✅ uss2_core (2024-12-19T16:18:11.412135Z)
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.
✅ uss2_core (2024-12-19T16:18:11.412177Z)
✅ uss2_core (2024-12-19T16:18:11.412212Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied modification because
of a non-permitted conflict with an equal priority flight intent.
See modify_activated_conflict_flight
in prioritization_test_steps.py.
If the USS successfully modifies the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in modifying the flight from the user flight intent, per astm.f3548.v21.SCD0050.
✅ uss2_core (2024-12-19T16:18:11.470622Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to enlarge Flight 1c so that it conflicts with Flight 2. Both flights are activated at the point where that change is requested. However, because the conflict did not exist when the modification was initiated, it should be rejected per astm.f3548.v21.SCD0050.
✅ uss2_core (2024-12-19T16:18:11.470579Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.423925Z)
✅ uss1_dss (2024-12-19T16:18:11.477013Z)
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.
✅ uss2_core (2024-12-19T16:18:11.477134Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:11.477108Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:11.477177Z)
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.
✅ uss2_core (2024-12-19T16:18:11.491871Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:11.506335Z)
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.
✅ uss2_core (2024-12-19T16:18:11.507869Z)
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.
✅ uss2_core (2024-12-19T16:18:11.507915Z)
✅ uss2_core (2024-12-19T16:18:11.507952Z)
If:
this check will fail per astm.f3548.v21.USS0105. Because the modification attempt was invalid, either Flight 1c should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. To prepare for the next test case, Flight 2 must be removed from the system.
✅ uss1_core (2024-12-19T16:18:11.545711Z)
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:11.622047Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver activates the normal form of Flight 1, which should be done successfully since Flight 2 was removed at the end of the previous step. Note that Flight 1 could be either already activated in the smaller Flight 1c form or non-existent before this step. In the former case, Flight 1c is enlarged to its normal size. In the latter case, the flight will be directly activated without being planned beforehand.
✅ uss2_core (2024-12-19T16:18:11.622005Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.554739Z)
✅ uss1_dss (2024-12-19T16:18:11.626997Z)
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.
✅ uss2_core (2024-12-19T16:18:11.627103Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:11.627078Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:11.627145Z)
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.
✅ uss2_core (2024-12-19T16:18:11.640662Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:11.653750Z)
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.
✅ uss2_core (2024-12-19T16:18:11.655283Z)
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.
✅ uss2_core (2024-12-19T16:18:11.655362Z)
✅ uss2_core (2024-12-19T16:18:11.655405Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:11.726993Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The smaller Flight 2 form should be successfully planned by the control USS because it does not conflict with Flight 1.
✅ uss1_core (2024-12-19T16:18:11.726951Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.662713Z)
✅ uss1_dss (2024-12-19T16:18:11.732051Z)
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.
✅ uss1_core (2024-12-19T16:18:11.732113Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:11.732163Z)
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.
✅ uss1_core (2024-12-19T16:18:11.748032Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:11.761072Z)
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.
✅ uss1_core (2024-12-19T16:18:11.762511Z)
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.
✅ uss1_core (2024-12-19T16:18:11.762552Z)
✅ uss1_core (2024-12-19T16:18:11.762588Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
The test driver instructs the control USS to declare Flight 2 as non-conforming. This makes non-conforming Flight 2 conflict with activated Flight 1 -- this same-priority conflict would not be allowed if Flight 2 were in a nominal state.
Do note that executing this test step requires the control USS to support the CMSA role. As such, if the USS rejects the transition to non-conforming state, it will be assumed that the control USS does not support this role and the test execution will stop without failing.
All flight intent data provided is correct, therefore it should have been transitioned to non-conforming state by the USS per interuss.automated_testing.flight_planning.ExpectedBehavior. If the USS rejects the transition, this check will fail. If the USS indicates that the operation is not supported, the USS does not support the CMSA role, and as such the scenario execution will stop without failing.
✅ uss1_core (2024-12-19T16:18:11.834368Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:11.834297Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.774526Z)
✅ uss1_dss (2024-12-19T16:18:11.840413Z)
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.
✅ uss1_core (2024-12-19T16:18:11.840481Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:11.840527Z)
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.
✅ uss1_core (2024-12-19T16:18:11.856374Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:11.869219Z)
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.
✅ uss1_core (2024-12-19T16:18:11.870705Z)
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.
✅ uss1_core (2024-12-19T16:18:11.870746Z)
✅ uss1_core (2024-12-19T16:18:11.870782Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
Before execution of this step, Flight 1 is activated (onto time range A) and Flight 2 is non-conforming (onto time range A), and both are in conflict. The test driver modifies Flight 1 in a way that still conflicts with Flight 2 by extending its time range A. This modification results in a conflict between the two equal priority flight that already existed before the modification was initiated. While this modification is expected to be accepted by the tested USS in general, the rejection of the modification does not constitute a violation of a requirement. However, the modification request must not result in a failure per interuss.automated_testing.flight_planning.ExpectedBehavior.
All flight intent data provided is correct and the USS should have either successfully modified the flight or rejected properly the modification per interuss.automated_testing.flight_planning.ExpectedBehavior. If the USS indicates that the injection attempt failed, this check will fail.
✅ uss2_core (2024-12-19T16:18:11.945629Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:11.945587Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:11.882596Z)
✅ uss1_dss (2024-12-19T16:18:11.951691Z)
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.
✅ uss2_core (2024-12-19T16:18:11.951802Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:11.951778Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:11.951844Z)
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.
✅ uss2_core (2024-12-19T16:18:11.967606Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:11.980688Z)
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.
✅ uss2_core (2024-12-19T16:18:11.982161Z)
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.
✅ uss2_core (2024-12-19T16:18:11.982204Z)
✅ uss2_core (2024-12-19T16:18:11.982239Z)
If:
this check will fail per astm.f3548.v21.USS0105. This step validates that the response of the USS is consistent with the flight shared, i.e. either it was properly modified, or the USS considered the attempt invalid. In the latter case, because the modification attempt was invalid, either Flight 1 should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ uss1_core (2024-12-19T16:18:12.018560Z)
✅ uss2_core (2024-12-19T16:18:12.032866Z)
✅ uss2_core (2024-12-19T16:18:12.047345Z)
✅ uss2_core (2024-12-19T16:18:12.074281Z)
This test aims at testing the strategic coordination requirements that relate to the prioritization scenarios where there exists a conflict with an equal priority flight that is not permitted by regulation:
It involves a tested USS and a control USS through which conflicting flights are injected.
This scenario skips execution and completes successfully at the setup case if a resource containing equal priority flight intents where conflicts are not allow is not provided, such as if a jurisdiction does not have any priority levels at which conflicts are not allowed.
It assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
If the jurisdiction in which these tests are being conducted does not have a priority level at which conflicts are not allowed, the FlightIntentsResource must be None to prevent the execution of this test.
Otherwise, the FlightIntentsResource must provide the following flight intents:
Flight intent ID | Flight name | Priority | State | Must conflict with | Must not conflict with |
---|---|---|---|---|---|
flight1_planned |
Flight 1 | Any (but all the same) | Accepted | Flight 2 | N/A |
flight1_activated |
Activated | ||||
flight1m_activated |
Flight 1m | Activated | Flight 2 | N/A | |
flight1c_planned |
Flight 1c | Planned | N/A | Flight 2 | |
flight1c_activated |
Activated | ||||
equal_prio_flight2m_planned |
Flight 2m | Planned | N/A | Flight 1 | |
equal_prio_flight2_planned |
Flight 2 | Flight 1, Flight 1m | Flight 1c | ||
equal_prio_flight2_activated |
Activated | ||||
equal_prio_flight2_nonconforming |
Nonconforming |
Because the scenario involves activation of intents, the start times of all activated intents must be during the time the test scenario is executed (not before). Additionally, their end times must leave sufficient time for the execution of the test scenario.
✅ Provided by conflicting_flights in top-level resource pool.
FlightPlannerResource that is under test and will manage Flight 1 and its variants.
✅ Provided by instance 2 in flight_planners in top-level resource pool.
FlightPlannerResource that will be used to inject conflicting Flight 2. Note that this control USS needs to support the
CMSA role in order to transition to the Nonconforming
state in order to create a pre-existing conflict among equal-priority operational intents.
✅ Provided by instance 2 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.080439Z)
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
While this scenario assumes that the area used is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario) in order to avoid a large number of area-clearing operations, the scenario will not proceed correctly if the area was left in a dirty state following a previous scenario that was supposed to leave the area clear. This test step verifies that the area is clear.
✅ (2024-12-19T16:18:12.080547Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:12.143116Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 2 should be successfully planned by the control USS.
✅ uss2_core (2024-12-19T16:18:12.143047Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.087179Z)
✅ uss1_dss (2024-12-19T16:18:12.148038Z)
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.
✅ uss2_core (2024-12-19T16:18:12.148096Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:12.148147Z)
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.
✅ uss2_core (2024-12-19T16:18:12.164542Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:12.177563Z)
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.
✅ uss2_core (2024-12-19T16:18:12.179059Z)
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.
✅ uss2_core (2024-12-19T16:18:12.179103Z)
✅ uss2_core (2024-12-19T16:18:12.179140Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:12.264080Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. Flight 2 should be successfully activated by the control USS.
✅ uss2_core (2024-12-19T16:18:12.264037Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.187812Z)
✅ uss1_dss (2024-12-19T16:18:12.269149Z)
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.
✅ uss2_core (2024-12-19T16:18:12.269261Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:12.269235Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:12.269305Z)
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.
✅ uss2_core (2024-12-19T16:18:12.285088Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:12.300004Z)
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.
✅ uss2_core (2024-12-19T16:18:12.301545Z)
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.
✅ uss2_core (2024-12-19T16:18:12.301587Z)
✅ uss2_core (2024-12-19T16:18:12.301622Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied planning because of
a non-permitted conflict with an equal priority flight intent.
See plan_conflict_flight
in prioritization_test_steps.py.
If the USS successfully plans the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.SCD0035.
✅ uss2_core (2024-12-19T16:18:12.362514Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to plan the Flight 1 via the tested USS. However, it conflicts with Flight 2 which is of equal priority but came first. As such it should be rejected per astm.f3548.v21.SCD0035.
✅ uss2_core (2024-12-19T16:18:12.362472Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.310616Z)
✅ uss1_dss (2024-12-19T16:18:12.367574Z)
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. Flight 1 should not have been shared with the interoperability ecosystem since it was rejected.
✅ uss2_core (2024-12-19T16:18:12.367628Z)
This page describes the content of a common test step where a user flight intent should be denied activation because of
a non-permitted conflict with an equal priority flight intent.
See activate_conflict_flight
in prioritization_test_steps.py.
If the USS successfully activates the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in creating the flight from the user flight intent, per astm.f3548.v21.SCD0045.
✅ uss2_core (2024-12-19T16:18:12.428108Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to activate directly Flight 1, i.e. without the flight being planned before. However, this conflicts with activated Flight 2, which is of equal priority. As such it should be rejected per astm.f3548.v21.SCD0045.
✅ uss2_core (2024-12-19T16:18:12.428066Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.376061Z)
✅ uss1_dss (2024-12-19T16:18:12.433575Z)
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. Flight 1 should not have been shared with the interoperability ecosystem since it was rejected.
✅ uss2_core (2024-12-19T16:18:12.433632Z)
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:12.517724Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The smaller Flight 1c form (which doesn't conflict with Flight 2) should be successfully planned by the tested USS.
✅ uss2_core (2024-12-19T16:18:12.517674Z)
Because Flight 2 is nearby Flight 1c, successful planning of Flight 1c indicates the tested USS is complying with the portion of astm.f3548.v21.GEN0500 that requires a USS to indicate two 4D volumes are non-intersecting when they are separated by more than 1 cm.
This check does not fail if the planning is rejected.
✅ uss2_core (2024-12-19T16:18:12.517775Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.441914Z)
✅ uss1_dss (2024-12-19T16:18:12.523588Z)
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.
✅ uss2_core (2024-12-19T16:18:12.523655Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:12.523707Z)
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.
✅ uss2_core (2024-12-19T16:18:12.542547Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:12.556549Z)
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.
✅ uss2_core (2024-12-19T16:18:12.558082Z)
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.
✅ uss2_core (2024-12-19T16:18:12.558136Z)
✅ uss2_core (2024-12-19T16:18:12.558172Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied modification because
of a non-permitted conflict with an equal priority flight intent.
See modify_planned_conflict_flight
in prioritization_test_steps.py.
If the USS successfully modifies the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in modifying the flight from the user flight intent, per astm.f3548.v21.SCD0040.
✅ uss2_core (2024-12-19T16:18:12.636188Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to enlarge Flight 1c so that it conflicts with Flight 2. However, Flight 2 is of equal priority but was planned first. As such the change to Flight 1c should be rejected per astm.f3548.v21.SCD0040.
✅ uss2_core (2024-12-19T16:18:12.636147Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.570263Z)
✅ uss1_dss (2024-12-19T16:18:12.642226Z)
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.
✅ uss2_core (2024-12-19T16:18:12.642307Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:12.642387Z)
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.
✅ uss2_core (2024-12-19T16:18:12.662172Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:12.675686Z)
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.
✅ uss2_core (2024-12-19T16:18:12.677198Z)
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.
✅ uss2_core (2024-12-19T16:18:12.677247Z)
✅ uss2_core (2024-12-19T16:18:12.677282Z)
If:
this check will fail per astm.f3548.v21.USS0105. Because the modification attempt was invalid, either Flight 1c should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:12.782508Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver activates the smaller Flight 1c form, which should be done successfully. Note that Flight 1c could be either planned or non-existent before this step. In the latter case, the "user" will directly activate the flight without planning it beforehand.
✅ uss2_core (2024-12-19T16:18:12.782464Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.686903Z)
✅ uss1_dss (2024-12-19T16:18:12.788537Z)
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.
✅ uss2_core (2024-12-19T16:18:12.788658Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:12.788631Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:12.788701Z)
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.
✅ uss2_core (2024-12-19T16:18:12.808081Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:12.821370Z)
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.
✅ uss2_core (2024-12-19T16:18:12.822869Z)
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.
✅ uss2_core (2024-12-19T16:18:12.822911Z)
✅ uss2_core (2024-12-19T16:18:12.822947Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a user flight intent should be denied modification because
of a non-permitted conflict with an equal priority flight intent.
See modify_activated_conflict_flight
in prioritization_test_steps.py.
If the USS successfully modifies the flight or otherwise fails to indicate a conflict, it means they failed to detect the conflict with the pre-existing flight. Therefore, this check will fail if the USS indicates success in modifying the flight from the user flight intent, per astm.f3548.v21.SCD0050.
✅ uss2_core (2024-12-19T16:18:12.902646Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver attempts to enlarge Flight 1c so that it conflicts with Flight 2. Both flights are activated at the point where that change is requested. However, because the conflict did not exist when the modification was initiated, it should be rejected per astm.f3548.v21.SCD0050.
✅ uss2_core (2024-12-19T16:18:12.902598Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.835044Z)
✅ uss1_dss (2024-12-19T16:18:12.908947Z)
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.
✅ uss2_core (2024-12-19T16:18:12.909067Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:12.909041Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:12.909109Z)
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.
✅ uss2_core (2024-12-19T16:18:12.928346Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:12.941877Z)
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.
✅ uss2_core (2024-12-19T16:18:12.943521Z)
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.
✅ uss2_core (2024-12-19T16:18:12.943570Z)
✅ uss2_core (2024-12-19T16:18:12.943606Z)
If:
this check will fail per astm.f3548.v21.USS0105. Because the modification attempt was invalid, either Flight 1c should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. To prepare for the next test case, Flight 2 must be removed from the system.
✅ uss2_core (2024-12-19T16:18:12.975739Z)
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:13.062479Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The test driver activates the normal form of Flight 1, which should be done successfully since Flight 2 was removed at the end of the previous step. Note that Flight 1 could be either already activated in the smaller Flight 1c form or non-existent before this step. In the former case, Flight 1c is enlarged to its normal size. In the latter case, the flight will be directly activated without being planned beforehand.
✅ uss2_core (2024-12-19T16:18:13.062437Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:12.985389Z)
✅ uss1_dss (2024-12-19T16:18:13.067566Z)
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.
✅ uss2_core (2024-12-19T16:18:13.067678Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:13.067652Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:13.067719Z)
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.
✅ uss2_core (2024-12-19T16:18:13.083264Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:13.096496Z)
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.
✅ uss2_core (2024-12-19T16:18:13.097966Z)
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.
✅ uss2_core (2024-12-19T16:18:13.098008Z)
✅ uss2_core (2024-12-19T16:18:13.098043Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:13.179114Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior. The smaller Flight 2 form should be successfully planned by the control USS because it does not conflict with Flight 1.
✅ uss2_core (2024-12-19T16:18:13.179073Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:13.105263Z)
✅ uss1_dss (2024-12-19T16:18:13.183986Z)
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.
✅ uss2_core (2024-12-19T16:18:13.184046Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:13.184097Z)
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.
✅ uss2_core (2024-12-19T16:18:13.207306Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:13.228081Z)
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.
✅ uss2_core (2024-12-19T16:18:13.229557Z)
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.
✅ uss2_core (2024-12-19T16:18:13.229600Z)
✅ uss2_core (2024-12-19T16:18:13.229636Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
The test driver instructs the control USS to declare Flight 2 as non-conforming. This makes non-conforming Flight 2 conflict with activated Flight 1 -- this same-priority conflict would not be allowed if Flight 2 were in a nominal state.
Do note that executing this test step requires the control USS to support the CMSA role. As such, if the USS rejects the transition to non-conforming state, it will be assumed that the control USS does not support this role and the test execution will stop without failing.
All flight intent data provided is correct, therefore it should have been transitioned to non-conforming state by the USS per interuss.automated_testing.flight_planning.ExpectedBehavior. If the USS rejects the transition, this check will fail. If the USS indicates that the operation is not supported, the USS does not support the CMSA role, and as such the scenario execution will stop without failing.
✅ uss2_core (2024-12-19T16:18:13.304184Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:13.304131Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:13.241714Z)
✅ uss1_dss (2024-12-19T16:18:13.310120Z)
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.
✅ uss2_core (2024-12-19T16:18:13.310192Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:13.310247Z)
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.
✅ uss2_core (2024-12-19T16:18:13.328996Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:13.342067Z)
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.
✅ uss2_core (2024-12-19T16:18:13.343597Z)
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.
✅ uss2_core (2024-12-19T16:18:13.343640Z)
✅ uss2_core (2024-12-19T16:18:13.343676Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
Before execution of this step, Flight 1 is activated (onto time range A) and Flight 2 is non-conforming (onto time range A), and both are in conflict. The test driver modifies Flight 1 in a way that still conflicts with Flight 2 by extending its time range A. This modification results in a conflict between the two equal priority flight that already existed before the modification was initiated. While this modification is expected to be accepted by the tested USS in general, the rejection of the modification does not constitute a violation of a requirement. However, the modification request must not result in a failure per interuss.automated_testing.flight_planning.ExpectedBehavior.
All flight intent data provided is correct and the USS should have either successfully modified the flight or rejected properly the modification per interuss.automated_testing.flight_planning.ExpectedBehavior. If the USS indicates that the injection attempt failed, this check will fail.
✅ uss2_core (2024-12-19T16:18:13.421017Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:13.420974Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:13.355692Z)
✅ uss1_dss (2024-12-19T16:18:13.426766Z)
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.
✅ uss2_core (2024-12-19T16:18:13.426878Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:13.426853Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:13.426920Z)
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.
✅ uss2_core (2024-12-19T16:18:13.445566Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:13.459013Z)
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.
✅ uss2_core (2024-12-19T16:18:13.460585Z)
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.
✅ uss2_core (2024-12-19T16:18:13.460635Z)
✅ uss2_core (2024-12-19T16:18:13.460670Z)
If:
this check will fail per astm.f3548.v21.USS0105. This step validates that the response of the USS is consistent with the flight shared, i.e. either it was properly modified, or the USS considered the attempt invalid. In the latter case, because the modification attempt was invalid, either Flight 1 should not have been modified (because the USS kept the original accepted request), or it should have been removed (because the USS rejected the replacement plan provided).
∅ This check was not applicable to this test run and is therefore not statused.
interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ uss2_core (2024-12-19T16:18:13.479236Z)
✅ uss2_core (2024-12-19T16:18:13.511255Z)
✅ uss2_core (2024-12-19T16:18:13.526089Z)
✅ uss2_core (2024-12-19T16:18:13.553698Z)
This test checks that the USS being tested validates the operational intents received as response to its GET request from another USS. mock_uss plans an operation designed to be relevant to (but not intersect) the operation tested_uss will plan, and provides the data that tested_uss GETs. tested_uss validates the GET response from mock_uss and accordingly plan its operation.
The primary requirement tested by this scenario is astm.f3548.v21.SCD0035 because a USS cannot verify its operational intent does not conflict when it cannot obtain valid details for that operational intent.
This scenario assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
FlightIntentsResource provides the two flight intents which must be relevant to each other, but must not intersect. This can generally be accomplished when the convex hulls of the 2D footprints of the two flights intersect, but the polygons do not intersect. There is an overlap in time and altitude of the two flights.
✅ Provided by non_conflicting_flights in top-level resource pool.
MockUSSResource that will be used for planning flights, controlling data shared for validation testing, and gathering interuss interactions from mock_uss.
✅ Provided by mock_uss in top-level resource pool.
FlightPlannerResource that will be used for the USS being tested for its data validation of operational intent.
✅ Provided by instance 1 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ mock_uss (2024-12-19T16:18:13.611594Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
Flight 2 should be successfully planned by mock_uss.
✅ mock_uss (2024-12-19T16:18:13.611551Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:13.564028Z)
✅ uss1_dss (2024-12-19T16:18:13.616995Z)
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.
✅ mock_uss (2024-12-19T16:18:13.617057Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ mock_uss (2024-12-19T16:18:13.617108Z)
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.
✅ mock_uss (2024-12-19T16:18:13.632920Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ mock_uss (2024-12-19T16:18:13.646660Z)
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.
✅ mock_uss (2024-12-19T16:18:13.648215Z)
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.
✅ mock_uss (2024-12-19T16:18:13.648257Z)
✅ mock_uss (2024-12-19T16:18:13.648292Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:13.746571Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
The test driver instructs tested_uss to attempt to plan flight 1. tested_uss checks if any conflicts with flight 2 which is of equal priority and came first.
✅ uss1_core (2024-12-19T16:18:13.746530Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:13.657069Z)
✅ uss1_dss (2024-12-19T16:18:13.752657Z)
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.
✅ uss1_core (2024-12-19T16:18:13.752721Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:13.752772Z)
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.
✅ uss1_core (2024-12-19T16:18:13.771344Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:13.785568Z)
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.
✅ uss1_core (2024-12-19T16:18:13.787062Z)
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.
✅ uss1_core (2024-12-19T16:18:13.787104Z)
✅ uss1_core (2024-12-19T16:18:13.787139Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This step verifies that a USS obtained operational intent details from a Mock USS by means of either a notification from the Mock USS (push), or a GET request (operation getOperationalIntentDetails) to the Mock USS.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface.
✅ mock_uss (2024-12-19T16:18:20.808512Z)
SCD0035 requires a USS to verify before transitioning to Accepted that it does not conflict with another operational intent, and the only way to have verified this is by knowing all operational intent details. As such, if the USS was neither notified of the details by the Mock USS, nor did it retrieve them directly from the Mock USS, this check will fail per astm.f3548.v21.SCD0035 Validate that tested_uss obtained flight2 details from mock_uss, by means of either a notification pushed by mock_uss to tested_uss due to the pre-existing subscription, or direct retrieval by tested_uss from mock_uss.
✅ uss1_core (2024-12-19T16:18:20.808815Z)
This step verifies that, when creating or modifying an operational intent, a USS sent the required notification for a relevant subscription owned by a mock_uss instance by checking the interactions of that mock_uss instance.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface.
✅ mock_uss (2024-12-19T16:18:20.818862Z)
As per astm.f3548.v21.SCD0085, the notification should be sent by a USS about its operational intent to the subscribing USS in no more than MaxRespondToSubscriptionNotification (5) seconds, 95 percent of the time. To verify that notification was indeed sent for this check, waiting up to MaxRespondToSubscriptionNotificationSeconds gets us 95 percent confidence in declaring the USS non-compliant if notification is not received. To ensure the notifications sent are not missed for a test case, we can pick a threshold that gives a very high (e.g., 99 percent per test) confidence of non-compliance. We can make conservative assumptions about the distribution of the delays. If we assume that the notification delays have a normal distribution with 95 percentile at 5 seconds, then with the standard deviation of 3.04, we get the 99 percentile at 7.07 seconds. Hence, for test cases that check notification sent for an operational intent, we will wait for notifications till threshold MaxTimeToWaitForSubscriptionNotificationSeconds (rounding to 7 seconds).
As per astm.f3548.v21.SCD0085, MaxRespondToSubscriptionNotification is measured from time_start - Receipt of subscription notification from DSS - till time_end - Entity details sent to subscribing USS. To make sure the test driver gives enough time for notifications to be received by mock_uss, it marks the time to get interactions from mock_uss as - the time test driver initiates the plan. The sequence of events is -
We know from above that waiting from t_time_start for MaxTimeToWaitForSubscriptionNotificationSeconds would give us 99% confidence that we receive the notifications. But, test_driver doesn't have access to t_time_start. So, it starts waiting from a point of time after the t_time_start that is t1. This ensures that test driver waits for a long enough duration before getting the interactions. Hence, we get a high confidence that the test driver correctly verifies if a notification was sent by tested_uss.
✅ uss1_core (2024-12-19T16:18:20.818947Z)
astm.f3548.v21.SCD0085 tested_uss notifies mock_uss of flight 1, due to mock_uss's subscription covering flight 2 (which is necessarily relevant to flight 1 per test design).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail.
To prepare for the next test case, tested_uss's flight 1 is closed.
✅ uss1_core (2024-12-19T16:18:20.880939Z)
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail.
To prepare for the next test case, mock_uss's flight 2 is closed.
✅ mock_uss (2024-12-19T16:18:20.906853Z)
In this test case, mock_uss is manipulated to share invalid operational intent details which should prevent tested_uss from planning since it cannot verify the absence of a conflict.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ mock_uss (2024-12-19T16:18:20.959154Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
Flight 2 should be successfully planned by the mock_uss.
✅ mock_uss (2024-12-19T16:18:20.959113Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See expect_shared_with_invalid_data
in invalid_op_test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intent references in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:20.915727Z)
✅ uss1_dss (2024-12-19T16:18:20.963969Z)
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.
✅ mock_uss (2024-12-19T16:18:20.964028Z)
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.
✅ mock_uss (2024-12-19T16:18:20.981636Z)
interuss.mock_uss.hosted_instance.ExposeInterface.
Mock USS shares operational intent details with specified invalid data in response for the negative test case as per the GetOperationalIntentDetailsResponse schema of the OpenAPI specification. If the operational intent details from mock_uss does not contain the specified invalid data, this check will fail. It would mean mock_uss is not behaving correctly.
The mock_uss is instructed to share invalid data with other USS, for negative test.
✅ mock_uss (2024-12-19T16:18:20.993092Z)
This page describes the content of a common test case where a valid user flight intent fails in a flight planner, because of invalid data shared for a nearby flight shared by another USS. See plan_flight_intent_expect_failed
in invalid_op_test_steps.py.
A USS shouldn't go ahead and plan if it doesn't have accurate information. As per SCD0035 a USS needs to verify a particular conflict status. If flight intent data shared for a nearby flight shared is invalid, the USS can't successfully perform that verification. It couldn't have obtained valid information about the other operational intents it's supposed to verify that conflict status against. Therefore, the USS should fail an attempt to plan. If the plan succeeds, we know they've violated SCD0035 because they failed to verify that particular conflict status.
The test driver instructs tested_uss to plan flight 1. tested_uss should (per SCD0035) check if any conflicts with flight 2 which is of equal priority and came first. The planning attempt should fail because tested_uss will be unable to obtain valid operational intent details for flight 2.
✅ uss1_core (2024-12-19T16:18:21.063205Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:21.001856Z)
✅ uss1_dss (2024-12-19T16:18:21.068295Z)
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.
Validate flight 1 is not shared with DSS, as plan failed.
✅ uss1_core (2024-12-19T16:18:21.068369Z)
This step verifies that a USS obtained operational intent details from a Mock USS by means of either a notification from the Mock USS (push), or a GET request (operation getOperationalIntentDetails) to the Mock USS.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface.
✅ mock_uss (2024-12-19T16:18:28.087536Z)
SCD0035 requires a USS to verify before transitioning to Accepted that it does not conflict with another operational intent, and the only way to have verified this is by knowing all operational intent details. As such, if the USS was neither notified of the details by the Mock USS, nor did it retrieve them directly from the Mock USS, this check will fail per astm.f3548.v21.SCD0035 Validate that tested_uss obtained flight2 details from mock_uss, by means of either a notification pushed by mock_uss to tested_uss due to the pre-existing subscription, or direct retrieval by tested_uss from mock_uss.
✅ uss1_core (2024-12-19T16:18:28.087764Z)
This step verifies when a flight is not created, it is also not notified by checking the interuss interactions of mock_uss instance.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface.
✅ mock_uss (2024-12-19T16:18:28.097080Z)
interuss.mock_uss.hosted_instance.ExposeInterface.
∅ This check was not applicable to this test run and is therefore not statused.
interuss.f3548.notification_requirements.NoDssEntityNoNotification
As per the above requirement, the notification should not be sent by a USS about an entity that could not be created in DSS to any USS. To verify that notification was indeed not sent, we need to wait and check up to a threshold to get confidence that USS did not send notification. The max duration for sending a notification in SCD0085 is MaxRespondToSubscriptionNotification(5) seconds. However, this duration is from time start - Receipt of subscription notification from DSS, which does not exist for this check. In this check we use time start when the test driver asked the USS to plan the failed flight. When checking notification not sent, we should wait for the same duration that is used for when checking notification sent. Expect Notification sent. So, we plan to use MaxTimeToWaitForSubscriptionNotificationSeconds (7 seconds).
✅ uss1_core (2024-12-19T16:18:28.097153Z)
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. Teardown
✅ mock_uss (2024-12-19T16:18:28.140220Z)
This cleanup is for both - after testcase ends and after test scenario ends interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ uss1_core (2024-12-19T16:18:28.155250Z)
This test checks that the USS being tested validates the operational intents received as response to its GET request from another USS. mock_uss plans an operation designed to be relevant to (but not intersect) the operation tested_uss will plan, and provides the data that tested_uss GETs. tested_uss validates the GET response from mock_uss and accordingly plan its operation.
The primary requirement tested by this scenario is astm.f3548.v21.SCD0035 because a USS cannot verify its operational intent does not conflict when it cannot obtain valid details for that operational intent.
This scenario assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
FlightIntentsResource provides the two flight intents which must be relevant to each other, but must not intersect. This can generally be accomplished when the convex hulls of the 2D footprints of the two flights intersect, but the polygons do not intersect. There is an overlap in time and altitude of the two flights.
✅ Provided by non_conflicting_flights in top-level resource pool.
MockUSSResource that will be used for planning flights, controlling data shared for validation testing, and gathering interuss interactions from mock_uss.
✅ Provided by mock_uss in top-level resource pool.
FlightPlannerResource that will be used for the USS being tested for its data validation of operational intent.
✅ Provided by instance 2 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ mock_uss (2024-12-19T16:18:28.213824Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
Flight 2 should be successfully planned by mock_uss.
✅ mock_uss (2024-12-19T16:18:28.213783Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:28.165872Z)
✅ uss1_dss (2024-12-19T16:18:28.219497Z)
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.
✅ mock_uss (2024-12-19T16:18:28.219573Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ mock_uss (2024-12-19T16:18:28.219626Z)
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.
✅ mock_uss (2024-12-19T16:18:28.234292Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ mock_uss (2024-12-19T16:18:28.248387Z)
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.
✅ mock_uss (2024-12-19T16:18:28.249934Z)
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.
✅ mock_uss (2024-12-19T16:18:28.249977Z)
✅ mock_uss (2024-12-19T16:18:28.250012Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:28.388531Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
The test driver instructs tested_uss to attempt to plan flight 1. tested_uss checks if any conflicts with flight 2 which is of equal priority and came first.
✅ uss2_core (2024-12-19T16:18:28.388480Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:28.259388Z)
✅ uss1_dss (2024-12-19T16:18:28.395118Z)
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.
✅ uss2_core (2024-12-19T16:18:28.395191Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:28.395243Z)
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.
✅ uss2_core (2024-12-19T16:18:28.424694Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:28.437885Z)
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.
✅ uss2_core (2024-12-19T16:18:28.439436Z)
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.
✅ uss2_core (2024-12-19T16:18:28.439491Z)
✅ uss2_core (2024-12-19T16:18:28.439528Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This step verifies that a USS obtained operational intent details from a Mock USS by means of either a notification from the Mock USS (push), or a GET request (operation getOperationalIntentDetails) to the Mock USS.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface.
✅ mock_uss (2024-12-19T16:18:35.451989Z)
SCD0035 requires a USS to verify before transitioning to Accepted that it does not conflict with another operational intent, and the only way to have verified this is by knowing all operational intent details. As such, if the USS was neither notified of the details by the Mock USS, nor did it retrieve them directly from the Mock USS, this check will fail per astm.f3548.v21.SCD0035 Validate that tested_uss obtained flight2 details from mock_uss, by means of either a notification pushed by mock_uss to tested_uss due to the pre-existing subscription, or direct retrieval by tested_uss from mock_uss.
✅ uss2_core (2024-12-19T16:18:35.452217Z)
This step verifies that, when creating or modifying an operational intent, a USS sent the required notification for a relevant subscription owned by a mock_uss instance by checking the interactions of that mock_uss instance.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface.
✅ mock_uss (2024-12-19T16:18:35.461395Z)
As per astm.f3548.v21.SCD0085, the notification should be sent by a USS about its operational intent to the subscribing USS in no more than MaxRespondToSubscriptionNotification (5) seconds, 95 percent of the time. To verify that notification was indeed sent for this check, waiting up to MaxRespondToSubscriptionNotificationSeconds gets us 95 percent confidence in declaring the USS non-compliant if notification is not received. To ensure the notifications sent are not missed for a test case, we can pick a threshold that gives a very high (e.g., 99 percent per test) confidence of non-compliance. We can make conservative assumptions about the distribution of the delays. If we assume that the notification delays have a normal distribution with 95 percentile at 5 seconds, then with the standard deviation of 3.04, we get the 99 percentile at 7.07 seconds. Hence, for test cases that check notification sent for an operational intent, we will wait for notifications till threshold MaxTimeToWaitForSubscriptionNotificationSeconds (rounding to 7 seconds).
As per astm.f3548.v21.SCD0085, MaxRespondToSubscriptionNotification is measured from time_start - Receipt of subscription notification from DSS - till time_end - Entity details sent to subscribing USS. To make sure the test driver gives enough time for notifications to be received by mock_uss, it marks the time to get interactions from mock_uss as - the time test driver initiates the plan. The sequence of events is -
We know from above that waiting from t_time_start for MaxTimeToWaitForSubscriptionNotificationSeconds would give us 99% confidence that we receive the notifications. But, test_driver doesn't have access to t_time_start. So, it starts waiting from a point of time after the t_time_start that is t1. This ensures that test driver waits for a long enough duration before getting the interactions. Hence, we get a high confidence that the test driver correctly verifies if a notification was sent by tested_uss.
✅ uss2_core (2024-12-19T16:18:35.461471Z)
astm.f3548.v21.SCD0085 tested_uss notifies mock_uss of flight 1, due to mock_uss's subscription covering flight 2 (which is necessarily relevant to flight 1 per test design).
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail.
To prepare for the next test case, tested_uss's flight 1 is closed.
✅ uss2_core (2024-12-19T16:18:35.519605Z)
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail.
To prepare for the next test case, mock_uss's flight 2 is closed.
✅ mock_uss (2024-12-19T16:18:35.548893Z)
In this test case, mock_uss is manipulated to share invalid operational intent details which should prevent tested_uss from planning since it cannot verify the absence of a conflict.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ mock_uss (2024-12-19T16:18:35.606424Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
Flight 2 should be successfully planned by the mock_uss.
✅ mock_uss (2024-12-19T16:18:35.606381Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See expect_shared_with_invalid_data
in invalid_op_test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intent references in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:35.559416Z)
✅ uss1_dss (2024-12-19T16:18:35.611539Z)
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.
✅ mock_uss (2024-12-19T16:18:35.611603Z)
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.
✅ mock_uss (2024-12-19T16:18:35.630309Z)
interuss.mock_uss.hosted_instance.ExposeInterface.
Mock USS shares operational intent details with specified invalid data in response for the negative test case as per the GetOperationalIntentDetailsResponse schema of the OpenAPI specification. If the operational intent details from mock_uss does not contain the specified invalid data, this check will fail. It would mean mock_uss is not behaving correctly.
The mock_uss is instructed to share invalid data with other USS, for negative test.
✅ mock_uss (2024-12-19T16:18:35.644283Z)
This page describes the content of a common test case where a valid user flight intent fails in a flight planner, because of invalid data shared for a nearby flight shared by another USS. See plan_flight_intent_expect_failed
in invalid_op_test_steps.py.
A USS shouldn't go ahead and plan if it doesn't have accurate information. As per SCD0035 a USS needs to verify a particular conflict status. If flight intent data shared for a nearby flight shared is invalid, the USS can't successfully perform that verification. It couldn't have obtained valid information about the other operational intents it's supposed to verify that conflict status against. Therefore, the USS should fail an attempt to plan. If the plan succeeds, we know they've violated SCD0035 because they failed to verify that particular conflict status.
The test driver instructs tested_uss to plan flight 1. tested_uss should (per SCD0035) check if any conflicts with flight 2 which is of equal priority and came first. The planning attempt should fail because tested_uss will be unable to obtain valid operational intent details for flight 2.
✅ uss2_core (2024-12-19T16:18:35.724559Z)
This step verifies that a previous attempt to create a flight did not result in a flight being shared with the DSS. It does so by querying the DSS for operational intents in the area of the flight before and after an attempted creation. This assumes an area lock on the extent of the flight intent.
See OpIntentValidator.expect_not_shared()
in test_steps.py.
If the DSS fails to reply to a query concerning operational intent references in a given area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:35.654224Z)
✅ uss1_dss (2024-12-19T16:18:35.730917Z)
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.
Validate flight 1 is not shared with DSS, as plan failed.
✅ uss2_core (2024-12-19T16:18:35.730977Z)
This step verifies that a USS obtained operational intent details from a Mock USS by means of either a notification from the Mock USS (push), or a GET request (operation getOperationalIntentDetails) to the Mock USS.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface.
✅ mock_uss (2024-12-19T16:18:42.743067Z)
SCD0035 requires a USS to verify before transitioning to Accepted that it does not conflict with another operational intent, and the only way to have verified this is by knowing all operational intent details. As such, if the USS was neither notified of the details by the Mock USS, nor did it retrieve them directly from the Mock USS, this check will fail per astm.f3548.v21.SCD0035 Validate that tested_uss obtained flight2 details from mock_uss, by means of either a notification pushed by mock_uss to tested_uss due to the pre-existing subscription, or direct retrieval by tested_uss from mock_uss.
✅ uss2_core (2024-12-19T16:18:42.743295Z)
This step verifies when a flight is not created, it is also not notified by checking the interuss interactions of mock_uss instance.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface.
✅ mock_uss (2024-12-19T16:18:42.751685Z)
interuss.mock_uss.hosted_instance.ExposeInterface.
∅ This check was not applicable to this test run and is therefore not statused.
interuss.f3548.notification_requirements.NoDssEntityNoNotification
As per the above requirement, the notification should not be sent by a USS about an entity that could not be created in DSS to any USS. To verify that notification was indeed not sent, we need to wait and check up to a threshold to get confidence that USS did not send notification. The max duration for sending a notification in SCD0085 is MaxRespondToSubscriptionNotification(5) seconds. However, this duration is from time start - Receipt of subscription notification from DSS, which does not exist for this check. In this check we use time start when the test driver asked the USS to plan the failed flight. When checking notification not sent, we should wait for the same duration that is used for when checking notification sent. Expect Notification sent. So, we plan to use MaxTimeToWaitForSubscriptionNotificationSeconds (7 seconds).
✅ uss2_core (2024-12-19T16:18:42.751745Z)
This page describes the content of a common test case where a flight intent should be successfully deleted by a flight planner.
See delete_flight
in test_steps.py.
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. If the USS indicates a failure, this check will fail. Teardown
✅ mock_uss (2024-12-19T16:18:42.792391Z)
This cleanup is for both - after testcase ends and after test scenario ends interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ uss2_core (2024-12-19T16:18:42.807173Z)
When a USS submits an operational intent to DSS, a subscription is associated with that operational intent in DSS. This subscription can be either an implicit or explicit subscription that covers the area of the operational intent. The subscription helps the USS to be notified of new or modified operations in the area, when its operational intent is in Activated, NonConforming and Contingent states. In this scenario, we will verify that USS under test has a subscription to cover the operational intent area, and receives relevant notifications from other USSes.
This scenario assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
FlightIntentsResource that provides the following flight intents:
Flight intent ID | Flight name | State | Must be relevant, but not intersecting |
---|---|---|---|
flight_1_planned |
Flight 1 | Accepted | Flight 2 |
flight_1_activated |
Activated | ||
flight_2_planned |
Flight 2 | Accepted | Flight 1 |
flight_2_planned_modified |
To reach a situation where Flight 1 and Flight 2 do not intersect but are relevant to each other:
Because the scenario involves activation of intents, all activated intents must be active during the execution of the test scenario. Additionally, their end time must leave sufficient time for the execution of the test scenario. For the sake of simplicity, it is recommended to set the start and end times of all the intents to the same range.
✅ Provided by non_conflicting_flights in top-level resource pool.
MockUSSResource will be used for planning flights in order to send notifications to tested_uss, and gathering interuss interactions from mock_uss.
✅ Provided by mock_uss in top-level resource pool.
FlightPlannerResource that will be used for the USS being tested for its ability to maintain awareness of operational intent.
✅ Provided by instance 1 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
This test case verifies that relevant notifications for new operational intents are received through subscription of an operational intent in Activated state.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:42.895272Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
Flight 1 should be successfully planned by tested_uss.
✅ uss1_core (2024-12-19T16:18:42.895231Z)
✅ uss1_core (2024-12-19T16:18:43.024091Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:42.822155Z)
✅ uss1_dss (2024-12-19T16:18:42.900049Z)
✅ uss1_dss (2024-12-19T16:18:42.938972Z)
✅ uss1_dss (2024-12-19T16:18:43.029444Z)
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.
✅ uss1_core (2024-12-19T16:18:42.900114Z)
✅ uss1_core (2024-12-19T16:18:43.029567Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:43.029542Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:42.900178Z)
✅ uss1_core (2024-12-19T16:18:43.029615Z)
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.
✅ uss1_core (2024-12-19T16:18:42.919944Z)
✅ uss1_core (2024-12-19T16:18:43.048072Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:42.932654Z)
✅ uss1_core (2024-12-19T16:18:43.061104Z)
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.
✅ uss1_core (2024-12-19T16:18:42.934131Z)
✅ uss1_core (2024-12-19T16:18:43.062606Z)
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.
✅ uss1_core (2024-12-19T16:18:42.934180Z)
✅ uss1_core (2024-12-19T16:18:43.062654Z)
✅ uss1_core (2024-12-19T16:18:42.934222Z)
✅ uss1_core (2024-12-19T16:18:43.062696Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss1_core (2024-12-19T16:18:43.024141Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
Flight 1 should be successfully activated by the tested USS.
✅ uss1_core (2024-12-19T16:18:42.895231Z)
✅ uss1_core (2024-12-19T16:18:43.024091Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:42.822155Z)
✅ uss1_dss (2024-12-19T16:18:42.900049Z)
✅ uss1_dss (2024-12-19T16:18:42.938972Z)
✅ uss1_dss (2024-12-19T16:18:43.029444Z)
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.
✅ uss1_core (2024-12-19T16:18:42.900114Z)
✅ uss1_core (2024-12-19T16:18:43.029567Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss1_core (2024-12-19T16:18:43.029542Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss1_core (2024-12-19T16:18:42.900178Z)
✅ uss1_core (2024-12-19T16:18:43.029615Z)
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.
✅ uss1_core (2024-12-19T16:18:42.919944Z)
✅ uss1_core (2024-12-19T16:18:43.048072Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss1_core (2024-12-19T16:18:42.932654Z)
✅ uss1_core (2024-12-19T16:18:43.061104Z)
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.
✅ uss1_core (2024-12-19T16:18:42.934131Z)
✅ uss1_core (2024-12-19T16:18:43.062606Z)
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.
✅ uss1_core (2024-12-19T16:18:42.934180Z)
✅ uss1_core (2024-12-19T16:18:43.062654Z)
✅ uss1_core (2024-12-19T16:18:42.934222Z)
✅ uss1_core (2024-12-19T16:18:43.062696Z)
If:
this check will fail per astm.f3548.v21.USS0105.
While validating that Flight 1 has been shared, we will be able to find the subscription id associated with Flight 1 in DSS. Notifications of relevant flights will be sent to tested_uss using this subscription id.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ mock_uss (2024-12-19T16:18:43.155043Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
The test driver successfully plans Flight 2 via the mock uss, as there is no conflict with Flight 1. However, because they are relevant to each other mock_uss will send Flight 2 notification to tested_uss.
✅ mock_uss (2024-12-19T16:18:43.155001Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:43.068020Z)
✅ uss1_dss (2024-12-19T16:18:43.161344Z)
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.
✅ mock_uss (2024-12-19T16:18:43.161415Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ mock_uss (2024-12-19T16:18:43.161466Z)
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.
✅ mock_uss (2024-12-19T16:18:43.177756Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ mock_uss (2024-12-19T16:18:43.190824Z)
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.
✅ mock_uss (2024-12-19T16:18:43.192361Z)
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.
✅ mock_uss (2024-12-19T16:18:43.192404Z)
✅ mock_uss (2024-12-19T16:18:43.192440Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This step verifies that a Tested USS successfully received a notification about a relevant operational intent from a Mock USS instance. This is done by checking the interactions of that Mock USS instance.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface. Mock USS provides a GET endpoint to retrieve all the interactions that took place between Mock USS and other USSes after a particular time. These interactions also include the notifications sent and received by Mock USS.
✅ mock_uss (2024-12-19T16:18:43.203307Z)
There is an assumption here that DSS shared the correct subscriber information with Mock USS in response to planning or modifying its operational intent.
As per astm.f3548.v21.USS0005, Mock USS should send valid notification to USSes subscribed in the area. The validation of notification involves checking that Mock USS included the correct subscription_id in the notification. The check will fail if the notification to tested USS does not include the expected subscription_id.
✅ mock_uss (2024-12-19T16:18:43.205554Z)
As per astm.f3548.v21.SCD0080, USSes shall maintain awareness of operational intents relevant to their own ones when they are in the Activated, NonConforming or Contingent states. In DSS, there is a subscription associated with an operational intent managed by a USS. A tested USS should successfully receive a notification of relevant intent from Mock USS based on this subscription. The check will be done if valid notification is sent by Mock USS, which is determined in Mock USS sends valid notification check above. This check will fail if tested USS does not respond with http status 204 to a valid notification attempt by Mock USS.
✅ uss1_core (2024-12-19T16:18:43.205606Z)
As per astm.f3548.v21.USS0105, Tested USS should validate that the notification received includes the subscription_id associated with its managed operation. The check will be done if invalid notification is sent by Mock USS, which is determined in Mock USS sends valid notification check above. This check will fail if tested USS does not respond with http status 400 for an invalid notification attempt by Mock USS.
Check a notification was received by tested_uss for Flight 2, with Flight 1's subscription_id.
∅ This check was not applicable to this test run and is therefore not statused.
This test case verifies that relevant notifications for modified operational intents are received through subscription of an operational intent in Activated state.
This page describes the content of a common test case where a valid user flight intent in planned state should be
successfully modified by a flight planner. See modify_planned_flight
in test_steps.py.
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. 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.
✅ mock_uss (2024-12-19T16:18:43.309036Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
The test driver successfully modifies planned Flight 2 via the mock uss, as there is still no conflict with Flight 1. However, because they are relevant to each other mock_uss will send Flight 2 notification to tested_uss.
✅ mock_uss (2024-12-19T16:18:43.308994Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:43.215507Z)
✅ uss1_dss (2024-12-19T16:18:43.316001Z)
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.
✅ mock_uss (2024-12-19T16:18:43.316080Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ mock_uss (2024-12-19T16:18:43.316126Z)
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.
✅ mock_uss (2024-12-19T16:18:43.331106Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ mock_uss (2024-12-19T16:18:43.345871Z)
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.
✅ mock_uss (2024-12-19T16:18:43.347415Z)
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.
✅ mock_uss (2024-12-19T16:18:43.347459Z)
✅ mock_uss (2024-12-19T16:18:43.347494Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This step verifies that a Tested USS successfully received a notification about a relevant operational intent from a Mock USS instance. This is done by checking the interactions of that Mock USS instance.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface. Mock USS provides a GET endpoint to retrieve all the interactions that took place between Mock USS and other USSes after a particular time. These interactions also include the notifications sent and received by Mock USS.
✅ mock_uss (2024-12-19T16:18:43.357647Z)
There is an assumption here that DSS shared the correct subscriber information with Mock USS in response to planning or modifying its operational intent.
As per astm.f3548.v21.USS0005, Mock USS should send valid notification to USSes subscribed in the area. The validation of notification involves checking that Mock USS included the correct subscription_id in the notification. The check will fail if the notification to tested USS does not include the expected subscription_id.
✅ mock_uss (2024-12-19T16:18:43.359755Z)
As per astm.f3548.v21.SCD0080, USSes shall maintain awareness of operational intents relevant to their own ones when they are in the Activated, NonConforming or Contingent states. In DSS, there is a subscription associated with an operational intent managed by a USS. A tested USS should successfully receive a notification of relevant intent from Mock USS based on this subscription. The check will be done if valid notification is sent by Mock USS, which is determined in Mock USS sends valid notification check above. This check will fail if tested USS does not respond with http status 204 to a valid notification attempt by Mock USS.
✅ uss1_core (2024-12-19T16:18:43.359804Z)
As per astm.f3548.v21.USS0105, Tested USS should validate that the notification received includes the subscription_id associated with its managed operation. The check will be done if invalid notification is sent by Mock USS, which is determined in Mock USS sends valid notification check above. This check will fail if tested USS does not respond with http status 400 for an invalid notification attempt by Mock USS.
Check a notification was received by tested_uss for Flight 2, with Flight 1's subscription_id, after modification of the flight.
∅ This check was not applicable to this test run and is therefore not statused.
∅ This test case was not applicable to this test run and is therefore not statused.
∅ This test case was not applicable to this test run and is therefore not statused.
The flights are cleaned up at the end of the test scenario. interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ mock_uss (2024-12-19T16:18:43.394913Z)
✅ uss1_core (2024-12-19T16:18:43.425309Z)
When a USS submits an operational intent to DSS, a subscription is associated with that operational intent in DSS. This subscription can be either an implicit or explicit subscription that covers the area of the operational intent. The subscription helps the USS to be notified of new or modified operations in the area, when its operational intent is in Activated, NonConforming and Contingent states. In this scenario, we will verify that USS under test has a subscription to cover the operational intent area, and receives relevant notifications from other USSes.
This scenario assumes that the area used in the scenario is already clear of any pre-existing flights (using, for instance, PrepareFlightPlanners scenario).
FlightIntentsResource that provides the following flight intents:
Flight intent ID | Flight name | State | Must be relevant, but not intersecting |
---|---|---|---|
flight_1_planned |
Flight 1 | Accepted | Flight 2 |
flight_1_activated |
Activated | ||
flight_2_planned |
Flight 2 | Accepted | Flight 1 |
flight_2_planned_modified |
To reach a situation where Flight 1 and Flight 2 do not intersect but are relevant to each other:
Because the scenario involves activation of intents, all activated intents must be active during the execution of the test scenario. Additionally, their end time must leave sufficient time for the execution of the test scenario. For the sake of simplicity, it is recommended to set the start and end times of all the intents to the same range.
✅ Provided by non_conflicting_flights in top-level resource pool.
MockUSSResource will be used for planning flights in order to send notifications to tested_uss, and gathering interuss interactions from mock_uss.
✅ Provided by mock_uss in top-level resource pool.
FlightPlannerResource that will be used for the USS being tested for its ability to maintain awareness of operational intent.
✅ Provided by instance 2 in flight_planners in top-level resource pool.
DSSInstanceResource that provides access to a DSS instance where flight creation/sharing can be verified.
✅ Provided by dss in top-level resource pool.
This test case verifies that relevant notifications for new operational intents are received through subscription of an operational intent in Activated state.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:43.507482Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
Flight 1 should be successfully planned by tested_uss.
✅ uss2_core (2024-12-19T16:18:43.507437Z)
✅ uss2_core (2024-12-19T16:18:43.728159Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:43.440571Z)
✅ uss1_dss (2024-12-19T16:18:43.512641Z)
✅ uss1_dss (2024-12-19T16:18:43.639938Z)
✅ uss1_dss (2024-12-19T16:18:43.733281Z)
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.
✅ uss2_core (2024-12-19T16:18:43.512713Z)
✅ uss2_core (2024-12-19T16:18:43.733427Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:43.733399Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:43.512769Z)
✅ uss2_core (2024-12-19T16:18:43.733479Z)
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.
✅ uss2_core (2024-12-19T16:18:43.532071Z)
✅ uss2_core (2024-12-19T16:18:43.751624Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:43.632891Z)
✅ uss2_core (2024-12-19T16:18:43.765091Z)
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.
✅ uss2_core (2024-12-19T16:18:43.634432Z)
✅ uss2_core (2024-12-19T16:18:43.766665Z)
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.
✅ uss2_core (2024-12-19T16:18:43.634483Z)
✅ uss2_core (2024-12-19T16:18:43.766715Z)
✅ uss2_core (2024-12-19T16:18:43.634527Z)
✅ uss2_core (2024-12-19T16:18:43.766759Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test step where a valid user flight intent should be successfully activated by a flight planner. See activate_flight_intent
in test_steps.py.
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.
✅ uss2_core (2024-12-19T16:18:43.728202Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
Flight 1 should be successfully activated by the tested USS.
✅ uss2_core (2024-12-19T16:18:43.507437Z)
✅ uss2_core (2024-12-19T16:18:43.728159Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:43.440571Z)
✅ uss1_dss (2024-12-19T16:18:43.512641Z)
✅ uss1_dss (2024-12-19T16:18:43.639938Z)
✅ uss1_dss (2024-12-19T16:18:43.733281Z)
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.
✅ uss2_core (2024-12-19T16:18:43.512713Z)
✅ uss2_core (2024-12-19T16:18:43.733427Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
✅ uss2_core (2024-12-19T16:18:43.733399Z)
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ uss2_core (2024-12-19T16:18:43.512769Z)
✅ uss2_core (2024-12-19T16:18:43.733479Z)
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.
✅ uss2_core (2024-12-19T16:18:43.532071Z)
✅ uss2_core (2024-12-19T16:18:43.751624Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ uss2_core (2024-12-19T16:18:43.632891Z)
✅ uss2_core (2024-12-19T16:18:43.765091Z)
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.
✅ uss2_core (2024-12-19T16:18:43.634432Z)
✅ uss2_core (2024-12-19T16:18:43.766665Z)
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.
✅ uss2_core (2024-12-19T16:18:43.634483Z)
✅ uss2_core (2024-12-19T16:18:43.766715Z)
✅ uss2_core (2024-12-19T16:18:43.634527Z)
✅ uss2_core (2024-12-19T16:18:43.766759Z)
If:
this check will fail per astm.f3548.v21.USS0105.
While validating that Flight 1 has been shared, we will be able to find the subscription id associated with Flight 1 in DSS. Notifications of relevant flights will be sent to tested_uss using this subscription id.
∅ This check was not applicable to this test run and is therefore not statused.
This page describes the content of a common test case where a valid user flight intent should be successfully planned by a flight planner. See plan_flight_intent
in test_steps.py.
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.
✅ mock_uss (2024-12-19T16:18:43.860546Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
The test driver successfully plans Flight 2 via the mock uss, as there is no conflict with Flight 1. However, because they are relevant to each other mock_uss will send Flight 2 notification to tested_uss.
✅ mock_uss (2024-12-19T16:18:43.860500Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:43.772350Z)
✅ uss1_dss (2024-12-19T16:18:43.866686Z)
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.
✅ mock_uss (2024-12-19T16:18:43.866754Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ mock_uss (2024-12-19T16:18:43.866805Z)
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.
✅ mock_uss (2024-12-19T16:18:43.884713Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ mock_uss (2024-12-19T16:18:43.897918Z)
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.
✅ mock_uss (2024-12-19T16:18:43.899514Z)
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.
✅ mock_uss (2024-12-19T16:18:43.899557Z)
✅ mock_uss (2024-12-19T16:18:43.899594Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This step verifies that a Tested USS successfully received a notification about a relevant operational intent from a Mock USS instance. This is done by checking the interactions of that Mock USS instance.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface. Mock USS provides a GET endpoint to retrieve all the interactions that took place between Mock USS and other USSes after a particular time. These interactions also include the notifications sent and received by Mock USS.
✅ mock_uss (2024-12-19T16:18:43.910750Z)
There is an assumption here that DSS shared the correct subscriber information with Mock USS in response to planning or modifying its operational intent.
As per astm.f3548.v21.USS0005, Mock USS should send valid notification to USSes subscribed in the area. The validation of notification involves checking that Mock USS included the correct subscription_id in the notification. The check will fail if the notification to tested USS does not include the expected subscription_id.
✅ mock_uss (2024-12-19T16:18:43.912731Z)
As per astm.f3548.v21.SCD0080, USSes shall maintain awareness of operational intents relevant to their own ones when they are in the Activated, NonConforming or Contingent states. In DSS, there is a subscription associated with an operational intent managed by a USS. A tested USS should successfully receive a notification of relevant intent from Mock USS based on this subscription. The check will be done if valid notification is sent by Mock USS, which is determined in Mock USS sends valid notification check above. This check will fail if tested USS does not respond with http status 204 to a valid notification attempt by Mock USS.
✅ uss2_core (2024-12-19T16:18:43.912776Z)
As per astm.f3548.v21.USS0105, Tested USS should validate that the notification received includes the subscription_id associated with its managed operation. The check will be done if invalid notification is sent by Mock USS, which is determined in Mock USS sends valid notification check above. This check will fail if tested USS does not respond with http status 400 for an invalid notification attempt by Mock USS.
Check a notification was received by tested_uss for Flight 2, with Flight 1's subscription_id.
∅ This check was not applicable to this test run and is therefore not statused.
This test case verifies that relevant notifications for modified operational intents are received through subscription of an operational intent in Activated state.
This page describes the content of a common test case where a valid user flight intent in planned state should be
successfully modified by a flight planner. See modify_planned_flight
in test_steps.py.
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. 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.
✅ mock_uss (2024-12-19T16:18:44.009297Z)
All flight intent data provided was complete and correct. It should have been processed successfully, allowing the USS to reject or accept the flight. If the USS indicates that the injection attempt failed, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
The test driver successfully modifies planned Flight 2 via the mock uss, as there is still no conflict with Flight 1. However, because they are relevant to each other mock_uss will send Flight 2 notification to tested_uss.
✅ mock_uss (2024-12-19T16:18:44.009256Z)
This step verifies that a created flight is shared properly per ASTM F3548-21 by querying the DSS for flights in the area of the flight intent, and then retrieving the details from the USS if the operational intent reference is found. See OpIntentValidator.expect_shared()
in test_steps.py.
If the DSS fails to properly respond to a valid search query for operational intents in an area, it is in violation of astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:43.922493Z)
✅ uss1_dss (2024-12-19T16:18:44.015600Z)
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.
✅ mock_uss (2024-12-19T16:18:44.015671Z)
If an activated operational intent is expected to exist after it has been modified or activated and that it is not found in the DSS, this means that there is an active flight without a corresponding operational intent, then this check will fail per interuss.automated_testing.flight_planning.FlightCoveredByOperationalIntent.
∅ This check was not applicable to this test run and is therefore not statused.
If the state of the operational intent found in the DSS does not match the user's flight intent, this check will fail per interuss.automated_testing.flight_planning.ExpectedBehavior.
✅ mock_uss (2024-12-19T16:18:44.015717Z)
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.
✅ mock_uss (2024-12-19T16:18:44.032023Z)
If the operational intent details response does not validate against the GetOperationalIntentDetailsResponse schema of the OpenAPI specification, this check fill fail per astm.f3548.v21.USS0105.
✅ mock_uss (2024-12-19T16:18:44.045347Z)
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.
✅ mock_uss (2024-12-19T16:18:44.047043Z)
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.
✅ mock_uss (2024-12-19T16:18:44.047088Z)
✅ mock_uss (2024-12-19T16:18:44.047124Z)
If:
this check will fail per astm.f3548.v21.USS0105.
∅ This check was not applicable to this test run and is therefore not statused.
This step verifies that a Tested USS successfully received a notification about a relevant operational intent from a Mock USS instance. This is done by checking the interactions of that Mock USS instance.
This step obtains interactions of interest from mock_uss.
The Mock USSes provide a GET endpoint to retrieve all the interactions that took place between them and other USSes after a particular time. If there is any error retrieving these interactions, this check will fail as per interuss.mock_uss.hosted_instance.ExposeInterface. Mock USS provides a GET endpoint to retrieve all the interactions that took place between Mock USS and other USSes after a particular time. These interactions also include the notifications sent and received by Mock USS.
✅ mock_uss (2024-12-19T16:18:44.057389Z)
There is an assumption here that DSS shared the correct subscriber information with Mock USS in response to planning or modifying its operational intent.
As per astm.f3548.v21.USS0005, Mock USS should send valid notification to USSes subscribed in the area. The validation of notification involves checking that Mock USS included the correct subscription_id in the notification. The check will fail if the notification to tested USS does not include the expected subscription_id.
✅ mock_uss (2024-12-19T16:18:44.059411Z)
As per astm.f3548.v21.SCD0080, USSes shall maintain awareness of operational intents relevant to their own ones when they are in the Activated, NonConforming or Contingent states. In DSS, there is a subscription associated with an operational intent managed by a USS. A tested USS should successfully receive a notification of relevant intent from Mock USS based on this subscription. The check will be done if valid notification is sent by Mock USS, which is determined in Mock USS sends valid notification check above. This check will fail if tested USS does not respond with http status 204 to a valid notification attempt by Mock USS.
✅ uss2_core (2024-12-19T16:18:44.059459Z)
As per astm.f3548.v21.USS0105, Tested USS should validate that the notification received includes the subscription_id associated with its managed operation. The check will be done if invalid notification is sent by Mock USS, which is determined in Mock USS sends valid notification check above. This check will fail if tested USS does not respond with http status 400 for an invalid notification attempt by Mock USS.
Check a notification was received by tested_uss for Flight 2, with Flight 1's subscription_id, after modification of the flight.
∅ This check was not applicable to this test run and is therefore not statused.
∅ This test case was not applicable to this test run and is therefore not statused.
∅ This test case was not applicable to this test run and is therefore not statused.
The flights are cleaned up at the end of the test scenario. interuss.automated_testing.flight_planning.DeleteFlightSuccess
✅ mock_uss (2024-12-19T16:18:44.095934Z)
✅ uss2_core (2024-12-19T16:18:44.125400Z)
This instance of this test scenario was skipped in this test run because: AuthAdapterResource provided to monitoring.uss_qualifier.resources.astm.f3548.v21.dss.DSSInstanceResource is not declared (in its resource specification) as authorized to obtain scope utm.conformance_monitoring_sa
which it requires to create operational intent references in an off-nominal state. Update scopes_authorized
to include utm.conformance_monitoring_sa
to provide this authorization. 7 scopes currently declared as authorized for AuthAdapterResource: , utm.availability_arbitration, interuss.flight_planning.plan, interuss.versioning.read_system_versions, interuss.flight_planning.direct_automated_test, utm.constraint_management, utm.strategic_coordination
This instance of this test scenario was skipped in this test run because: AuthAdapterResource provided to monitoring.uss_qualifier.resources.astm.f3548.v21.dss.DSSInstanceResource is not declared (in its resource specification) as authorized to obtain scope utm.conformance_monitoring_sa
which it requires to create operational intent references in an off-nominal state. Update scopes_authorized
to include utm.conformance_monitoring_sa
to provide this authorization. 7 scopes currently declared as authorized for AuthAdapterResource: , utm.availability_arbitration, interuss.flight_planning.plan, interuss.versioning.read_system_versions, interuss.flight_planning.direct_automated_test, utm.constraint_management, utm.strategic_coordination
This scenario prepares flight planner systems for execution of controlled test scenarios by checking planner systems' readiness and having them remove any existing flights that may already be in the test area.
FlightPlannersResource listing all USSs undergoing planning tests so that they can be checked for readiness and instructed to remove any existing flights from the area in this scenario.
✅ Provided by flight_planners in top-level resource pool.
(Optional) MockUSSResource is checked for readiness and instructed to remove any existing flights from the area in this scenario.
✅ Provided by mock_uss in top-level resource pool.
DSSInstanceResource to check for lingering operational intents after the area has been cleared.
✅ Provided by dss in top-level resource pool.
FlightIntentsResource containing flight intents that will be used in subsequent tests, so all planners should be instructed to clear any area involved with any of these intents of flights it manages.
✅ Provided by invalid_flight_intents in top-level resource pool.
(Optional) If more than one FlightIntentsResource will be used in subsequent tests, additional intents may be specified with this resource.
∅ This resource was not applicable to this test run and was therefore not provided.
(Optional) If more than one FlightIntentsResource will be used in subsequent tests, additional intents may be specified with this resource.
✅ Provided by conflicting_flights in top-level resource pool.
(Optional) If more than one FlightIntentsResource will be used in subsequent tests, additional intents may be specified with this resource.
✅ Provided by non_conflicting_flights in top-level resource pool.
All USSs are queried for their readiness to ensure later tests can proceed.
interuss.automated_testing.flight_planning.ImplementAPI
✅ uss1_core (2024-12-19T16:18:44.134104Z)
✅ uss2_core (2024-12-19T16:18:44.141758Z)
✅ mock_uss (2024-12-19T16:18:44.149204Z)
This readiness indicates the USS's ability to inject test data, so if this check fails, not only has the USS not met interuss.automated_testing.flight_planning.Readiness, but it also does not meet astm.f3548.v21.GEN0310.
✅ uss1_core (2024-12-19T16:18:44.134188Z)
✅ uss2_core (2024-12-19T16:18:44.141845Z)
✅ mock_uss (2024-12-19T16:18:44.149285Z)
All USSs are requested to remove all flights from the area under test.
interuss.automated_testing.flight_planning.ImplementAPI
✅ uss1_core (2024-12-19T16:18:44.176741Z)
✅ uss2_core (2024-12-19T16:18:44.204561Z)
✅ mock_uss (2024-12-19T16:18:44.229011Z)
✅ uss1_core (2024-12-19T16:18:44.256647Z)
✅ uss2_core (2024-12-19T16:18:44.283899Z)
✅ mock_uss (2024-12-19T16:18:44.307310Z)
✅ uss1_core (2024-12-19T16:18:44.335172Z)
✅ uss2_core (2024-12-19T16:18:44.362687Z)
✅ mock_uss (2024-12-19T16:18:44.385921Z)
interuss.automated_testing.flight_planning.ClearArea
✅ uss1_core (2024-12-19T16:18:44.176809Z)
✅ uss2_core (2024-12-19T16:18:44.204644Z)
✅ mock_uss (2024-12-19T16:18:44.229111Z)
✅ uss1_core (2024-12-19T16:18:44.256736Z)
✅ uss2_core (2024-12-19T16:18:44.284000Z)
✅ mock_uss (2024-12-19T16:18:44.307447Z)
✅ uss1_core (2024-12-19T16:18:44.335281Z)
✅ uss2_core (2024-12-19T16:18:44.362805Z)
✅ mock_uss (2024-12-19T16:18:44.386038Z)
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
✅ uss1_dss (2024-12-19T16:18:44.390889Z)
✅ uss1_dss (2024-12-19T16:18:44.394560Z)
✅ uss1_dss (2024-12-19T16:18:44.398257Z)
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
This step examines whether any operational intents remain. If any foreign (other than uss_qualifier-owned) operational intents remain, then this step's checks will fail. If any uss_qualifier-owned operational intents remain, the checks for this step do not fail but instead we proceed to the next test case. If the area is clear, we skip the next test case.
✅ (2024-12-19T16:18:44.390998Z)
✅ (2024-12-19T16:18:44.394655Z)
✅ (2024-12-19T16:18:44.398380Z)
∅ This test case was not applicable to this test run and is therefore not statused.
In addition to foreign flight planners, uss_qualifier may have left operational intents in the DSS from an incomplete previous run. This test case attempts to clean them up if they exist. If there are no operational intents from uss_qualifier in the flight intent areas, this test case will be skipped.
Ensure a clean workspace for testing interactions with a DSS by removing any operational intent references from the DSS that may have been left behind from testing efforts.
If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
A client with valid credentials should be allowed to search for operational intents in a given area. Otherwise, the DSS is not in compliance with astm.f3548.v21.DSS0005,2.
If an existing operational intent cannot be deleted when providing the proper ID and OVN, the DSS implementation is in violation of astm.f3548.v21.DSS0005,1.
The operational intent references managed by uss_qualifier discovered in the previous test case are removed.
uss_qualifier verifies with the DSS that there are no operational intents remaining in the area.
If the DSS fails to reply to a query concerning operational intent references in a given area, or fails to allow the deletion of an operational intent from its own creator, it is in violation of astm.f3548.v21.DSS0005,1 or astm.f3548.v21.DSS0005,2, and this check will fail.
If operational intents exist in the 4D area(s) that should be clear, then the current state of the test environment is not suitable to conduct tests so this check will fail.
After removing the operational intents of all flight planning participants previously, and just having attempted to remove uss_qualifier-owned operational intents, the area should now be fully clear.
ASTM F3548-21 GEN0305 requires that the USS's test system (provided per GEN0300) uses the currently deployed software version except when testing an update. This scenario checks the test and production versions of all participants' systems and ensures that no more than one participant's test system (presumably the participant who is testing an update) has a different version than their production system.
A VersionProvidersResource
containing the means by which to query test-environment system versions for each applicable participant.
✅ Provided by test_env_version_providers in top-level resource pool.
A VersionProvidersResource
containing the means by which to query production-environment system versions for each applicable participant.
✅ Provided by prod_env_version_providers in top-level resource pool.
A SystemIdentityResource
indicating the identity of the system for which to query the version from all providers.
✅ Provided by system_identity in suites.astm.utm.f3548_21.
Each version provider is queried for the version of its system (identified by system_identity) in the test environment.
If a valid response is not received from a version provider, they will have failed to meet versioning.ReportSystemVersion.
✅ uss1_core (2024-12-19T16:18:44.406811Z)
✅ uss2_core (2024-12-19T16:18:44.414410Z)
Each version provider is queried for the version of its system (identified by system_identity) in the production environment.
If a valid response is not received from a version provider, they will have failed to meet versioning.ReportSystemVersion.
✅ uss1_core (2024-12-19T16:18:44.421712Z)
✅ uss2_core (2024-12-19T16:18:44.428816Z)
Per GEN0305, a participant may temporarily have a different software version in the test environment than in production in order to test that new software version. But, as the purpose of testing is to ensure continued compliance and interoperation with other participants' systems that have already been demonstrated functional, if two or more participants have differing software versions between the test and production environments, at least one of these participants will have failed to meet astm.f3548.v21.GEN0305.
✅ uss1_core, uss2_core (2024-12-19T16:18:44.428976Z)
For participants not testing a new software version, their test-environment software version must match their production-environment software version or that participant does not meet astm.f3548.v21.GEN0305.
✅ uss1_core (2024-12-19T16:18:44.428914Z)
✅ uss2_core (2024-12-19T16:18:44.428946Z)
If the system version reported by a participant at one point during the test run is different from the system version reported by that participant at a different point during the test run, that participant cannot meet astm.f3548.v21.GEN0305 because the test environment and production environment system versions cannot be compared because the version in at least one of those environments does not have a consistent value.
✅ uss1_core (2024-12-19T16:18:44.429197Z)
✅ uss2_core (2024-12-19T16:18:44.429371Z)
In this special scenario, the report of previously executed ASTM F3548 UTM scenario(s) are evaluated for the performances of the queries made during their execution.
The flight planners subject to evaluation.
✅ Provided by flight_planners in top-level resource pool.
In this step, all successful requests for operational intent details made to the USSs that are part of the flight planners provided as resource are used to determine and evaluate the 95th percentile of the requests durations.
If the 95th percentile of the requests durations is higher than the threshold MaxRespondToOIDetailsRequest
(1 second),
this check will fail per astm.f3548.v21.SCD0075.
✅ uss1_core (2024-12-19T16:18:44.439053Z)
✅ uss2_core (2024-12-19T16:18:44.439514Z)
This step verifies that interactions with the interoperability test instances happened and where at least partly successful.
This check ensures that interactions with the interoperability test instance that each USS must provide are possible.
If all interactions fail, or if no test instance can be reached, the USS is failing to meet astm.f3548.v21.GEN0300.
If no interaction with a test instance was found, this check is skipped.
✅ uss1_core (2024-12-19T16:18:44.440077Z)
✅ uss2_core (2024-12-19T16:18:44.440347Z)