Commit 1ac5df20 authored by Trishna Saeharaseelan's avatar Trishna Saeharaseelan
Browse files

fix: lint & black

parent ef3194b2
...@@ -86,5 +86,10 @@ mission_plan_schema = { ...@@ -86,5 +86,10 @@ mission_plan_schema = {
"items": action_schema, "items": action_schema,
}, },
}, },
"required": ["message_type", "autonomy_engine_plan_ID", "platform_ID", "plan"], "required": [
"message_type",
"autonomy_engine_plan_ID",
"platform_ID",
"plan",
],
} }
...@@ -59,11 +59,11 @@ platform_status_schema = { ...@@ -59,11 +59,11 @@ platform_status_schema = {
"example": "2022-12-21T00:00:00Z", "example": "2022-12-21T00:00:00Z",
}, },
"platform_state": { "platform_state": {
"type": "string", # TODO: Define enum with potential STATES of each platform "type": "string",
"description": "Current state executed by platform. E.g. " "description": "Current state executed by platform. E.g. "
+ "STOP, IDLE, ABORT.", + "STOP, IDLE, ABORT.",
"example": "ABORT", "example": "ABORT",
}, }, # TODO: Define enum with potential STATES of each platform
"autonomy_engine_plan_ID": { "autonomy_engine_plan_ID": {
"type": "integer", "type": "integer",
"description": "Last mission plan ID (according to Autonomy" "description": "Last mission plan ID (according to Autonomy"
......
...@@ -31,7 +31,9 @@ swagger_config = { ...@@ -31,7 +31,9 @@ swagger_config = {
"schemas": { "schemas": {
"MESSAGE": { "MESSAGE": {
"type": "object", "type": "object",
"description": "Full message definition with message-metadata in `header` and different message type schemas under `payload`", "description": "Full message definition with"
+ " message-metadata in `header` and different"
+ " message type schemas under `payload`",
"properties": { "properties": {
"header": { "header": {
"$ref": "#/components/schemas/header", "$ref": "#/components/schemas/header",
...@@ -46,17 +48,18 @@ swagger_config = { ...@@ -46,17 +48,18 @@ swagger_config = {
"mapping": { "mapping": {
"mission_plan": "#/components/schemas/mission_plan", "mission_plan": "#/components/schemas/mission_plan",
"observation": "#/components/schemas/observation", "observation": "#/components/schemas/observation",
"planning_configuration": "#/components/schemas/planning_configuration", "planning_configuration": "#/components/schemas/"
+ "planning_configuration",
"platform_status": "#/components/schemas/platform_status", "platform_status": "#/components/schemas/platform_status",
"acknowledgement": "#/components/schemas/acknowledgement", "acknowledgement": "#/components/schemas/acknowledgement",
}, },
}, },
"oneOf": [ "oneOf": [
{"$ref": "#/components/schemas/" + "acknowledgement"}, {"$ref": "#/components/schemas/acknowledgement"},
{"$ref": "#/components/schemas/" + "mission_plan"}, {"$ref": "#/components/schemas/mission_plan"},
{"$ref": "#/components/schemas/" + "observation"}, {"$ref": "#/components/schemas/observation"},
{"$ref": "#/components/schemas/" + "planning_configuration"}, {"$ref": "#/components/schemas/planning_configuration"},
{"$ref": "#/components/schemas/" + "platform_status"}, {"$ref": "#/components/schemas/platform_status"},
], ],
}, },
"header": message_header, "header": message_header,
......
...@@ -158,7 +158,12 @@ mission_plan_schema = { ...@@ -158,7 +158,12 @@ mission_plan_schema = {
"items": action_schema, "items": action_schema,
}, },
}, },
"required": ["message_type", "autonomy_engine_plan_ID", "platform_ID", "plan"], "required": [
"message_type",
"autonomy_engine_plan_ID",
"platform_ID",
"plan",
],
} }
...@@ -460,7 +465,7 @@ platform_status_schema = { ...@@ -460,7 +465,7 @@ platform_status_schema = {
"example": "2022-12-21T00:00:00Z", "example": "2022-12-21T00:00:00Z",
}, },
"platform_state": { "platform_state": {
"type": "string", # TODO: Define enum with potential STATES of each platform "type": "string",
"description": "Current state executed by platform. E.g. " "description": "Current state executed by platform. E.g. "
+ "STOP, IDLE, ABORT.", + "STOP, IDLE, ABORT.",
"example": "ABORT", "example": "ABORT",
......
from openapi_spec_validator import openapi_v30_spec_validator, openapi_v3_spec_validator from openapi_spec_validator import openapi_v30_spec_validator
from openapi_spec_validator.readers import read_from_filename from openapi_spec_validator.readers import read_from_filename
from openapi_schema_validator import validate from openapi_schema_validator import validate
from jsonschema import FormatChecker from jsonschema import FormatChecker
from jsonschema import validate
import unittest
from tests.fixtures.schemas import ( from tests.fixtures.schemas import (
acknowledgement_schema, acknowledgement_schema,
message_header, message_header,
...@@ -14,6 +10,7 @@ from tests.fixtures.schemas import ( ...@@ -14,6 +10,7 @@ from tests.fixtures.schemas import (
platform_status_schema, platform_status_schema,
mission_plan_schema, mission_plan_schema,
) )
import unittest
import json import json
...@@ -37,21 +34,35 @@ class TestSchema(unittest.TestCase): ...@@ -37,21 +34,35 @@ class TestSchema(unittest.TestCase):
mock_data = json.load(f) mock_data = json.load(f)
header_data = mock_data["header"] header_data = mock_data["header"]
payload_data = mock_data["payload"] payload_data = mock_data["payload"]
self.assertIsNone(validate(header_data, message_header, format_checker=FormatChecker())) self.assertIsNone(
validate(
header_data,
message_header,
format_checker=FormatChecker(),
)
)
if item == "acknowledgement": if item == "acknowledgement":
self.assertIsNone( self.assertIsNone(
validate( validate(
payload_data, acknowledgement_schema, format_checker=FormatChecker() payload_data,
acknowledgement_schema,
format_checker=FormatChecker(),
) )
) )
elif item == "mission_plan": elif item == "mission_plan":
self.assertIsNone( self.assertIsNone(
validate(payload_data, mission_plan_schema, format_checker=FormatChecker()) validate(
payload_data,
mission_plan_schema,
format_checker=FormatChecker(),
)
) )
elif item == "platform_status": elif item == "platform_status":
self.assertIsNone( self.assertIsNone(
validate( validate(
payload_data, platform_status_schema, format_checker=FormatChecker() payload_data,
platform_status_schema,
format_checker=FormatChecker(),
) )
) )
...@@ -65,7 +76,13 @@ class TestSchema(unittest.TestCase): ...@@ -65,7 +76,13 @@ class TestSchema(unittest.TestCase):
mock_data = json.load(f) mock_data = json.load(f)
header_data = mock_data["header"] header_data = mock_data["header"]
payload_data = mock_data["payload"] payload_data = mock_data["payload"]
self.assertIsNone(validate(header_data, message_header, format_checker=FormatChecker())) self.assertIsNone(
validate(
header_data,
message_header,
format_checker=FormatChecker(),
)
)
if item == "planning_configuration": if item == "planning_configuration":
self.assertIsNone( self.assertIsNone(
validate( validate(
...@@ -90,26 +107,44 @@ class TestSchema(unittest.TestCase): ...@@ -90,26 +107,44 @@ class TestSchema(unittest.TestCase):
mock_data = json.load(f) mock_data = json.load(f)
header_data = mock_data["header"] header_data = mock_data["header"]
payload_data = mock_data["payload"] payload_data = mock_data["payload"]
self.assertIsNone(validate(header_data, message_header, format_checker=FormatChecker())) self.assertIsNone(
validate(
header_data,
message_header,
format_checker=FormatChecker(),
)
)
if item == "platform_status-from_usbl_example.json": if item == "platform_status-from_usbl_example.json":
self.assertIsNone( self.assertIsNone(
validate( validate(
payload_data, platform_status_schema, format_checker=FormatChecker() payload_data,
platform_status_schema,
format_checker=FormatChecker(),
) )
) )
elif item == "mission_plan": elif item == "mission_plan":
self.assertIsNone( self.assertIsNone(
validate(payload_data, mission_plan_schema, format_checker=FormatChecker()) validate(
payload_data,
mission_plan_schema,
format_checker=FormatChecker(),
)
) )
elif item == "platform_status": elif item == "platform_status":
self.assertIsNone( self.assertIsNone(
validate( validate(
payload_data, platform_status_schema, format_checker=FormatChecker() payload_data,
platform_status_schema,
format_checker=FormatChecker(),
) )
) )
elif item == "observation": elif item == "observation":
self.assertIsNone( self.assertIsNone(
validate(payload_data, observation_schema, format_checker=FormatChecker()) validate(
payload_data,
observation_schema,
format_checker=FormatChecker(),
)
) )
def test_sample_autonomy_engine_messages(self): def test_sample_autonomy_engine_messages(self):
...@@ -130,34 +165,60 @@ class TestSchema(unittest.TestCase): ...@@ -130,34 +165,60 @@ class TestSchema(unittest.TestCase):
mock_data = json.load(f) mock_data = json.load(f)
header_data = mock_data["header"] header_data = mock_data["header"]
payload_data = mock_data["payload"] payload_data = mock_data["payload"]
self.assertIsNone(validate(header_data, message_header, format_checker=FormatChecker())) self.assertIsNone(
validate(
header_data,
message_header,
format_checker=FormatChecker(),
)
)
if item == "platform_status-from_usbl_example.json": if item == "platform_status-from_usbl_example.json":
self.assertIsNone( self.assertIsNone(
validate( validate(
payload_data, platform_status_schema, format_checker=FormatChecker() payload_data,
platform_status_schema,
format_checker=FormatChecker(),
) )
) )
elif item == "mission_plan_AH1": elif item == "mission_plan_AH1":
self.assertIsNone( self.assertIsNone(
validate(payload_data, mission_plan_schema, format_checker=FormatChecker()) validate(
payload_data,
mission_plan_schema,
format_checker=FormatChecker(),
)
) )
elif item == "mission_plan_ECOSUB": elif item == "mission_plan_ECOSUB":
self.assertIsNone( self.assertIsNone(
validate(payload_data, mission_plan_schema, format_checker=FormatChecker()) validate(
payload_data,
mission_plan_schema,
format_checker=FormatChecker(),
)
) )
elif item == "mission_plan_HYDROSURV": elif item == "mission_plan_HYDROSURV":
self.assertIsNone( self.assertIsNone(
validate(payload_data, mission_plan_schema, format_checker=FormatChecker()) validate(
payload_data,
mission_plan_schema,
format_checker=FormatChecker(),
)
) )
elif item == "platform_status": elif item == "platform_status":
self.assertIsNone( self.assertIsNone(
validate( validate(
payload_data, platform_status_schema, format_checker=FormatChecker() payload_data,
platform_status_schema,
format_checker=FormatChecker(),
) )
) )
elif item == "observation": elif item == "observation":
self.assertIsNone( self.assertIsNone(
validate(payload_data, observation_schema, format_checker=FormatChecker()) validate(
payload_data,
observation_schema,
format_checker=FormatChecker(),
)
) )
elif item == "planning_configuration": elif item == "planning_configuration":
self.assertIsNone( self.assertIsNone(
...@@ -170,9 +231,12 @@ class TestSchema(unittest.TestCase): ...@@ -170,9 +231,12 @@ class TestSchema(unittest.TestCase):
elif item == "acknowledgement": elif item == "acknowledgement":
self.assertIsNone( self.assertIsNone(
validate( validate(
payload_data, acknowledgement_schema, format_checker=FormatChecker() payload_data,
acknowledgement_schema,
format_checker=FormatChecker(),
) )
) )
if __name__ == '__main__':
if __name__ == "__main__":
unittest.main() unittest.main()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment