-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[uss_qualifier] fragments+validation code for operational intent references (CRUD & synchronization) #535
Merged
BenjaminPelletier
merged 2 commits into
interuss:main
from
Orbitalize:dss0210-oir-fragments
Mar 20, 2024
Merged
[uss_qualifier] fragments+validation code for operational intent references (CRUD & synchronization) #535
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/crud/create.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Create operational intent reference test step fragment | ||
|
||
This test step fragment validates that operational intent references can be created | ||
|
||
## 🛑 Create operational intent reference query succeeds check | ||
|
||
As per **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**, 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. | ||
|
||
## 🛑 Create operational intent reference response format conforms to spec check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## 🛑 Create operational intent reference response content is correct check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
This check will usually be performing a series of sub-checks from the [validate](../validate) fragments. |
20 changes: 20 additions & 0 deletions
20
monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/crud/delete.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Delete operational intent reference test step fragment | ||
|
||
This test step fragment validates that operational intent references can be deleted | ||
|
||
## 🛑 Delete operational intent reference query succeeds check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## 🛑 Delete operational intent reference response format conforms to spec check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## 🛑 Delete operational intent reference response content is correct check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
This check will usually be performing a series of sub-checks from the [validate](../validate) fragments. |
27 changes: 27 additions & 0 deletions
27
monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/crud/read.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Read operational intent reference test step fragment | ||
|
||
This test step fragment validates that operational intent references can be read | ||
|
||
## 🛑 Get operational intent reference by ID check | ||
|
||
If an operational intent reference cannot be queried using its ID, the DSS is failing to meet **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## 🛑 Get operational intent reference response format conforms to spec check | ||
|
||
The response to a successful get operational intent 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,1](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## 🛑 Successful operational intent reference search query check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## 🛑 Search operational intent reference response format conforms to spec check | ||
|
||
The response to a successful operational intent 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,1](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## 🛑 Created operational intent reference is in search results check | ||
|
||
If the existing operational intent 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,2](../../../../../../../requirements/astm/f3548/v21.md)**. |
20 changes: 20 additions & 0 deletions
20
monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/crud/update.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Update operational intent reference test step fragment | ||
|
||
This test step fragment validates that operational intent references can be updated. | ||
|
||
## 🛑 Mutate operational intent reference query succeeds check | ||
|
||
As per **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**, the DSS API must allow callers to mutate an operational intent reference. | ||
|
||
## 🛑 Mutate operational intent reference response format conforms to spec check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## 🛑 Mutate operational intent reference response content is correct check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
This check will usually be performing a series of sub-checks from the [validate](../validate) fragments. |
33 changes: 33 additions & 0 deletions
33
monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/sync.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Synchronize operational intent reference test step fragment | ||
|
||
This test step fragment validates that operational intent references are properly synchronized across a set of DSS instances. | ||
|
||
## 🛑 Operational intent reference can be found at every DSS check | ||
|
||
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, | ||
may be failing to implement **[astm.f3548.v21.DSS0210,2a](../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Propagated operational intent reference contains the correct manager check | ||
|
||
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, may be failing to implement **[astm.f3548.v21.DSS0210,2b](../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Propagated operational intent reference contains the correct USS base URL check | ||
|
||
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, may be failing to implement **[astm.f3548.v21.DSS0210,2c](../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Propagated operational intent reference contains the correct state check | ||
|
||
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, may be failing to implement **[astm.f3548.v21.DSS0210,2d](../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Propagated operational intent reference contains the correct start time check | ||
|
||
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, may be failing to implement **[astm.f3548.v21.DSS0210,2f](../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Propagated operational intent reference contains the correct end time check | ||
|
||
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, may be failing to implement **[astm.f3548.v21.DSS0210,2f](../../../../../../requirements/astm/f3548/v21.md)**. |
53 changes: 53 additions & 0 deletions
53
...ring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/validate/correctness.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Validate the content of an operational intent reference test step fragment | ||
|
||
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](../../../validators/oir_validator.py) class. | ||
|
||
## ⚠️ Returned operational intent reference ID is correct check | ||
|
||
If the returned operational intent reference ID does not correspond to the one specified in the creation parameters, | ||
**[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)** is not respected. | ||
|
||
## ⚠️ Returned operational intent reference has a manager check | ||
|
||
If the returned operational intent reference has no manager defined, **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)** is not respected. | ||
|
||
## ⚠️ Returned operational intent reference manager is correct check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Returned operational intent reference state is correct check | ||
|
||
The returned state must be the same as the provided one, otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Returned operational intent reference has an USS base URL check | ||
|
||
If the returned operational intent reference has no USS base URL defined, **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)** is not respected. | ||
|
||
## ⚠️ Returned operational intent reference base URL is correct check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Returned operational intent reference has a start time check | ||
|
||
If the returned operational intent reference has no start time defined, **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)** is not respected. | ||
|
||
## ⚠️ Returned start time is correct check | ||
|
||
The returned start time must be the same as the provided one, otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Returned operational intent reference has an end time check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Returned end time is correct check | ||
|
||
The returned end time must be the same as the provided one, otherwise the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Returned operational intent reference has a version check | ||
|
||
If the returned operational intent reference has no version defined, **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)** is not respected. |
14 changes: 14 additions & 0 deletions
14
monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/validate/mutated.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Validate mutated operational intent reference test step fragment | ||
|
||
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](../../../validators/oir_validator.py) class. | ||
|
||
## ⚠️ Mutated operational intent reference version is updated check | ||
|
||
Following a mutation, the DSS needs to update the operational intent reference version, otherwise it is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Mutated operational intent reference OVN is updated check | ||
|
||
Following a mutation, the DSS needs to update the operational intent reference OVN, otherwise it is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**. |
14 changes: 14 additions & 0 deletions
14
...ring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/validate/non_mutated.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Validate non-mutated operational intent reference test step fragment | ||
|
||
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](../../../validators/oir_validator.py) class. | ||
|
||
## ⚠️ Non-mutated operational intent reference keeps the same version check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. | ||
|
||
## ⚠️ Non-mutated operational intent reference keeps the same OVN check | ||
|
||
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](../../../../../../../requirements/astm/f3548/v21.md)**. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Certainly failing this check is high severity since none of the following checks can be performed if this check fails. However, why are any of the checks following this one high severity? It seems like the test can easily proceed if any of the other checks in this fragment fail