From 631b96c0e8d26453920550ca6dbd8ce323abcfda Mon Sep 17 00:00:00 2001 From: Trishna Saeharaseelan <trishna.saeharaseelan@noc.ac.uk> Date: Tue, 16 May 2023 10:24:35 +0100 Subject: [PATCH] refactor: planning configuration file --- .../planning_configuration.json | 194 +++++++++---- .../gui_adapter/planning_configuration.json | 205 +++++++++---- formats/planning_configuration.py | 76 ++++- project/soar/swagger.json | 166 +++++++---- tests-js/docker/output.txt | 273 ++++++++++++++++++ 5 files changed, 740 insertions(+), 174 deletions(-) create mode 100644 tests-js/docker/output.txt diff --git a/examples/autonomy_engine_adapter/planning_configuration.json b/examples/autonomy_engine_adapter/planning_configuration.json index c5a4fb7..977e5a2 100644 --- a/examples/autonomy_engine_adapter/planning_configuration.json +++ b/examples/autonomy_engine_adapter/planning_configuration.json @@ -16,111 +16,195 @@ "geometry_coordinates": [ [ [ - -4.187143188645706, - 50.37072283932642 + -4.1777839187560915, + 50.34173405662855 ], [ - -4.202697005964865, - 50.368816892405874 + -4.1777839187560915, + 50.33820949229701 ], [ - -4.203156724702808, - 50.365640144076906 + -4.143667777943875, + 50.33820949229701 ], [ - -4.19449868846155, - 50.362267670845654 + -4.143667777943875, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.34173405662855 ] ] ] } ], + "region_of_interest": [ + { + "geometry_coordinates": [ + [ + [ + -4.1777839187560915, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.33820949229701 + ], + [ + -4.143667777943875, + 50.33820949229701 + ], + [ + -4.143667777943875, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.34173405662855 + ] + ] + ] + } + ], "squads": [ { "squad_ID": 1, "no_of_platforms": 1, "squad_mission_type": "tracking", - "squad_state": "active", "platforms": [ { + "operator": "hydrosurv", "model": "reav", "platform_ID": "reav-60-1", "emergency": { "additional_data": {}, - "target_waypoint_latitude": -7.432, - "target_waypoint_longitude": 50.365, + "target_waypoint_latitude": -4.189772466767039, + "target_waypoint_longitude": 50.33611100020795, "safe_command": "go_home", "target_depth": 10.0 }, + "min_altitude": 0.0, "max_velocity": 0.9, - "min_altitude": 15.2, "min_velocity": 0.1, + "target_altitude": 0.0, + "turning_radius": null, + "scan_sensor": null, "additional_data": {} } - ], - "region_of_interest": { - "geometry_coordinates": [ - [ - [ - -4.187143188645706, - 50.37072283932642 - ], - [ - -4.202697005964865, - 50.368816892405874 - ], - [ - -4.203156724702808, - 50.365640144076906 - ], - [ - -4.19449868846155, - 50.362267670845654 - ] - ] - ] - } + ] }, { "squad_ID": 2, "no_of_platforms": 3, "squad_mission_type": "survey", - "squad_state": "active", "platforms": [ { + "operator": "planet-ocean", "platform_ID": "ecosub-1", "model": "ecosub", "emergency": { "additional_data": {}, - "target_waypoint_latitude": -7.432, - "target_waypoint_longitude": 50.365, + "target_waypoint_latitude": -4.192219151149999, + "target_waypoint_longitude": 50.32933594228737, "safe_command": "go_home", "target_depth": 10.0 }, + "min_altitude": 5.0, "max_velocity": 0.9, - "min_altitude": 15.2, "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, "additional_data": { - "scan_type": "DVL", - "swath_width": 10 + "new_sensor_a": "test_sensor", + "range": 10.0 } }, { + "operator": "planet-ocean", "platform_ID": "ecosub-2", "model": "ecosub", "emergency": { "additional_data": {}, - "target_waypoint_latitude": -0.432, - "target_waypoint_longitude": 20.365, + "target_waypoint_latitude": -4.192219151149999, + "target_waypoint_longitude": 50.32775207068519, "safe_command": "go_home", "target_depth": 0.0 }, + "min_altitude": 5.0, "max_velocity": 0.9, - "min_altitude": 15.2, "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, "additional_data": { - "scan_type": "DVL", - "swath_width": 10 + "new_sensor_a": "test_sensor", + "range": 10.0 + } + }, + { + "operator": "planet-ocean", + "platform_ID": "ecosub-3", + "model": "ecosub", + "emergency": { + "additional_data": {}, + "target_waypoint_latitude": -4.184550412882118, + "target_waypoint_longitude": 50.326744124905844, + "safe_command": "go_home", + "target_depth": 0.0 + }, + "min_altitude": 5.0, + "max_velocity": 0.9, + "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, + "additional_data": { + "new_sensor_a": "test_sensor", + "range": 10.0 + } + }, + { + "operator": "planet-ocean", + "platform_ID": "ecosub-4", + "model": "ecosub", + "emergency": { + "additional_data": {}, + "target_waypoint_latitude": -4.188610333142037, + "target_waypoint_longitude": 50.32616814629094, + "safe_command": "go_home", + "target_depth": 0.0 + }, + "min_altitude": 5.0, + "max_velocity": 0.9, + "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, + "additional_data": { + "new_sensor_a": "test_sensor", + "range": 10.0 } } ] @@ -129,23 +213,31 @@ "squad_ID": 3, "no_of_platforms": 1, "squad_mission_type": "inspection", - "squad_state": "active", "platforms": [ { "platform_ID": "ah-1", "model": "autosub", "emergency": { "additional_data": {}, - "target_waypoint_latitude": 20.432, - "target_waypoint_longitude": 50.365, + "target_waypoint_latitude": -4.19759350502369, + "target_waypoint_longitude": 50.3342284629413, "safe_command": "abort_now", "target_depth": 0.0 }, + "min_altitude": 5.0, "max_velocity": 0.9, - "min_altitude": 15.2, "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, "additional_data": { - "scan_type": "MBES" + "new_sensor_a": "test_sensor", + "range": 10.0 } } ] diff --git a/examples/gui_adapter/planning_configuration.json b/examples/gui_adapter/planning_configuration.json index 319d9bd..977e5a2 100644 --- a/examples/gui_adapter/planning_configuration.json +++ b/examples/gui_adapter/planning_configuration.json @@ -16,108 +16,195 @@ "geometry_coordinates": [ [ [ - -4.187143188645706, - 50.37072283932642 + -4.1777839187560915, + 50.34173405662855 ], [ - -4.202697005964865, - 50.368816892405874 + -4.1777839187560915, + 50.33820949229701 ], [ - -4.203156724702808, - 50.365640144076906 + -4.143667777943875, + 50.33820949229701 ], [ - -4.19449868846155, - 50.362267670845654 + -4.143667777943875, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.34173405662855 ] ] ] } ], + "region_of_interest": [ + { + "geometry_coordinates": [ + [ + [ + -4.1777839187560915, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.33820949229701 + ], + [ + -4.143667777943875, + 50.33820949229701 + ], + [ + -4.143667777943875, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.34173405662855 + ] + ] + ] + } + ], "squads": [ { "squad_ID": 1, "no_of_platforms": 1, "squad_mission_type": "tracking", - "squad_state": "active", "platforms": [ { + "operator": "hydrosurv", "model": "reav", "platform_ID": "reav-60-1", "emergency": { - "target_waypoint_latitude": -7.432, - "target_waypoint_longitude": 50.365, + "additional_data": {}, + "target_waypoint_latitude": -4.189772466767039, + "target_waypoint_longitude": 50.33611100020795, "safe_command": "go_home", "target_depth": 10.0 }, + "min_altitude": 0.0, "max_velocity": 0.9, - "min_altitude": 15.2, - "min_velocity": 0.1 + "min_velocity": 0.1, + "target_altitude": 0.0, + "turning_radius": null, + "scan_sensor": null, + "additional_data": {} } - ], - "region_of_interest": { - "geometry_coordinates": [ - [ - [ - -4.187143188645706, - 50.37072283932642 - ], - [ - -4.202697005964865, - 50.368816892405874 - ], - [ - -4.203156724702808, - 50.365640144076906 - ], - [ - -4.19449868846155, - 50.362267670845654 - ] - ] - ] - } + ] }, { "squad_ID": 2, "no_of_platforms": 3, "squad_mission_type": "survey", - "squad_state": "active", "platforms": [ { - "platform_ID": "ecosub-2", + "operator": "planet-ocean", + "platform_ID": "ecosub-1", "model": "ecosub", "emergency": { - "target_waypoint_latitude": -7.432, - "target_waypoint_longitude": 50.365, + "additional_data": {}, + "target_waypoint_latitude": -4.192219151149999, + "target_waypoint_longitude": 50.32933594228737, "safe_command": "go_home", "target_depth": 10.0 }, + "min_altitude": 5.0, + "max_velocity": 0.9, + "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, + "additional_data": { + "new_sensor_a": "test_sensor", + "range": 10.0 + } + }, + { + "operator": "planet-ocean", + "platform_ID": "ecosub-2", + "model": "ecosub", + "emergency": { + "additional_data": {}, + "target_waypoint_latitude": -4.192219151149999, + "target_waypoint_longitude": 50.32775207068519, + "safe_command": "go_home", + "target_depth": 0.0 + }, + "min_altitude": 5.0, + "max_velocity": 0.9, + "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, + "additional_data": { + "new_sensor_a": "test_sensor", + "range": 10.0 + } + }, + { + "operator": "planet-ocean", + "platform_ID": "ecosub-3", + "model": "ecosub", + "emergency": { + "additional_data": {}, + "target_waypoint_latitude": -4.184550412882118, + "target_waypoint_longitude": 50.326744124905844, + "safe_command": "go_home", + "target_depth": 0.0 + }, + "min_altitude": 5.0, "max_velocity": 0.9, - "min_altitude": 15.2, "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, "additional_data": { - "scan_type": "DVL", - "swath_width": 10 + "new_sensor_a": "test_sensor", + "range": 10.0 } }, { - "platform_ID": "ecosub-5", + "operator": "planet-ocean", + "platform_ID": "ecosub-4", "model": "ecosub", "emergency": { "additional_data": {}, - "target_waypoint_latitude": -0.432, - "target_waypoint_longitude": 20.365, + "target_waypoint_latitude": -4.188610333142037, + "target_waypoint_longitude": 50.32616814629094, "safe_command": "go_home", "target_depth": 0.0 }, + "min_altitude": 5.0, "max_velocity": 0.9, - "min_altitude": 15.2, "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, "additional_data": { - "scan_type": "DVL", - "swath_width": 10 + "new_sensor_a": "test_sensor", + "range": 10.0 } } ] @@ -126,23 +213,31 @@ "squad_ID": 3, "no_of_platforms": 1, "squad_mission_type": "inspection", - "squad_state": "active", "platforms": [ { - "platform_ID": "139-ah-1", + "platform_ID": "ah-1", "model": "autosub", "emergency": { "additional_data": {}, - "target_waypoint_latitude": 20.432, - "target_waypoint_longitude": 50.365, + "target_waypoint_latitude": -4.19759350502369, + "target_waypoint_longitude": 50.3342284629413, "safe_command": "abort_now", "target_depth": 0.0 }, + "min_altitude": 5.0, "max_velocity": 0.9, - "min_altitude": 15.2, "min_velocity": 0.1, + "target_altitude": 15.0, + "turning_radius": 1.5, + "scan_sensor": { + "sensor_type": "SIDESCAN", + "swath_width": 38.0, + "frequency": 700.0, + "angle": 110.0 + }, "additional_data": { - "scan_type": "MBES" + "new_sensor_a": "test_sensor", + "range": 10.0 } } ] diff --git a/formats/planning_configuration.py b/formats/planning_configuration.py index c741b6c..44aa473 100644 --- a/formats/planning_configuration.py +++ b/formats/planning_configuration.py @@ -46,9 +46,46 @@ emergency_schema = { } +scan_sensor_schema = { + "type": "object", + "properties": { + "sensor_type": { + "type": "string", + "description": "Unique identifier for this platform", + "example": "MBES", + "enum": ["SIDESCAN", "MBES"], + }, + "swath_width": { + "type": "number", + "format": "float", + "description": "Function of `target_altitude` for the platform's " + + "swath width (in metres)", + "example": 38.0, + }, + "frequency": { + "type": "number", + "format": "float", + "description": "Frequency of scanning sensor (in kHz)", + "example": 700.0, + }, + "angle": { + "type": "number", + "format": "float", + "description": "Angle of range of swath width (in degrees)", + "example": 140.0, + }, + }, +} + + platform_schema = { "type": "object", "properties": { + "operator": { + "type": "string", + "description": "Operator of platform", + "example": "noc", + }, "platform_ID": { "type": "string", "description": "Unique identifier for this platform", @@ -62,24 +99,37 @@ platform_schema = { "min_altitude": { "type": "number", "format": "float", - "description": "Minimum altitude set for squad.", + "description": "Minimum altitude set for plaform.", "example": 15.2, }, "min_velocity": { "type": "number", "format": "float", - "description": "Minimum velocity set for squad.", + "description": "Minimum velocity set for plaform.", "example": 0.1, }, "max_velocity": { "type": "number", "format": "float", - "description": "Maximum altitude set for squad.", + "description": "Maximum altitude set for plaform.", "example": 0.9, }, + "target_altitude": { + "type": "number", + "format": "float", + "description": "Target altitude set for plaform. This affects swath width", + "example": 15.0, + }, + "turning_radius": { + "type": "number", + "format": "float", + "description": "Turning radius of platform (in metres)", + "example": 1.0, + }, + "scan_sensor": scan_sensor_schema, "additional_data": { "description": "Any addition fields/data to be added here", - "example": {"swath_width": 10.0, "scan_type": "DVL"}, + "example": {"new_sensor_a": "test_sensor", "range": 10.0}, "type": "object", }, }, @@ -97,18 +147,19 @@ region_schema = { "type": "object", "properties": { "geometry_coordinates": { - "type": "array", # TODO: Check if config defn is right. + "type": "array", "example": [ [ [-4.187143188645706, 50.37072283932642], [-4.202697005964865, 50.368816892405874], [-4.203156724702808, 50.365640144076906], [-4.19449868846155, 50.362267670845654], + [-4.187143188645706, 50.37072283932642], ] ], }, }, - "description": "Using GEOJSON, exact 4-point region (rectangle shaped)", + "description": "Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)", } squad_metadata_schema = { @@ -136,19 +187,12 @@ squad_metadata_schema = { + ", `inspection`", "example": "survey", }, - "squad_state": { - "type": "string", - "description": "In execution, Waiting.. <define further>", - "example": False, - }, - "region_of_interest": region_schema, }, "required": [ "squad_ID", "no_of_platforms", "platforms", "squad_mission_type", - "squad_state", ], } @@ -167,6 +211,11 @@ planning_configuration_schema = { + " configuration plan", "example": 3, }, + "region_of_interest": { + "type": "array", + "items": region_schema, + "description": "Region of interest for the entire operation", + }, "exclusion_zones": { "type": "array", "items": region_schema, @@ -182,5 +231,6 @@ planning_configuration_schema = { "planning_config_ID", "squads", "exclusion_zones", + "region_of_interest", ], } diff --git a/project/soar/swagger.json b/project/soar/swagger.json index bdbda61..109afa9 100644 --- a/project/soar/swagger.json +++ b/project/soar/swagger.json @@ -107,6 +107,12 @@ "example":3, "type":"integer" }, + "emergency":{ + "default":false, + "description":"To indicate if this is an emergency. true = emergency and false = no emergency", + "example":false, + "type":"boolean" + }, "message_type":{ "description":"Type of message", "enum":[ @@ -115,12 +121,6 @@ "example":"mission_plan", "type":"string" }, - "emergency": { - "default": false, - "description": "To indicate if this is an emergency. true = emergency and false = no emergency", - "example": false, - "type": "boolean" - }, "plan":{ "items":{ "properties":{ @@ -219,9 +219,9 @@ "message_type":{ "description":"Type of message", "enum":[ - "mission_plan_encoded" + "platform_status_encoded" ], - "example":"mission_plan_encoded", + "example":"platform_status_encoded", "type":"string" }, "mime_type":{ @@ -320,9 +320,9 @@ "message_type":{ "description":"Type of message", "enum":[ - "observation_encoded" + "platform_status_encoded" ], - "example":"observation_encoded", + "example":"platform_status_encoded", "type":"string" }, "mime_type":{ @@ -383,7 +383,7 @@ "exclusion_zones":{ "description":"Exclusion zones for all platforms", "items":{ - "description":"Using GEOJSON, exact 4-point region (rectangle shaped)", + "description":"Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)", "properties":{ "geometry_coordinates":{ "example":[ @@ -403,6 +403,10 @@ [ -4.19449868846155, 50.362267670845654 + ], + [ + -4.187143188645706, + 50.37072283932642 ] ] ], @@ -426,6 +430,43 @@ "example":3, "type":"integer" }, + "region_of_interest":{ + "description":"Region of interest for the entire operation", + "items":{ + "description":"Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)", + "properties":{ + "geometry_coordinates":{ + "example":[ + [ + [ + -4.187143188645706, + 50.37072283932642 + ], + [ + -4.202697005964865, + 50.368816892405874 + ], + [ + -4.203156724702808, + 50.365640144076906 + ], + [ + -4.19449868846155, + 50.362267670845654 + ], + [ + -4.187143188645706, + 50.37072283932642 + ] + ] + ], + "type":"array" + } + }, + "type":"object" + }, + "type":"array" + }, "squads":{ "items":{ "properties":{ @@ -441,19 +482,19 @@ "additional_data":{ "description":"Any addition fields/data to be added here", "example":{ - "scan_type":"DVL", - "swath_width":10.0 + "new_sensor_a":"test_sensor", + "range":10.0 }, "type":"object" }, "emergency":{ "properties":{ "additional_data":{ - "type": "object", "description":"Any addition fields/data to be added here", "example":{ - } + }, + "type":"object" }, "safe_command":{ "description":"Command/Action that is native to respective partner's platform/C2", @@ -492,19 +533,19 @@ "type":"object" }, "max_velocity":{ - "description":"Maximum altitude set for squad.", + "description":"Maximum altitude set for plaform.", "example":0.9, "format":"float", "type":"number" }, "min_altitude":{ - "description":"Minimum altitude set for squad.", + "description":"Minimum altitude set for plaform.", "example":15.2, "format":"float", "type":"number" }, "min_velocity":{ - "description":"Minimum velocity set for squad.", + "description":"Minimum velocity set for plaform.", "example":0.1, "format":"float", "type":"number" @@ -513,10 +554,59 @@ "example":"reav", "type":"string" }, + "operator":{ + "description":"Operator of platform", + "example":"noc", + "type":"string" + }, "platform_ID":{ "description":"Unique identifier for this platform", "example":"reav-x-1", "type":"string" + }, + "scan_sensor":{ + "properties":{ + "angle":{ + "description":"Angle of range of swath width (in degrees)", + "example": 140.0, + "format":"float", + "type":"number" + }, + "frequency":{ + "description":"Frequency of scanning sensor (in kHz)", + "example": 700.0, + "format":"float", + "type":"number" + }, + "sensor_type":{ + "description":"Unique identifier for this platform", + "enum":[ + "SIDESCAN", + "MBES" + ], + "example":"MBES", + "type":"string" + }, + "swath_width":{ + "description":"Function of `target_altitude` for the platform's swath width (in metres)", + "example": 38.0, + "format":"float", + "type":"number" + } + }, + "type":"object" + }, + "target_altitude":{ + "description":"Target altitude set for plaform. This affects swath width", + "example":15.0, + "format":"float", + "type":"number" + }, + "turning_radius":{ + "description":"Turning radius of platform (in metres)", + "example":1.0, + "format":"float", + "type":"number" } }, "required":[ @@ -531,35 +621,6 @@ }, "type":"array" }, - "region_of_interest":{ - "description":"Using GEOJSON, exact 4-point region (rectangle shaped)", - "properties":{ - "geometry_coordinates":{ - "example":[ - [ - [ - -4.187143188645706, - 50.37072283932642 - ], - [ - -4.202697005964865, - 50.368816892405874 - ], - [ - -4.203156724702808, - 50.365640144076906 - ], - [ - -4.19449868846155, - 50.362267670845654 - ] - ] - ], - "type":"array" - } - }, - "type":"object" - }, "squad_ID":{ "description":"Identifier of given squad", "example":23, @@ -574,19 +635,13 @@ ], "example":"survey", "type":"string" - }, - "squad_state":{ - "description":"In execution, Waiting.. <define further>", - "example":false, - "type":"string" } }, "required":[ "squad_ID", "no_of_platforms", "platforms", - "squad_mission_type", - "squad_state" + "squad_mission_type" ], "type":"object" }, @@ -597,7 +652,8 @@ "message_type", "planning_config_ID", "squads", - "exclusion_zones" + "exclusion_zones", + "region_of_interest" ], "type":"object" }, diff --git a/tests-js/docker/output.txt b/tests-js/docker/output.txt new file mode 100644 index 0000000..b7d42f1 --- /dev/null +++ b/tests-js/docker/output.txt @@ -0,0 +1,273 @@ +#1 [internal] load build definition from Dockerfile +#1 DONE 0.0s + +#1 [internal] load build definition from Dockerfile +#1 transferring dockerfile: 32B done +#1 DONE 0.0s + +#2 [internal] load .dockerignore +#2 transferring context: 2B done +#2 DONE 0.0s + +#3 [internal] load metadata for docker.io/library/node:18.7.0-alpine +#3 DONE 0.4s + +#4 [1/7] FROM docker.io/library/node:18.7.0-alpine@sha256:02a5466bd5abde6cde29c16d83e2f5a10eec11c8dcefa667a2c9f88a7fa8b0b3 +#4 DONE 0.0s + +#5 [internal] load build context +#5 transferring context: 114.55kB 0.1s done +#5 DONE 0.1s + +#6 [2/7] WORKDIR /app/tests-js +#6 CACHED + +#7 [3/7] COPY tests-js/package.json /app/tests-js/package.json +#7 CACHED + +#8 [4/7] RUN yarn install +#8 CACHED + +#9 [5/7] WORKDIR /app +#9 CACHED + +#10 [6/7] COPY . /app +#10 DONE 0.3s + +#11 [7/7] WORKDIR /app/tests-js +#11 DONE 0.1s + +#12 exporting to image +#12 exporting layers +#12 exporting layers 0.3s done +#12 writing image sha256:e98eadc0bbdc0809fd2540b1652f250264f2166575be3b9f18890d722b653ded done +#12 naming to docker.io/library/docker_soar_js_test done +#12 DONE 0.3s +Attaching to soar_js_test +soar_js_test | yarn run v1.22.19 +soar_js_test | warning package.json: No license field +soar_js_test | $ jest +soar_js_test | console.log +soar_js_test | examples [ +soar_js_test | '/app/examples/hydrosurv_adapter/platform_status.json', +soar_js_test | '/app/examples/hydrosurv_adapter/mission_plan.json', +soar_js_test | '/app/examples/hydrosurv_adapter/acknowledgement.json', +soar_js_test | '/app/examples/gui_adapter/planning_configuration.json', +soar_js_test | '/app/examples/gui_adapter/emergency_mission_plan.json', +soar_js_test | '/app/examples/gui_adapter/emergency_mission_command.json', +soar_js_test | '/app/examples/ecosub_adapter/platform_status.json', +soar_js_test | '/app/examples/ecosub_adapter/platform_status-from_usbl_example.json', +soar_js_test | '/app/examples/ecosub_adapter/observation_encoded.json', +soar_js_test | '/app/examples/ecosub_adapter/observation.json', +soar_js_test | '/app/examples/ecosub_adapter/mission_plan.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/platform_status_encoded.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/platform_status.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/platform_status-from_usbl_example.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/planning_configuration.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/observation_encoded.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/mission_plan_encoded.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/mission_plan_HYDROSURV.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/mission_plan_ECOSUB.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/mission_plan_AH1.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/emergency_mission_plan.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/emergency_mission_command.json', +soar_js_test | '/app/examples/autonomy_engine_adapter/acknowledgement.json' +soar_js_test | ] +soar_js_test | +soar_js_test | at soar-examples.test.js:42:11 +soar_js_test | +soar_js_test | console.log +soar_js_test | validation: /app/examples/ecosub_adapter/observation_encoded.json [ +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/acknowledgement"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/mission_plan"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/mission_plan_encoded"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/observation"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/observation_encoded"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/planning_configuration"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/platform_status"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/platform_status_encoded"}' +soar_js_test | ] +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:49:17) +soar_js_test | +soar_js_test | console.log +soar_js_test | payload observation_encoded [ +soar_js_test | 'message_type must be one of the following: platform_status_encoded' +soar_js_test | ] +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:52:19) +soar_js_test | +soar_js_test | console.log +soar_js_test | validation: /app/examples/autonomy_engine_adapter/platform_status_encoded.json [ 'payloadmatches more than one entry in a oneOf.' ] +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:49:17) +soar_js_test | +soar_js_test | console.log +soar_js_test | validation: /app/examples/autonomy_engine_adapter/observation_encoded.json [ +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/acknowledgement"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/mission_plan"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/mission_plan_encoded"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/observation"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/observation_encoded"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/planning_configuration"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/platform_status"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/platform_status_encoded"}' +soar_js_test | ] +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:49:17) +soar_js_test | +soar_js_test | console.log +soar_js_test | payload observation_encoded [ +soar_js_test | 'message_type must be one of the following: platform_status_encoded' +soar_js_test | ] +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:52:19) +soar_js_test | +soar_js_test | console.log +soar_js_test | validation: /app/examples/autonomy_engine_adapter/mission_plan_encoded.json [ +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/acknowledgement"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/mission_plan"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/mission_plan_encoded"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/observation"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/observation_encoded"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/planning_configuration"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/platform_status"}', +soar_js_test | undefined, +soar_js_test | 'payload is not a valid target for a oneOf {"$ref":"#/components/schemas/platform_status_encoded"}' +soar_js_test | ] +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:49:17) +soar_js_test | +soar_js_test | console.log +soar_js_test | payload mission_plan_encoded [ +soar_js_test | 'message_type must be one of the following: platform_status_encoded' +soar_js_test | ] +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:52:19) +soar_js_test | +soar_js_test | FAIL ./soar-examples.test.js +soar_js_test | ✓ schema validates (384 ms) +soar_js_test | examples validate +soar_js_test | ✓ validate /app/examples/hydrosurv_adapter/platform_status.json (8 ms) +soar_js_test | ✓ validate /app/examples/hydrosurv_adapter/mission_plan.json (5 ms) +soar_js_test | ✓ validate /app/examples/hydrosurv_adapter/acknowledgement.json (3 ms) +soar_js_test | ✓ validate /app/examples/gui_adapter/planning_configuration.json (4 ms) +soar_js_test | ✓ validate /app/examples/gui_adapter/emergency_mission_plan.json (3 ms) +soar_js_test | ✓ validate /app/examples/gui_adapter/emergency_mission_command.json (4 ms) +soar_js_test | ✓ validate /app/examples/ecosub_adapter/platform_status.json (4 ms) +soar_js_test | ✓ validate /app/examples/ecosub_adapter/platform_status-from_usbl_example.json (3 ms) +soar_js_test | ✕ validate /app/examples/ecosub_adapter/observation_encoded.json (14 ms) +soar_js_test | ✓ validate /app/examples/ecosub_adapter/observation.json (3 ms) +soar_js_test | ✓ validate /app/examples/ecosub_adapter/mission_plan.json (2 ms) +soar_js_test | ✕ validate /app/examples/autonomy_engine_adapter/platform_status_encoded.json (6 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/platform_status.json (2 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/platform_status-from_usbl_example.json (2 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/planning_configuration.json (3 ms) +soar_js_test | ✕ validate /app/examples/autonomy_engine_adapter/observation_encoded.json (8 ms) +soar_js_test | ✕ validate /app/examples/autonomy_engine_adapter/mission_plan_encoded.json (8 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/mission_plan_HYDROSURV.json (2 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/mission_plan_ECOSUB.json (2 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/mission_plan_AH1.json (2 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/emergency_mission_plan.json (3 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/emergency_mission_command.json (2 ms) +soar_js_test | ✓ validate /app/examples/autonomy_engine_adapter/acknowledgement.json (6 ms) +soar_js_test | +soar_js_test | ◠examples validate › validate /app/examples/ecosub_adapter/observation_encoded.json +soar_js_test | +soar_js_test | expect(received).toBe(expected) // Object.is equality +soar_js_test | +soar_js_test | Expected: true +soar_js_test | Received: false +soar_js_test | +soar_js_test | 53 | } +soar_js_test | 54 | } +soar_js_test | > 55 | expect(valid).toBe(true); +soar_js_test | | ^ +soar_js_test | 56 | }); +soar_js_test | 57 | }); +soar_js_test | 58 | }); +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:55:21) +soar_js_test | +soar_js_test | ◠examples validate › validate /app/examples/autonomy_engine_adapter/platform_status_encoded.json +soar_js_test | +soar_js_test | expect(received).toBe(expected) // Object.is equality +soar_js_test | +soar_js_test | Expected: true +soar_js_test | Received: false +soar_js_test | +soar_js_test | 53 | } +soar_js_test | 54 | } +soar_js_test | > 55 | expect(valid).toBe(true); +soar_js_test | | ^ +soar_js_test | 56 | }); +soar_js_test | 57 | }); +soar_js_test | 58 | }); +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:55:21) +soar_js_test | +soar_js_test | ◠examples validate › validate /app/examples/autonomy_engine_adapter/observation_encoded.json +soar_js_test | +soar_js_test | expect(received).toBe(expected) // Object.is equality +soar_js_test | +soar_js_test | Expected: true +soar_js_test | Received: false +soar_js_test | +soar_js_test | 53 | } +soar_js_test | 54 | } +soar_js_test | > 55 | expect(valid).toBe(true); +soar_js_test | | ^ +soar_js_test | 56 | }); +soar_js_test | 57 | }); +soar_js_test | 58 | }); +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:55:21) +soar_js_test | +soar_js_test | ◠examples validate › validate /app/examples/autonomy_engine_adapter/mission_plan_encoded.json +soar_js_test | +soar_js_test | expect(received).toBe(expected) // Object.is equality +soar_js_test | +soar_js_test | Expected: true +soar_js_test | Received: false +soar_js_test | +soar_js_test | 53 | } +soar_js_test | 54 | } +soar_js_test | > 55 | expect(valid).toBe(true); +soar_js_test | | ^ +soar_js_test | 56 | }); +soar_js_test | 57 | }); +soar_js_test | 58 | }); +soar_js_test | +soar_js_test | at Object.<anonymous> (soar-examples.test.js:55:21) +soar_js_test | +soar_js_test | Test Suites: 1 failed, 1 total +soar_js_test | Tests: 4 failed, 20 passed, 24 total +soar_js_test | Snapshots: 0 total +soar_js_test | Time: 1.405 s +soar_js_test | Ran all test suites. +soar_js_test | error Command failed with exit code 1. +soar_js_test | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. +soar_js_test exited with code 1 -- GitLab