diff --git a/README.md b/README.md index 12bf69ce85099a0219fa27269fe6c7fda188e86e..e2e22cc0b46bb73f95e69f51bee61f651b2b7bd4 100644 --- a/README.md +++ b/README.md @@ -74,10 +74,15 @@ Run the command below and go to `http://127.0.0.1:5000` python3 generate_schema_config.py ``` ## Run Tests -Run the command below +Run both tests below: +1. Test 1 ``` python3 -m unittest tests/test_schemas.py ``` +2. Test 2 +``` +cd tests-js/docker; docker compose up --build +``` ## Quick Links 1. [Generated Swagger Docs (recommended to look at this)](https://git.noc.ac.uk/communications-backbone-system/backbone-message-format/-/blob/dev/project/soar/swagger.json) diff --git a/examples/autonomy_engine_adapter/emergency_mission_command.json b/examples/autonomy_engine_adapter/emergency_mission_command.json new file mode 100644 index 0000000000000000000000000000000000000000..3937af2463aa9a7192c18ff6bb476ecb4b4e00f0 --- /dev/null +++ b/examples/autonomy_engine_adapter/emergency_mission_command.json @@ -0,0 +1,24 @@ +{ + "header": { + "message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd", + "timestamp": "2022-11-16T00:00:00Z", + "version": 2, + "source": "gui", + "destination": "soar.noc.autosub.alr-52.to_platform.mission_plan", + "delivery_type": "publish", + "encoded": false + }, + "payload":{ + "message_type": "mission_plan", + "platform_ID": "5-ah1", + "autonomy_engine_plan_ID": 1, + "emergency": true, + "plan": [ + { + "action": "safety_abort", + "target_waypoint_latitude": -3.237143188645706, + "target_waypoint_longitude": 52.37072283932642 + } + ] + } + } \ No newline at end of file diff --git a/examples/autonomy_engine_adapter/emergency_mission_plan.json b/examples/autonomy_engine_adapter/emergency_mission_plan.json new file mode 100644 index 0000000000000000000000000000000000000000..8ab9cd517ca78e09a57f7c696b787b2669a9ba28 --- /dev/null +++ b/examples/autonomy_engine_adapter/emergency_mission_plan.json @@ -0,0 +1,30 @@ +{ + "header": { + "message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd", + "timestamp": "2022-11-16T00:00:00Z", + "version": 2, + "source": "gui", + "destination": "soar.noc.autosub.alr-52.to_platform.mission_plan", + "delivery_type": "publish", + "encoded": false + }, + "payload":{ + "message_type": "mission_plan", + "platform_ID": "5-ah1", + "autonomy_engine_plan_ID": 1, + "emergency": true, + "plan": [ + { + "action": "move", + "target_waypoint_latitude": -3.237143188645706, + "target_waypoint_longitude": 52.37072283932642, + "depth": 5.0 + }, + { + "action": "safety_abort", + "target_waypoint_latitude": -3.237143188645706, + "target_waypoint_longitude": 52.37072283932642 + } + ] + } + } \ No newline at end of file diff --git a/examples/autonomy_engine_adapter/mission_plan_AH1.json b/examples/autonomy_engine_adapter/mission_plan_AH1.json index 01319153d42bff4442acebd4bcc1c4e0befc48ce..187ce42ef3f0e7689b62ff7280ff5d5a3896f117 100644 --- a/examples/autonomy_engine_adapter/mission_plan_AH1.json +++ b/examples/autonomy_engine_adapter/mission_plan_AH1.json @@ -12,6 +12,7 @@ "message_type": "mission_plan", "platform_ID": "5-ah1", "autonomy_engine_plan_ID": 1, + "emergency": false, "plan": [ { "action": "move", diff --git a/examples/autonomy_engine_adapter/mission_plan_ECOSUB.json b/examples/autonomy_engine_adapter/mission_plan_ECOSUB.json index b9d5a8b8d927a45164edea329407ea681141a007..235cecc111c4a8cb032f359124c323df69d407e1 100644 --- a/examples/autonomy_engine_adapter/mission_plan_ECOSUB.json +++ b/examples/autonomy_engine_adapter/mission_plan_ECOSUB.json @@ -12,6 +12,7 @@ "message_type": "mission_plan", "platform_ID": "ecosub-2", "autonomy_engine_plan_ID": 1, + "emergency": false, "plan": [ { "action": "move", diff --git a/examples/autonomy_engine_adapter/mission_plan_HYDROSURV.json b/examples/autonomy_engine_adapter/mission_plan_HYDROSURV.json index 54ffbeb0e079146190796d374dba59508d8a9b49..482c58a860571501446d8572ec5251573bf67e6e 100644 --- a/examples/autonomy_engine_adapter/mission_plan_HYDROSURV.json +++ b/examples/autonomy_engine_adapter/mission_plan_HYDROSURV.json @@ -12,6 +12,7 @@ "message_type": "mission_plan", "platform_ID": "reav-60-1", "autonomy_engine_plan_ID": 1, + "emergency": false, "plan": [ { "target_waypoint_latitude": -4.187143188645706, diff --git a/examples/ecosub_adapter/mission_plan.json b/examples/ecosub_adapter/mission_plan.json index b9d5a8b8d927a45164edea329407ea681141a007..235cecc111c4a8cb032f359124c323df69d407e1 100644 --- a/examples/ecosub_adapter/mission_plan.json +++ b/examples/ecosub_adapter/mission_plan.json @@ -12,6 +12,7 @@ "message_type": "mission_plan", "platform_ID": "ecosub-2", "autonomy_engine_plan_ID": 1, + "emergency": false, "plan": [ { "action": "move", diff --git a/examples/gui_adapter/emergency_mission_command.json b/examples/gui_adapter/emergency_mission_command.json new file mode 100644 index 0000000000000000000000000000000000000000..3937af2463aa9a7192c18ff6bb476ecb4b4e00f0 --- /dev/null +++ b/examples/gui_adapter/emergency_mission_command.json @@ -0,0 +1,24 @@ +{ + "header": { + "message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd", + "timestamp": "2022-11-16T00:00:00Z", + "version": 2, + "source": "gui", + "destination": "soar.noc.autosub.alr-52.to_platform.mission_plan", + "delivery_type": "publish", + "encoded": false + }, + "payload":{ + "message_type": "mission_plan", + "platform_ID": "5-ah1", + "autonomy_engine_plan_ID": 1, + "emergency": true, + "plan": [ + { + "action": "safety_abort", + "target_waypoint_latitude": -3.237143188645706, + "target_waypoint_longitude": 52.37072283932642 + } + ] + } + } \ No newline at end of file diff --git a/examples/gui_adapter/emergency_mission_plan.json b/examples/gui_adapter/emergency_mission_plan.json new file mode 100644 index 0000000000000000000000000000000000000000..8ab9cd517ca78e09a57f7c696b787b2669a9ba28 --- /dev/null +++ b/examples/gui_adapter/emergency_mission_plan.json @@ -0,0 +1,30 @@ +{ + "header": { + "message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd", + "timestamp": "2022-11-16T00:00:00Z", + "version": 2, + "source": "gui", + "destination": "soar.noc.autosub.alr-52.to_platform.mission_plan", + "delivery_type": "publish", + "encoded": false + }, + "payload":{ + "message_type": "mission_plan", + "platform_ID": "5-ah1", + "autonomy_engine_plan_ID": 1, + "emergency": true, + "plan": [ + { + "action": "move", + "target_waypoint_latitude": -3.237143188645706, + "target_waypoint_longitude": 52.37072283932642, + "depth": 5.0 + }, + { + "action": "safety_abort", + "target_waypoint_latitude": -3.237143188645706, + "target_waypoint_longitude": 52.37072283932642 + } + ] + } + } \ No newline at end of file diff --git a/formats/mission_plan.py b/formats/mission_plan.py index 4a97375a42b304a73a026bc9de8a4add7b5e0fcd..ddd9b04f5323379c8e7a417ab0ac2e556aa58784 100644 --- a/formats/mission_plan.py +++ b/formats/mission_plan.py @@ -88,6 +88,12 @@ mission_plan_schema = { "description": "Unique identifier for this platform", "example": "reav-x-1", }, + "emergency": { + "type": "boolean", + "description": "To indicate if this is an emergency. 1 = emergency and 0 = no emergency", + "default": False, + "example": False, + }, "plan": { "type": "array", "items": action_schema, diff --git a/project/soar/swagger.json b/project/soar/swagger.json index 21820ba31d36ee6e833382f917c4013da6f2c018..c99d7209b5603eef99b555cee565d4a4da3bcdf8 100644 --- a/project/soar/swagger.json +++ b/project/soar/swagger.json @@ -115,6 +115,12 @@ "example":"mission_plan", "type":"string" }, + "emergency": { + "default": false, + "description": "To indicate if this is an emergency. 1 = emergency and 0 = no emergency", + "example": false, + "type": "boolean" + }, "plan":{ "items":{ "properties":{ diff --git a/tests/fixtures/schemas.py b/tests/fixtures/schemas.py index dcc6ac34602bbfcfbb73ac284e7202bae6fb3b9c..d8c95f24aa6755842b50f8c8e4cca6c54bf1a6e8 100644 --- a/tests/fixtures/schemas.py +++ b/tests/fixtures/schemas.py @@ -165,6 +165,12 @@ mission_plan_schema = { "description": "Unique identifier for this platform", "example": "reav-x-1", }, + "emergency": { + "default": False, + "description": "To indicate if this is an emergency. 1 = emergency and 0 = no emergency", + "example": False, + "type": "boolean" + }, "plan": { "type": "array", "items": action_schema, diff --git a/tests/fixtures/swagger.json b/tests/fixtures/swagger.json index a1db4bff435b9686156a7372002b2bb7823302bb..b7178ad75e1f13f7f247d94a4ffe1d971fd195e4 100644 --- a/tests/fixtures/swagger.json +++ b/tests/fixtures/swagger.json @@ -110,6 +110,12 @@ "example": "mission_plan", "type": "string" }, + "emergency": { + "default": false, + "description": "To indicate if this is an emergency. 1 = emergency and 0 = no emergency", + "example": false, + "type": "boolean" + }, "plan": { "items": { "properties": {