From ae85dc35eb05626ba3c67bbdb594b3194a26277e Mon Sep 17 00:00:00 2001 From: Trishna Saeharaseelan <trishna.saeharaseelan@noc.ac.uk> Date: Fri, 17 Mar 2023 16:39:58 +0000 Subject: [PATCH] fix: failing oneof schemas for 3 encoded message types --- formats/encoded.py | 6 ------ formats/mission_plan_encoded.py | 10 ++++++++++ formats/observation_encoded.py | 10 ++++++++++ formats/platform_status_encoded.py | 10 ++++++++++ generate_schema_config.py | 10 ++++++---- project/soar/swagger.json | 22 ++++++++-------------- tests-js/soar-examples.test.js | 2 +- 7 files changed, 45 insertions(+), 25 deletions(-) create mode 100644 formats/mission_plan_encoded.py create mode 100644 formats/observation_encoded.py create mode 100644 formats/platform_status_encoded.py diff --git a/formats/encoded.py b/formats/encoded.py index 02069b6..8d6d700 100644 --- a/formats/encoded.py +++ b/formats/encoded.py @@ -12,12 +12,6 @@ encoded_schema = { "message_type": { "type": "string", "description": "Type of message", - "example": "mission_plan", - "enum": [ - "mission_plan_encoded", - "observation_encoded", - "platform_status_encoded", - ], }, "data": { "type": "string", diff --git a/formats/mission_plan_encoded.py b/formats/mission_plan_encoded.py new file mode 100644 index 0000000..bc32ab4 --- /dev/null +++ b/formats/mission_plan_encoded.py @@ -0,0 +1,10 @@ +from formats.encoded import encoded_schema + +mission_plan_encoded_schema = encoded_schema + +mission_plan_encoded_schema["properties"]["message_type"]["enum"] = [ + "mission_plan_encoded" +] +mission_plan_encoded_schema["properties"]["message_type"][ + "example" +] = "mission_plan_encoded" diff --git a/formats/observation_encoded.py b/formats/observation_encoded.py new file mode 100644 index 0000000..257c21a --- /dev/null +++ b/formats/observation_encoded.py @@ -0,0 +1,10 @@ +from formats.encoded import encoded_schema + +observation_encoded_schema = encoded_schema + +observation_encoded_schema["properties"]["message_type"]["enum"] = [ + "observation_encoded" +] +observation_encoded_schema["properties"]["message_type"][ + "example" +] = "observation_encoded" diff --git a/formats/platform_status_encoded.py b/formats/platform_status_encoded.py new file mode 100644 index 0000000..23b54a9 --- /dev/null +++ b/formats/platform_status_encoded.py @@ -0,0 +1,10 @@ +from formats.encoded import encoded_schema + +platform_status_encoded_schema = encoded_schema + +platform_status_encoded_schema["properties"]["message_type"]["enum"] = [ + "platform_status_encoded" +] +platform_status_encoded_schema["properties"]["message_type"][ + "example" +] = "platform_status_encoded" diff --git a/generate_schema_config.py b/generate_schema_config.py index 51f081f..52fd786 100644 --- a/generate_schema_config.py +++ b/generate_schema_config.py @@ -1,9 +1,11 @@ from formats import message_header -from formats.encoded import encoded_schema from formats.mission_plan import mission_plan_schema +from formats.mission_plan_encoded import mission_plan_encoded_schema from formats.observation import observation_schema +from formats.observation_encoded import observation_encoded_schema from formats.planning_configuration import planning_configuration_schema from formats.platform_status import platform_status_schema +from formats.platform_status_encoded import platform_status_encoded_schema from formats.acknowledgement import acknowledgement_schema from flasgger import Swagger @@ -78,12 +80,12 @@ swagger_config = { }, "header": message_header, "mission_plan": mission_plan_schema, - "mission_plan_encoded": encoded_schema, + "mission_plan_encoded": mission_plan_encoded_schema, "observation": observation_schema, - "observation_encoded": encoded_schema, + "observation_encoded": observation_encoded_schema, "planning_configuration": planning_configuration_schema, "platform_status": platform_status_schema, - "platform_status_encoded": encoded_schema, + "platform_status_encoded": platform_status_encoded_schema, "acknowledgement": acknowledgement_schema, } }, diff --git a/project/soar/swagger.json b/project/soar/swagger.json index 0b4be39..cbb07a5 100644 --- a/project/soar/swagger.json +++ b/project/soar/swagger.json @@ -196,7 +196,7 @@ "mission_plan_encoded":{ "properties":{ "data":{ - "description":"Encoded string. E.g.: base64 encoded", + "description":"encoded string. E.g. Base64 encoded", "example":"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", "type":"string" }, @@ -213,11 +213,9 @@ "message_type":{ "description":"Type of message", "enum":[ - "mission_plan_encoded", - "observation_encoded", - "platform_status_encoded" + "mission_plan_encoded" ], - "example":"mission_plan", + "example":"mission_plan_encoded", "type":"string" }, "mime_type":{ @@ -299,7 +297,7 @@ "observation_encoded":{ "properties":{ "data":{ - "description":"Encoded string. E.g. base64 encoding", + "description":"encoded string. E.g. Base64 encoded", "example":"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", "type":"string" }, @@ -316,11 +314,9 @@ "message_type":{ "description":"Type of message", "enum":[ - "mission_plan_encoded", - "observation_encoded", - "platform_status_encoded" + "observation_encoded" ], - "example":"mission_plan", + "example":"observation_encoded", "type":"string" }, "mime_type":{ @@ -782,7 +778,7 @@ "platform_status_encoded":{ "properties":{ "data":{ - "description":"Encoded string. E.g. base64 encoding", + "description":"encoded string. E.g. Base64 encoded", "example":"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", "type":"string" }, @@ -799,11 +795,9 @@ "message_type":{ "description":"Type of message", "enum":[ - "mission_plan_encoded", - "observation_encoded", "platform_status_encoded" ], - "example":"mission_plan", + "example":"platform_status_encoded", "type":"string" }, "mime_type":{ diff --git a/tests-js/soar-examples.test.js b/tests-js/soar-examples.test.js index ce5f341..7c0ec71 100644 --- a/tests-js/soar-examples.test.js +++ b/tests-js/soar-examples.test.js @@ -3,7 +3,7 @@ const Validator = require('swagger-model-validator'); const OpenAPISchemaValidator = require('openapi-schema-validator').default; const getSchema = () => { - const schema = require(`${__dirname}/../projects/soar/swagger.json`); + const schema = require(`${__dirname}/../project/soar/swagger.json`); return schema; }; -- GitLab