diff --git a/.gitignore b/.gitignore index 06eb083..3bb0a86 100644 --- a/.gitignore +++ b/.gitignore @@ -40,4 +40,4 @@ out/ .direnv/ .envrc localjson -ilp-cw-api/results.json +ilp-rest-service/ilp-cw-api/results.json diff --git a/Dockerfile b/ilp-rest-service/Dockerfile similarity index 100% rename from Dockerfile rename to ilp-rest-service/Dockerfile diff --git a/Makefile b/ilp-rest-service/Makefile similarity index 100% rename from Makefile rename to ilp-rest-service/Makefile diff --git a/build.gradle b/ilp-rest-service/build.gradle similarity index 100% rename from build.gradle rename to ilp-rest-service/build.gradle diff --git a/compose.yaml b/ilp-rest-service/compose.yaml similarity index 100% rename from compose.yaml rename to ilp-rest-service/compose.yaml diff --git a/flake.lock b/ilp-rest-service/flake.lock similarity index 100% rename from flake.lock rename to ilp-rest-service/flake.lock diff --git a/flake.nix b/ilp-rest-service/flake.nix similarity index 100% rename from flake.nix rename to ilp-rest-service/flake.nix diff --git a/gradle/wrapper/gradle-wrapper.jar b/ilp-rest-service/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from gradle/wrapper/gradle-wrapper.jar rename to ilp-rest-service/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/ilp-rest-service/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from gradle/wrapper/gradle-wrapper.properties rename to ilp-rest-service/gradle/wrapper/gradle-wrapper.properties diff --git a/gradlew b/ilp-rest-service/gradlew similarity index 100% rename from gradlew rename to ilp-rest-service/gradlew diff --git a/gradlew.bat b/ilp-rest-service/gradlew.bat similarity index 100% rename from gradlew.bat rename to ilp-rest-service/gradlew.bat diff --git a/ilp-cw-api/CW1 Feedback API/[Sematic Error] distanceTo.bru b/ilp-rest-service/ilp-cw-api/CW1 Feedback API/[Sematic Error] distanceTo.bru similarity index 100% rename from ilp-cw-api/CW1 Feedback API/[Sematic Error] distanceTo.bru rename to ilp-rest-service/ilp-cw-api/CW1 Feedback API/[Sematic Error] distanceTo.bru diff --git a/ilp-cw-api/CW1 Feedback API/[Sematic Error] isCloseTo.bru b/ilp-rest-service/ilp-cw-api/CW1 Feedback API/[Sematic Error] isCloseTo.bru similarity index 100% rename from ilp-cw-api/CW1 Feedback API/[Sematic Error] isCloseTo.bru rename to ilp-rest-service/ilp-cw-api/CW1 Feedback API/[Sematic Error] isCloseTo.bru diff --git a/ilp-cw-api/CW1 Feedback API/[Sematic Error] nextPosition.bru b/ilp-rest-service/ilp-cw-api/CW1 Feedback API/[Sematic Error] nextPosition.bru similarity index 100% rename from ilp-cw-api/CW1 Feedback API/[Sematic Error] nextPosition.bru rename to ilp-rest-service/ilp-cw-api/CW1 Feedback API/[Sematic Error] nextPosition.bru diff --git a/ilp-cw-api/CW1 Feedback API/folder.bru b/ilp-rest-service/ilp-cw-api/CW1 Feedback API/folder.bru similarity index 100% rename from ilp-cw-api/CW1 Feedback API/folder.bru rename to ilp-rest-service/ilp-cw-api/CW1 Feedback API/folder.bru diff --git a/ilp-cw-api/[GET] droneDetails/drone 1 details.bru b/ilp-rest-service/ilp-cw-api/[GET] droneDetails/drone 1 details.bru similarity index 100% rename from ilp-cw-api/[GET] droneDetails/drone 1 details.bru rename to ilp-rest-service/ilp-cw-api/[GET] droneDetails/drone 1 details.bru diff --git a/ilp-cw-api/[GET] droneDetails/drone 10 details.bru b/ilp-rest-service/ilp-cw-api/[GET] droneDetails/drone 10 details.bru similarity index 100% rename from ilp-cw-api/[GET] droneDetails/drone 10 details.bru rename to ilp-rest-service/ilp-cw-api/[GET] droneDetails/drone 10 details.bru diff --git a/ilp-cw-api/[GET] droneDetails/drone 11 details.bru b/ilp-rest-service/ilp-cw-api/[GET] droneDetails/drone 11 details.bru similarity index 100% rename from ilp-cw-api/[GET] droneDetails/drone 11 details.bru rename to ilp-rest-service/ilp-cw-api/[GET] droneDetails/drone 11 details.bru diff --git a/ilp-cw-api/[GET] droneDetails/drone NaN details.bru b/ilp-rest-service/ilp-cw-api/[GET] droneDetails/drone NaN details.bru similarity index 100% rename from ilp-cw-api/[GET] droneDetails/drone NaN details.bru rename to ilp-rest-service/ilp-cw-api/[GET] droneDetails/drone NaN details.bru diff --git a/ilp-cw-api/[GET] droneDetails/folder.bru b/ilp-rest-service/ilp-cw-api/[GET] droneDetails/folder.bru similarity index 100% rename from ilp-cw-api/[GET] droneDetails/folder.bru rename to ilp-rest-service/ilp-cw-api/[GET] droneDetails/folder.bru diff --git a/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- false.bru b/ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- false.bru similarity index 100% rename from ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- false.bru rename to ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- false.bru diff --git a/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- illegal.bru b/ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- illegal.bru similarity index 100% rename from ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- illegal.bru rename to ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- illegal.bru diff --git a/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- true.bru b/ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- true.bru similarity index 100% rename from ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- true.bru rename to ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- true.bru diff --git a/ilp-cw-api/[GET] dronesWithCooling/folder.bru b/ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/folder.bru similarity index 100% rename from ilp-cw-api/[GET] dronesWithCooling/folder.bru rename to ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/folder.bru diff --git a/ilp-cw-api/[GET] dronesWithCooling/invalid 200.bru b/ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/invalid 200.bru similarity index 100% rename from ilp-cw-api/[GET] dronesWithCooling/invalid 200.bru rename to ilp-rest-service/ilp-cw-api/[GET] dronesWithCooling/invalid 200.bru diff --git a/ilp-cw-api/[GET] queryAsPath/capacity = 4.bru b/ilp-rest-service/ilp-cw-api/[GET] queryAsPath/capacity = 4.bru similarity index 100% rename from ilp-cw-api/[GET] queryAsPath/capacity = 4.bru rename to ilp-rest-service/ilp-cw-api/[GET] queryAsPath/capacity = 4.bru diff --git a/ilp-cw-api/[GET] queryAsPath/capacity = 8.0.bru b/ilp-rest-service/ilp-cw-api/[GET] queryAsPath/capacity = 8.0.bru similarity index 100% rename from ilp-cw-api/[GET] queryAsPath/capacity = 8.0.bru rename to ilp-rest-service/ilp-cw-api/[GET] queryAsPath/capacity = 8.0.bru diff --git a/ilp-cw-api/[GET] queryAsPath/capacity = 8.bru b/ilp-rest-service/ilp-cw-api/[GET] queryAsPath/capacity = 8.bru similarity index 100% rename from ilp-cw-api/[GET] queryAsPath/capacity = 8.bru rename to ilp-rest-service/ilp-cw-api/[GET] queryAsPath/capacity = 8.bru diff --git a/ilp-cw-api/[GET] queryAsPath/cooling = false.bru b/ilp-rest-service/ilp-cw-api/[GET] queryAsPath/cooling = false.bru similarity index 100% rename from ilp-cw-api/[GET] queryAsPath/cooling = false.bru rename to ilp-rest-service/ilp-cw-api/[GET] queryAsPath/cooling = false.bru diff --git a/ilp-cw-api/[GET] queryAsPath/folder.bru b/ilp-rest-service/ilp-cw-api/[GET] queryAsPath/folder.bru similarity index 100% rename from ilp-cw-api/[GET] queryAsPath/folder.bru rename to ilp-rest-service/ilp-cw-api/[GET] queryAsPath/folder.bru diff --git a/ilp-cw-api/[GET] queryAsPath/heating = true.bru b/ilp-rest-service/ilp-cw-api/[GET] queryAsPath/heating = true.bru similarity index 100% rename from ilp-cw-api/[GET] queryAsPath/heating = true.bru rename to ilp-rest-service/ilp-cw-api/[GET] queryAsPath/heating = true.bru diff --git a/ilp-cw-api/[GET] queryAsPath/invalid = null.bru b/ilp-rest-service/ilp-cw-api/[GET] queryAsPath/invalid = null.bru similarity index 100% rename from ilp-cw-api/[GET] queryAsPath/invalid = null.bru rename to ilp-rest-service/ilp-cw-api/[GET] queryAsPath/invalid = null.bru diff --git a/ilp-cw-api/[GET] queryAsPath/maxMoves = 1000.bru b/ilp-rest-service/ilp-cw-api/[GET] queryAsPath/maxMoves = 1000.bru similarity index 100% rename from ilp-cw-api/[GET] queryAsPath/maxMoves = 1000.bru rename to ilp-rest-service/ilp-cw-api/[GET] queryAsPath/maxMoves = 1000.bru diff --git a/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Bypass Bayes Centre.bru b/ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Bypass Bayes Centre.bru similarity index 100% rename from ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Bypass Bayes Centre.bru rename to ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Bypass Bayes Centre.bru diff --git a/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Bypass RestrictedArea.bru b/ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Bypass RestrictedArea.bru similarity index 100% rename from ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Bypass RestrictedArea.bru rename to ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Bypass RestrictedArea.bru diff --git a/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/From Appleton Tower.bru b/ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/From Appleton Tower.bru similarity index 100% rename from ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/From Appleton Tower.bru rename to ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/From Appleton Tower.bru diff --git a/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Simple- Path.bru b/ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Simple- Path.bru similarity index 100% rename from ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Simple- Path.bru rename to ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Simple- Path.bru diff --git a/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Simple.bru b/ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Simple.bru similarity index 100% rename from ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Simple.bru rename to ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Simple.bru diff --git a/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Two Points from two service points.bru b/ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Two Points from two service points.bru similarity index 100% rename from ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Two Points from two service points.bru rename to ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/Two Points from two service points.bru diff --git a/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/[400] DeliveryPoint in RestrictedArea.bru b/ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/[400] DeliveryPoint in RestrictedArea.bru similarity index 100% rename from ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/[400] DeliveryPoint in RestrictedArea.bru rename to ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/[400] DeliveryPoint in RestrictedArea.bru diff --git a/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/folder.bru b/ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/folder.bru similarity index 100% rename from ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/folder.bru rename to ilp-rest-service/ilp-cw-api/[POST] calcDeliveryPath(AsGeoJson)/folder.bru diff --git a/ilp-cw-api/[POST] query/GT LT -contradict.bru b/ilp-rest-service/ilp-cw-api/[POST] query/GT LT -contradict.bru similarity index 100% rename from ilp-cw-api/[POST] query/GT LT -contradict.bru rename to ilp-rest-service/ilp-cw-api/[POST] query/GT LT -contradict.bru diff --git a/ilp-cw-api/[POST] query/GT LT EQ.bru b/ilp-rest-service/ilp-cw-api/[POST] query/GT LT EQ.bru similarity index 100% rename from ilp-cw-api/[POST] query/GT LT EQ.bru rename to ilp-rest-service/ilp-cw-api/[POST] query/GT LT EQ.bru diff --git a/ilp-cw-api/[POST] query/GT LT.bru b/ilp-rest-service/ilp-cw-api/[POST] query/GT LT.bru similarity index 100% rename from ilp-cw-api/[POST] query/GT LT.bru rename to ilp-rest-service/ilp-cw-api/[POST] query/GT LT.bru diff --git a/ilp-cw-api/[POST] query/folder.bru b/ilp-rest-service/ilp-cw-api/[POST] query/folder.bru similarity index 100% rename from ilp-cw-api/[POST] query/folder.bru rename to ilp-rest-service/ilp-cw-api/[POST] query/folder.bru diff --git a/ilp-cw-api/[POST] query/three eqs.bru b/ilp-rest-service/ilp-cw-api/[POST] query/three eqs.bru similarity index 100% rename from ilp-cw-api/[POST] query/three eqs.bru rename to ilp-rest-service/ilp-cw-api/[POST] query/three eqs.bru diff --git a/ilp-cw-api/[POST] queryAvailableDrones/Complex.bru b/ilp-rest-service/ilp-cw-api/[POST] queryAvailableDrones/Complex.bru similarity index 100% rename from ilp-cw-api/[POST] queryAvailableDrones/Complex.bru rename to ilp-rest-service/ilp-cw-api/[POST] queryAvailableDrones/Complex.bru diff --git a/ilp-cw-api/[POST] queryAvailableDrones/Example.bru b/ilp-rest-service/ilp-cw-api/[POST] queryAvailableDrones/Example.bru similarity index 100% rename from ilp-cw-api/[POST] queryAvailableDrones/Example.bru rename to ilp-rest-service/ilp-cw-api/[POST] queryAvailableDrones/Example.bru diff --git a/ilp-cw-api/[POST] queryAvailableDrones/Treat Null as False (Cooling).bru b/ilp-rest-service/ilp-cw-api/[POST] queryAvailableDrones/Treat Null as False (Cooling).bru similarity index 100% rename from ilp-cw-api/[POST] queryAvailableDrones/Treat Null as False (Cooling).bru rename to ilp-rest-service/ilp-cw-api/[POST] queryAvailableDrones/Treat Null as False (Cooling).bru diff --git a/ilp-cw-api/[POST] queryAvailableDrones/folder.bru b/ilp-rest-service/ilp-cw-api/[POST] queryAvailableDrones/folder.bru similarity index 100% rename from ilp-cw-api/[POST] queryAvailableDrones/folder.bru rename to ilp-rest-service/ilp-cw-api/[POST] queryAvailableDrones/folder.bru diff --git a/ilp-cw-api/bruno.json b/ilp-rest-service/ilp-cw-api/bruno.json similarity index 100% rename from ilp-cw-api/bruno.json rename to ilp-rest-service/ilp-cw-api/bruno.json diff --git a/ilp-cw-api/collection.bru b/ilp-rest-service/ilp-cw-api/collection.bru similarity index 100% rename from ilp-cw-api/collection.bru rename to ilp-rest-service/ilp-cw-api/collection.bru diff --git a/ilp-rest-service/ilp-cw-api/results.json b/ilp-rest-service/ilp-cw-api/results.json new file mode 100644 index 0000000..65e6e20 --- /dev/null +++ b/ilp-rest-service/ilp-cw-api/results.json @@ -0,0 +1,6682 @@ +{ + "summary": { + "totalRequests": 27, + "passedRequests": 27, + "failedRequests": 0, + "skippedRequests": 0, + "errorRequests": 0, + "totalAssertions": 30, + "passedAssertions": 30, + "failedAssertions": 0, + "totalTests": 37, + "passedTests": 37, + "failedTests": 0, + "totalPreRequestTests": 0, + "passedPreRequestTests": 0, + "failedPreRequestTests": 0, + "totalPostResponseTests": 0, + "passedPostResponseTests": 0, + "failedPostResponseTests": 0 + }, + "results": [ + { + "test": { + "filename": "[GET] dronesWithCooling/dronesWithCooling -- false.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/dronesWithCooling/false", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "2", + "3", + "4", + "6", + "7", + "10" + ], + "url": "http://localhost/api/v1/dronesWithCooling/false", + "responseTime": 127 + }, + "error": null, + "status": "pass", + "assertionResults": [], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "u-ljTIWz_fahGqtijO_YO" + }, + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "UjJ7nGtLrQI1cFwSgv3MB" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "Te-BgYcHAPE-Ob4z5Qo76" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.171477941, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- false" + }, + { + "test": { + "filename": "[GET] dronesWithCooling/dronesWithCooling -- illegal.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/dronesWithCooling/illegal", + "headers": {} + }, + "response": { + "status": 400, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "connection": "close" + }, + "data": { + "error": "Bad Request", + "status": "400" + }, + "url": "http://localhost/api/v1/dronesWithCooling/illegal", + "responseTime": 4 + }, + "error": null, + "status": "pass", + "assertionResults": [], + "testResults": [ + { + "description": "Status code is 400", + "status": "pass", + "uid": "kXbydet-3ycdaNgikHdTj" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.008366094, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- illegal" + }, + { + "test": { + "filename": "[GET] dronesWithCooling/dronesWithCooling -- true.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/dronesWithCooling/true", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "1", + "5", + "8", + "9" + ], + "url": "http://localhost/api/v1/dronesWithCooling/true", + "responseTime": 46 + }, + "error": null, + "status": "pass", + "assertionResults": [], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "vOqsSGw4bOwqCdSQpE0zV" + }, + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "hhELTcm72VmzjqBpFF5P_" + }, + { + "description": "Array is not empty and contains String", + "status": "pass", + "uid": "NRZ1mAK4bDsWKkqmUW0tX" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.050207035, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] dronesWithCooling/dronesWithCooling -- true" + }, + { + "test": { + "filename": "[GET] dronesWithCooling/invalid 200.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/dronesWithCooling/null", + "headers": {} + }, + "response": { + "status": 400, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "connection": "close" + }, + "data": { + "error": "Bad Request", + "status": "400" + }, + "url": "http://localhost/api/v1/dronesWithCooling/null", + "responseTime": 3 + }, + "error": null, + "status": "pass", + "assertionResults": [], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.004351394, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] dronesWithCooling/invalid 200" + }, + { + "test": { + "filename": "[GET] droneDetails/drone 1 details.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/droneDetails/1", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": { + "name": "Drone 1", + "id": "1", + "capability": { + "cooling": true, + "heating": true, + "capacity": 4, + "maxMoves": 2000, + "costPerMove": 0.01, + "costInitial": 4.3, + "costFinal": 6.5 + } + }, + "url": "http://localhost/api/v1/droneDetails/1", + "responseTime": 32 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "PC7w4LBAj-U5Qg1CJgYnA", + "lhsExpr": "res.body.id", + "rhsExpr": "eq \"1\"", + "rhsOperand": "\"1\"", + "operator": "eq", + "status": "pass" + }, + { + "uid": "HEp6lRtyXmX5UjNzPxQli", + "lhsExpr": "res.body.capability.capacity", + "rhsExpr": "eq 4.0", + "rhsOperand": "4.0", + "operator": "eq", + "status": "pass" + }, + { + "uid": "b9JLYJWjhmLjVriXXKff_", + "lhsExpr": "res.body.capability.heating", + "rhsExpr": "eq true", + "rhsOperand": "true", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "KdOa3BIDIRF54H2Emaqdk" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.037337583, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] droneDetails/drone 1 details" + }, + { + "test": { + "filename": "[GET] droneDetails/drone 10 details.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/droneDetails/10", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": { + "name": "Drone 10", + "id": "10", + "capability": { + "cooling": false, + "heating": false, + "capacity": 12, + "maxMoves": 1500, + "costPerMove": 0.07, + "costInitial": 1.4, + "costFinal": 3.5 + } + }, + "url": "http://localhost/api/v1/droneDetails/10", + "responseTime": 28 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "ukeXZ2mc4VgXAhV9ySUbP", + "lhsExpr": "res.body.id", + "rhsExpr": "eq \"10\"", + "rhsOperand": "\"10\"", + "operator": "eq", + "status": "pass" + }, + { + "uid": "nkak3pwJf4XQBXdWXpAgZ", + "lhsExpr": "res.body.capability.capacity", + "rhsExpr": "eq 12.0", + "rhsOperand": "12.0", + "operator": "eq", + "status": "pass" + }, + { + "uid": "t4FFk9JupCcjJYNjX3a4t", + "lhsExpr": "res.body.capability.heating", + "rhsExpr": "eq false", + "rhsOperand": "false", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "YLAJNeiaolmk6DVtrhlWY" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.031180888, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] droneDetails/drone 10 details" + }, + { + "test": { + "filename": "[GET] droneDetails/drone 11 details.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/droneDetails/11", + "headers": {} + }, + "response": { + "status": 404, + "statusText": "", + "headers": { + "content-length": "0", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": "", + "url": "http://localhost/api/v1/droneDetails/11", + "responseTime": 31 + }, + "error": null, + "status": "pass", + "assertionResults": [], + "testResults": [ + { + "description": "Status code is 404", + "status": "pass", + "uid": "kWJ2-mYweBiacv8BjjIjS" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.034288525, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] droneDetails/drone 11 details" + }, + { + "test": { + "filename": "[GET] droneDetails/drone NaN details.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/droneDetails/droneNaN", + "headers": {} + }, + "response": { + "status": 404, + "statusText": "", + "headers": { + "content-length": "0", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": "", + "url": "http://localhost/api/v1/droneDetails/droneNaN", + "responseTime": 39 + }, + "error": null, + "status": "pass", + "assertionResults": [], + "testResults": [ + { + "description": "Status code is 404", + "status": "pass", + "uid": "mQ3Tmo4TUbtPujpmObCR0" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.042441198, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] droneDetails/drone NaN details" + }, + { + "test": { + "filename": "[GET] queryAsPath/capacity = 8.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/queryAsPath/capacity/8", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "2", + "4", + "7", + "9" + ], + "url": "http://localhost/api/v1/queryAsPath/capacity/8", + "responseTime": 28 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "BglUKNVcu9h7PYHuoJYzD", + "lhsExpr": "res.body", + "rhsExpr": "length 4", + "rhsOperand": "4", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "dQT7ZqCaTKgLYyDsGJ6_g" + }, + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "AQcyMfqdU9_Ie367XDohg" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "uM0vMe6YVbo3ZSFmFi_NP" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.03136814, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] queryAsPath/capacity = 8" + }, + { + "test": { + "filename": "[GET] queryAsPath/capacity = 8.0.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/queryAsPath/capacity/8.0", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-disposition": "inline;filename=f.txt", + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "2", + "4", + "7", + "9" + ], + "url": "http://localhost/api/v1/queryAsPath/capacity/8.0", + "responseTime": 29 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "rYtFQXTD203ueaM9dj_mQ", + "lhsExpr": "res.body", + "rhsExpr": "length 4", + "rhsOperand": "4", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "-bOLuPcdSbCQlBXlNmt5z" + }, + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "szwYfJSQY_5ArWI_1tj4I" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "ZO3-G7B7RsIs9reOpJUMe" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.032196304, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] queryAsPath/capacity = 8.0" + }, + { + "test": { + "filename": "[GET] queryAsPath/capacity = 4.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/queryAsPath/capacity/4", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "1", + "6" + ], + "url": "http://localhost/api/v1/queryAsPath/capacity/4", + "responseTime": 29 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "THr_X2eyKLYJYZlVv_uS0", + "lhsExpr": "res.body", + "rhsExpr": "length 2", + "rhsOperand": "2", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "LnSwl6V_NAAmZUBwWT3iV" + }, + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "kq3rV26ju0P1cu0-FSTIx" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "T0YNlmS-C9eS_WLXNLp87" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.033820286, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] queryAsPath/capacity = 4" + }, + { + "test": { + "filename": "[GET] queryAsPath/heating = true.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/queryAsPath/heating/true", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "1", + "2", + "4", + "5", + "6", + "7", + "9" + ], + "url": "http://localhost/api/v1/queryAsPath/heating/true", + "responseTime": 29 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "6Cavx5USyzCn_qSOWIYJ_", + "lhsExpr": "res.body", + "rhsExpr": "length 7", + "rhsOperand": "7", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "kqUAPyNRs5EwQEiQNkp_z" + }, + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "Eo79r0DK7NpKm5ys3uF-n" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "kM2LJUop2vDoFyUEMflA5" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.032926236, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] queryAsPath/heating = true" + }, + { + "test": { + "filename": "[GET] queryAsPath/cooling = false.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/queryAsPath/cooling/false", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "2", + "3", + "4", + "6", + "7", + "10" + ], + "url": "http://localhost/api/v1/queryAsPath/cooling/false", + "responseTime": 48 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "TahEzvZgEZV3E4hxfeEnm", + "lhsExpr": "res.body", + "rhsExpr": "length 6", + "rhsOperand": "6", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "h3Eaq_u-3r5jgK4m_5cnY" + }, + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "oGYj16Yf_FFRQoCeV2g46" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "7esdu5c-WcAc_PbyMlIgr" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.051291582, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] queryAsPath/cooling = false" + }, + { + "test": { + "filename": "[GET] queryAsPath/maxMoves = 1000.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/queryAsPath/maxMoves/1000", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "2", + "4", + "7", + "9" + ], + "url": "http://localhost/api/v1/queryAsPath/maxMoves/1000", + "responseTime": 28 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "v-QmJr-grF4PSp6ayLGmT", + "lhsExpr": "res.body", + "rhsExpr": "length 4", + "rhsOperand": "4", + "operator": "length", + "status": "pass" + }, + { + "uid": "rgQK4juY27_73nAp87hn2", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "ZSNi8rc_bCnVFyqKimpBS" + }, + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "O74iaLRcZ9ebFU1kjk0r2" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "MyTa1tuzfJ8aM1SdsviT7" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.031369292, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] queryAsPath/maxMoves = 1000" + }, + { + "test": { + "filename": "[GET] queryAsPath/invalid = null.bru" + }, + "request": { + "method": "GET", + "url": "http://localhost:8080/api/v1/queryAsPath/invalid/null", + "headers": {} + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:45 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [], + "url": "http://localhost/api/v1/queryAsPath/invalid/null", + "responseTime": 28 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "-4T5xJXvYiaoV9EdPjsT-", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Status code is 200", + "status": "pass", + "uid": "FICdEVS4fE2DX4UPHPUad" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.030160201, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[GET] queryAsPath/invalid = null" + }, + { + "test": { + "filename": "[POST] query/three eqs.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/query", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"attribute\": \"capacity\",\n \"operator\": \"=\",\n \"value\": \"20\"\n },\n {\n \"attribute\": \"heating\",\n \"operator\": \"=\",\n \"value\": \"false\"\n }, \n {\n \"attribute\": \"cooling\",\n \"operator\": \"=\",\n \"value\": \"true\"\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:46 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "8" + ], + "url": "http://localhost/api/v1/query", + "responseTime": 144 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "Sd0PagoMhoYehdnqKNqSw", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + }, + { + "uid": "6vUONlwP-scN3C2Z6tQzB", + "lhsExpr": "res.body", + "rhsExpr": "length 1", + "rhsOperand": "1", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "q_lgXQwDYQughLOTxyqsq" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "L7NgJCZqnFwI076EWM239" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.148443692, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] query/three eqs" + }, + { + "test": { + "filename": "[POST] query/GT LT.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/query", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"attribute\": \"capacity\",\n \"operator\": \">\",\n \"value\": \"8\"\n },\n {\n \"attribute\": \"maxMoves\",\n \"operator\": \"<\",\n \"value\": \"2000\"\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:46 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "5", + "10" + ], + "url": "http://localhost/api/v1/query", + "responseTime": 76 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "mziyj4MKSxVO03_6TGNBV", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + }, + { + "uid": "enui8arRFbBTMf-zKz76v", + "lhsExpr": "res.body", + "rhsExpr": "length 2", + "rhsOperand": "2", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "6WrlpPBiUJ7x8x34D9Ry2" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "Non5XCIulDZoewf-c7-Vk" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.078568213, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] query/GT LT" + }, + { + "test": { + "filename": "[POST] query/GT LT -contradict.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/query", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"attribute\": \"capacity\",\n \"operator\": \">\",\n \"value\": \"8\"\n },\n {\n \"attribute\": \"capacity\",\n \"operator\": \"<\",\n \"value\": \"8\"\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:46 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [], + "url": "http://localhost/api/v1/query", + "responseTime": 63 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "buPtk6jxdJRjPL5SPOIf6", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + }, + { + "uid": "eZKeCJT1Ysir80dPGRRy_", + "lhsExpr": "res.body", + "rhsExpr": "length 0", + "rhsOperand": "0", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "3339g4vC_g25GGg4vfQbN" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.06670975, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] query/GT LT -contradict" + }, + { + "test": { + "filename": "[POST] query/GT LT EQ.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/query", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"attribute\": \"capacity\",\n \"operator\": \">\",\n \"value\": \"8\"\n },\n {\n \"attribute\": \"maxMoves\",\n \"operator\": \"<\",\n \"value\": \"2000\"\n },\n {\n \"attribute\": \"cooling\",\n \"operator\": \"=\",\n \"value\": \"true\"\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:46 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "5" + ], + "url": "http://localhost/api/v1/query", + "responseTime": 87 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "sNQwBAiQlU6LI2FVO9fbl", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + }, + { + "uid": "KVG1JlmmRS8JH31zHabh0", + "lhsExpr": "res.body", + "rhsExpr": "length 1", + "rhsOperand": "1", + "operator": "length", + "status": "pass" + } + ], + "testResults": [ + { + "description": "Response body is a JSON array", + "status": "pass", + "uid": "L7Dg2A_ZhWmq-Tj1627Aa" + }, + { + "description": "Array is not empty and contains Strings", + "status": "pass", + "uid": "upWqJnjlVGI2JWDX-LAZ0" + } + ], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.091069283, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] query/GT LT EQ" + }, + { + "test": { + "filename": "[POST] queryAvailableDrones/Example.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/queryAvailableDrones", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"id\": 123,\n \"date\": \"2025-12-22\",\n \"time\": \"14:30\",\n \"requirements\": {\n \"capacity\": 0.75,\n \"cooling\": false,\n \"heating\": true,\n \"maxCost\": 13.5\n },\n \"delivery\": {\n \"lng\": -3.00,\n \"lat\": 55.121\n }\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:46 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "1", + "2", + "6", + "7", + "9" + ], + "url": "http://localhost/api/v1/queryAvailableDrones", + "responseTime": 241 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "ojrWTnoRFN7-r3w4fbtH4", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.24214199, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] queryAvailableDrones/Example" + }, + { + "test": { + "filename": "[POST] queryAvailableDrones/Treat Null as False (Cooling).bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/queryAvailableDrones", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"id\": 123,\n \"date\": \"2025-12-22\",\n \"time\": \"14:30\",\n \"requirements\": {\n \"capacity\": 0.75,\n \"heating\": true,\n \"maxCost\": 13.5\n },\n \"delivery\": null\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:46 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "1", + "2", + "6", + "7", + "9" + ], + "url": "http://localhost/api/v1/queryAvailableDrones", + "responseTime": 242 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "mxIUxUNKsdqrHrGIpwHW3", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.243886427, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] queryAvailableDrones/Treat Null as False (Cooling)" + }, + { + "test": { + "filename": "[POST] queryAvailableDrones/Complex.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/queryAvailableDrones", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"id\": 123,\n \"date\": \"2025-12-22\",\n \"time\": \"14:30\",\n \"requirements\": {\n \"capacity\": 0.75,\n \"heating\": true,\n \"maxCost\": 13.5\n },\n \"delivery\": {\n \"lng\": -3.00,\n \"lat\": 55.121\n }\n },\n {\n \"id\": 456,\n \"date\": \"2025-12-25\",\n \"time\": \"11:30\",\n \"requirements\": {\n \"capacity\": 0.75,\n \"heating\": true,\n \"maxCost\": 13.5\n }, \n \"delivery\": {\n \"lng\": -3.00,\n \"lat\": 55.121\n }\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:47 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": [ + "2", + "7", + "9" + ], + "url": "http://localhost/api/v1/queryAvailableDrones", + "responseTime": 325 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "l12JLAlSYv9rIMlupFAcA", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.326378616, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] queryAvailableDrones/Complex" + }, + { + "test": { + "filename": "[POST] queryAvailableDrones/Complex copy.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/calcDeliveryPathAsGeoJson", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"id\": 123,\n \"date\": \"2025-12-22\",\n \"time\": \"14:30\",\n \"requirements\": {\n \"capacity\": 0.75,\n \"heating\": true,\n \"maxCost\": 13.5\n },\n \"delivery\": {\n \"lng\": -3.17,\n \"lat\": 55.9\n }\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "content-length": "25604", + "date": "Thu, 27 Nov 2025 12:39:47 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "droneId": 1, + "deliveryId": 123 + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + -3.1863580788986368, + 55.94468066708487 + ], + [ + -3.186300676383782, + 55.94454208515499 + ], + [ + -3.1862432738689273, + 55.94440350322512 + ], + [ + -3.1861858713540725, + 55.94426492129524 + ], + [ + -3.1861284688392177, + 55.94412633936537 + ], + [ + -3.186071066324363, + 55.943987757435494 + ], + [ + -3.1860136638095082, + 55.94384917550562 + ], + [ + -3.1859562612946535, + 55.943710593575744 + ], + [ + -3.1858988587797987, + 55.94357201164587 + ], + [ + -3.185841456264944, + 55.943433429715995 + ], + [ + -3.185784053750089, + 55.94329484778612 + ], + [ + -3.1857266512352345, + 55.943156265856246 + ], + [ + -3.1856692487203797, + 55.94301768392637 + ], + [ + -3.185611846205525, + 55.942879101996496 + ], + [ + -3.18555444369067, + 55.94274052006662 + ], + [ + -3.1854970411758154, + 55.94260193813675 + ], + [ + -3.1854396386609607, + 55.94246335620687 + ], + [ + -3.185382236146106, + 55.942324774277 + ], + [ + -3.185324833631251, + 55.94218619234712 + ], + [ + -3.1852674311163964, + 55.94204761041725 + ], + [ + -3.1852100286015417, + 55.94190902848737 + ], + [ + -3.185152626086687, + 55.9417704465575 + ], + [ + -3.185095223571832, + 55.941631864627624 + ], + [ + -3.1850378210569774, + 55.94149328269775 + ], + [ + -3.1849804185421227, + 55.941354700767874 + ], + [ + -3.184923016027268, + 55.941216118838 + ], + [ + -3.184865613512413, + 55.941077536908125 + ], + [ + -3.1848082109975584, + 55.94093895497825 + ], + [ + -3.1847508084827036, + 55.940800373048376 + ], + [ + -3.184693405967849, + 55.9406617911185 + ], + [ + -3.184636003452994, + 55.940523209188626 + ], + [ + -3.1845786009381394, + 55.94038462725875 + ], + [ + -3.1845211984232846, + 55.94024604532888 + ], + [ + -3.18446379590843, + 55.940107463399 + ], + [ + -3.184406393393575, + 55.93996888146913 + ], + [ + -3.1843489908787204, + 55.93983029953925 + ], + [ + -3.1842915883638656, + 55.93969171760938 + ], + [ + -3.184234185849011, + 55.9395531356795 + ], + [ + -3.184176783334156, + 55.93941455374963 + ], + [ + -3.1841193808193013, + 55.939275971819754 + ], + [ + -3.1840619783044466, + 55.93913738988988 + ], + [ + -3.184004575789592, + 55.938998807960004 + ], + [ + -3.183947173274737, + 55.93886022603013 + ], + [ + -3.1838897707598823, + 55.938721644100255 + ], + [ + -3.1838323682450276, + 55.93858306217038 + ], + [ + -3.183774965730173, + 55.938444480240506 + ], + [ + -3.183717563215318, + 55.93830589831063 + ], + [ + -3.1836601607004633, + 55.938167316380756 + ], + [ + -3.1836027581856086, + 55.93802873445088 + ], + [ + -3.183545355670754, + 55.93789015252101 + ], + [ + -3.183487953155899, + 55.93775157059113 + ], + [ + -3.1834305506410443, + 55.93761298866126 + ], + [ + -3.1833731481261895, + 55.93747440673138 + ], + [ + -3.183315745611335, + 55.93733582480151 + ], + [ + -3.18325834309648, + 55.93719724287163 + ], + [ + -3.1832009405816253, + 55.93705866094176 + ], + [ + -3.1831435380667705, + 55.936920079011884 + ], + [ + -3.1830861355519158, + 55.93678149708201 + ], + [ + -3.183028733037061, + 55.936642915152134 + ], + [ + -3.1829713305222063, + 55.93650433322226 + ], + [ + -3.1829139280073515, + 55.936365751292385 + ], + [ + -3.1828565254924968, + 55.93622716936251 + ], + [ + -3.182799122977642, + 55.936088587432636 + ], + [ + -3.1827417204627872, + 55.93595000550276 + ], + [ + -3.1826843179479325, + 55.935811423572886 + ], + [ + -3.1826269154330777, + 55.93567284164301 + ], + [ + -3.182569512918223, + 55.93553425971314 + ], + [ + -3.1825121104033682, + 55.93539567778326 + ], + [ + -3.1824547078885135, + 55.93525709585339 + ], + [ + -3.1823973053736587, + 55.93511851392351 + ], + [ + -3.182339902858804, + 55.93497993199364 + ], + [ + -3.182282500343949, + 55.93484135006376 + ], + [ + -3.1822250978290945, + 55.93470276813389 + ], + [ + -3.1821676953142397, + 55.934564186204014 + ], + [ + -3.182110292799385, + 55.93442560427414 + ], + [ + -3.18205289028453, + 55.934287022344265 + ], + [ + -3.1819954877696754, + 55.93414844041439 + ], + [ + -3.1819380852548207, + 55.934009858484515 + ], + [ + -3.181880682739966, + 55.93387127655464 + ], + [ + -3.181823280225111, + 55.933732694624766 + ], + [ + -3.1817658777102564, + 55.93359411269489 + ], + [ + -3.1817084751954017, + 55.933455530765016 + ], + [ + -3.181651072680547, + 55.93331694883514 + ], + [ + -3.181593670165692, + 55.93317836690527 + ], + [ + -3.1815362676508374, + 55.93303978497539 + ], + [ + -3.1814788651359827, + 55.93290120304552 + ], + [ + -3.181421462621128, + 55.93276262111564 + ], + [ + -3.181364060106273, + 55.93262403918577 + ], + [ + -3.1813066575914184, + 55.93248545725589 + ], + [ + -3.1812492550765636, + 55.93234687532602 + ], + [ + -3.181191852561709, + 55.932208293396144 + ], + [ + -3.181134450046854, + 55.93206971146627 + ], + [ + -3.1810770475319994, + 55.931931129536395 + ], + [ + -3.1810196450171446, + 55.93179254760652 + ], + [ + -3.18096224250229, + 55.931653965676645 + ], + [ + -3.180904839987435, + 55.93151538374677 + ], + [ + -3.1808474374725804, + 55.931376801816896 + ], + [ + -3.1807900349577256, + 55.93123821988702 + ], + [ + -3.180732632442871, + 55.931099637957146 + ], + [ + -3.180675229928016, + 55.93096105602727 + ], + [ + -3.1806178274131613, + 55.9308224740974 + ], + [ + -3.1805604248983066, + 55.93068389216752 + ], + [ + -3.180503022383452, + 55.93054531023765 + ], + [ + -3.180445619868597, + 55.93040672830777 + ], + [ + -3.1803882173537423, + 55.9302681463779 + ], + [ + -3.1803308148388876, + 55.93012956444802 + ], + [ + -3.180273412324033, + 55.92999098251815 + ], + [ + -3.180216009809178, + 55.929852400588274 + ], + [ + -3.1801586072943233, + 55.9297138186584 + ], + [ + -3.1801012047794686, + 55.929575236728525 + ], + [ + -3.180043802264614, + 55.92943665479865 + ], + [ + -3.179986399749759, + 55.929298072868775 + ], + [ + -3.1799289972349043, + 55.9291594909389 + ], + [ + -3.1798715947200495, + 55.929020909009026 + ], + [ + -3.179814192205195, + 55.92888232707915 + ], + [ + -3.17975678969034, + 55.928743745149276 + ], + [ + -3.1796993871754853, + 55.9286051632194 + ], + [ + -3.1796419846606305, + 55.92846658128953 + ], + [ + -3.1795845821457758, + 55.92832799935965 + ], + [ + -3.179527179630921, + 55.92818941742978 + ], + [ + -3.1794697771160663, + 55.9280508354999 + ], + [ + -3.1794123746012115, + 55.92791225357003 + ], + [ + -3.1793549720863568, + 55.92777367164015 + ], + [ + -3.179297569571502, + 55.92763508971028 + ], + [ + -3.1792401670566472, + 55.927496507780404 + ], + [ + -3.1791827645417925, + 55.92735792585053 + ], + [ + -3.1791253620269377, + 55.927219343920655 + ], + [ + -3.179067959512083, + 55.92708076199078 + ], + [ + -3.1790105569972282, + 55.926942180060905 + ], + [ + -3.1789531544823735, + 55.92680359813103 + ], + [ + -3.1788957519675187, + 55.926665016201156 + ], + [ + -3.178838349452664, + 55.92652643427128 + ], + [ + -3.178780946937809, + 55.926387852341406 + ], + [ + -3.1787235444229545, + 55.92624927041153 + ], + [ + -3.1786661419080997, + 55.92611068848166 + ], + [ + -3.178608739393245, + 55.92597210655178 + ], + [ + -3.17855133687839, + 55.92583352462191 + ], + [ + -3.1784939343635354, + 55.92569494269203 + ], + [ + -3.1784365318486807, + 55.92555636076216 + ], + [ + -3.178379129333826, + 55.92541777883228 + ], + [ + -3.178321726818971, + 55.92527919690241 + ], + [ + -3.1782643243041164, + 55.925140614972534 + ], + [ + -3.1782069217892617, + 55.92500203304266 + ], + [ + -3.178149519274407, + 55.924863451112785 + ], + [ + -3.178092116759552, + 55.92472486918291 + ], + [ + -3.1780347142446974, + 55.924586287253035 + ], + [ + -3.1779773117298427, + 55.92444770532316 + ], + [ + -3.177919909214988, + 55.924309123393286 + ], + [ + -3.177862506700133, + 55.92417054146341 + ], + [ + -3.1778051041852784, + 55.92403195953354 + ], + [ + -3.1777477016704236, + 55.92389337760366 + ], + [ + -3.177690299155569, + 55.92375479567379 + ], + [ + -3.177632896640714, + 55.92361621374391 + ], + [ + -3.1775754941258594, + 55.92347763181404 + ], + [ + -3.1775180916110046, + 55.92333904988416 + ], + [ + -3.17746068909615, + 55.92320046795429 + ], + [ + -3.177403286581295, + 55.92306188602441 + ], + [ + -3.1773458840664404, + 55.92292330409454 + ], + [ + -3.1772884815515856, + 55.922784722164664 + ], + [ + -3.177231079036731, + 55.92264614023479 + ], + [ + -3.177173676521876, + 55.922507558304915 + ], + [ + -3.1771162740070213, + 55.92236897637504 + ], + [ + -3.1770588714921666, + 55.922230394445165 + ], + [ + -3.177001468977312, + 55.92209181251529 + ], + [ + -3.176944066462457, + 55.921953230585416 + ], + [ + -3.1768866639476023, + 55.92181464865554 + ], + [ + -3.1768292614327476, + 55.92167606672567 + ], + [ + -3.176771858917893, + 55.92153748479579 + ], + [ + -3.176714456403038, + 55.92139890286592 + ], + [ + -3.1766570538881833, + 55.92126032093604 + ], + [ + -3.1765996513733286, + 55.92112173900617 + ], + [ + -3.176542248858474, + 55.92098315707629 + ], + [ + -3.176484846343619, + 55.92084457514642 + ], + [ + -3.1764274438287643, + 55.920705993216544 + ], + [ + -3.1763700413139095, + 55.92056741128667 + ], + [ + -3.176312638799055, + 55.920428829356794 + ], + [ + -3.1762552362842, + 55.92029024742692 + ], + [ + -3.1761978337693453, + 55.920151665497045 + ], + [ + -3.1761404312544905, + 55.92001308356717 + ], + [ + -3.1760830287396358, + 55.919874501637295 + ], + [ + -3.176025626224781, + 55.91973591970742 + ], + [ + -3.1759682237099263, + 55.919597337777546 + ], + [ + -3.1759108211950715, + 55.91945875584767 + ], + [ + -3.1758534186802168, + 55.9193201739178 + ], + [ + -3.175796016165362, + 55.91918159198792 + ], + [ + -3.1757386136505072, + 55.91904301005805 + ], + [ + -3.1756812111356525, + 55.91890442812817 + ], + [ + -3.1756238086207977, + 55.9187658461983 + ], + [ + -3.175566406105943, + 55.91862726426842 + ], + [ + -3.1755090035910882, + 55.91848868233855 + ], + [ + -3.1754516010762335, + 55.918350100408674 + ], + [ + -3.1753941985613787, + 55.9182115184788 + ], + [ + -3.175336796046524, + 55.918072936548924 + ], + [ + -3.175279393531669, + 55.91793435461905 + ], + [ + -3.1752219910168145, + 55.917795772689175 + ], + [ + -3.1751645885019597, + 55.9176571907593 + ], + [ + -3.175107185987105, + 55.917518608829425 + ], + [ + -3.17504978347225, + 55.91738002689955 + ], + [ + -3.1749923809573954, + 55.917241444969676 + ], + [ + -3.1749349784425407, + 55.9171028630398 + ], + [ + -3.174877575927686, + 55.91696428110993 + ], + [ + -3.174820173412831, + 55.91682569918005 + ], + [ + -3.1747627708979764, + 55.91668711725018 + ], + [ + -3.1747053683831217, + 55.9165485353203 + ], + [ + -3.174647965868267, + 55.91640995339043 + ], + [ + -3.174590563353412, + 55.91627137146055 + ], + [ + -3.1745331608385574, + 55.91613278953068 + ], + [ + -3.1744757583237027, + 55.915994207600804 + ], + [ + -3.174418355808848, + 55.91585562567093 + ], + [ + -3.174360953293993, + 55.915717043741054 + ], + [ + -3.1743035507791384, + 55.91557846181118 + ], + [ + -3.1742461482642836, + 55.915439879881305 + ], + [ + -3.174188745749429, + 55.91530129795143 + ], + [ + -3.174131343234574, + 55.915162716021555 + ], + [ + -3.1740739407197194, + 55.91502413409168 + ], + [ + -3.1740165382048646, + 55.914885552161806 + ], + [ + -3.17395913569001, + 55.91474697023193 + ], + [ + -3.173901733175155, + 55.91460838830206 + ], + [ + -3.1738443306603004, + 55.91446980637218 + ], + [ + -3.1737869281454456, + 55.91433122444231 + ], + [ + -3.173729525630591, + 55.91419264251243 + ], + [ + -3.173672123115736, + 55.91405406058256 + ], + [ + -3.1736147206008813, + 55.91391547865268 + ], + [ + -3.1735573180860266, + 55.91377689672281 + ], + [ + -3.173499915571172, + 55.913638314792934 + ], + [ + -3.173442513056317, + 55.91349973286306 + ], + [ + -3.1733851105414623, + 55.913361150933184 + ], + [ + -3.1733277080266076, + 55.91322256900331 + ], + [ + -3.173270305511753, + 55.913083987073435 + ], + [ + -3.173212902996898, + 55.91294540514356 + ], + [ + -3.1731555004820433, + 55.912806823213685 + ], + [ + -3.1730980979671886, + 55.91266824128381 + ], + [ + -3.173040695452334, + 55.912529659353936 + ], + [ + -3.172983292937479, + 55.91239107742406 + ], + [ + -3.1729258904226243, + 55.91225249549419 + ], + [ + -3.1728684879077695, + 55.91211391356431 + ], + [ + -3.172811085392915, + 55.91197533163444 + ], + [ + -3.17275368287806, + 55.91183674970456 + ], + [ + -3.1726962803632053, + 55.91169816777469 + ], + [ + -3.1726388778483505, + 55.91155958584481 + ], + [ + -3.1725814753334958, + 55.91142100391494 + ], + [ + -3.172524072818641, + 55.911282421985064 + ], + [ + -3.1724666703037863, + 55.91114384005519 + ], + [ + -3.1724092677889315, + 55.911005258125314 + ], + [ + -3.1723518652740768, + 55.91086667619544 + ], + [ + -3.172294462759222, + 55.910728094265565 + ], + [ + -3.1722370602443672, + 55.91058951233569 + ], + [ + -3.1721796577295125, + 55.910450930405815 + ], + [ + -3.1721222552146577, + 55.91031234847594 + ], + [ + -3.172064852699803, + 55.910173766546066 + ], + [ + -3.1720074501849482, + 55.91003518461619 + ], + [ + -3.1719500476700935, + 55.90989660268632 + ], + [ + -3.1719500476700935, + 55.90974660268632 + ], + [ + -3.1718926451552387, + 55.909608020756444 + ], + [ + -3.1718926451552387, + 55.909458020756446 + ], + [ + -3.171835242640384, + 55.90931943882657 + ], + [ + -3.171835242640384, + 55.909169438826574 + ], + [ + -3.171777840125529, + 55.9090308568967 + ], + [ + -3.171777840125529, + 55.9088808568967 + ], + [ + -3.1717204376106745, + 55.908742274966826 + ], + [ + -3.1717204376106745, + 55.90859227496683 + ], + [ + -3.1716630350958197, + 55.908453693036954 + ], + [ + -3.1716630350958197, + 55.908303693036956 + ], + [ + -3.171605632580965, + 55.90816511110708 + ], + [ + -3.171605632580965, + 55.90801511110708 + ], + [ + -3.17154823006611, + 55.90787652917721 + ], + [ + -3.17154823006611, + 55.90772652917721 + ], + [ + -3.1714908275512554, + 55.907587947247336 + ], + [ + -3.1714908275512554, + 55.90743794724734 + ], + [ + -3.1714334250364007, + 55.90729936531746 + ], + [ + -3.1714334250364007, + 55.907149365317466 + ], + [ + -3.171376022521546, + 55.90701078338759 + ], + [ + -3.171376022521546, + 55.90686078338759 + ], + [ + -3.171318620006691, + 55.90672220145772 + ], + [ + -3.171318620006691, + 55.90657220145772 + ], + [ + -3.1712612174918364, + 55.906433619527846 + ], + [ + -3.1712612174918364, + 55.90628361952785 + ], + [ + -3.1712038149769817, + 55.90614503759797 + ], + [ + -3.1712038149769817, + 55.905995037597975 + ], + [ + -3.171146412462127, + 55.9058564556681 + ], + [ + -3.171146412462127, + 55.9057064556681 + ], + [ + -3.171089009947272, + 55.90556787373823 + ], + [ + -3.171089009947272, + 55.90541787373823 + ], + [ + -3.1710316074324174, + 55.905279291808355 + ], + [ + -3.1710316074324174, + 55.90512929180836 + ], + [ + -3.1709742049175627, + 55.90499070987848 + ], + [ + -3.1709742049175627, + 55.904840709878485 + ], + [ + -3.170916802402708, + 55.90470212794861 + ], + [ + -3.170916802402708, + 55.90455212794861 + ], + [ + -3.170859399887853, + 55.90441354601874 + ], + [ + -3.170859399887853, + 55.90426354601874 + ], + [ + -3.1708019973729984, + 55.904124964088865 + ], + [ + -3.1708019973729984, + 55.90397496408887 + ], + [ + -3.1707445948581436, + 55.90383638215899 + ], + [ + -3.1707445948581436, + 55.903686382158995 + ], + [ + -3.170687192343289, + 55.90354780022912 + ], + [ + -3.170687192343289, + 55.90339780022912 + ], + [ + -3.170629789828434, + 55.90325921829925 + ], + [ + -3.170629789828434, + 55.90310921829925 + ], + [ + -3.1705723873135794, + 55.902970636369375 + ], + [ + -3.1705723873135794, + 55.90282063636938 + ], + [ + -3.1705149847987246, + 55.9026820544395 + ], + [ + -3.1705149847987246, + 55.902532054439504 + ], + [ + -3.17045758228387, + 55.90239347250963 + ], + [ + -3.17045758228387, + 55.90224347250963 + ], + [ + -3.170400179769015, + 55.90210489057976 + ], + [ + -3.170400179769015, + 55.90195489057976 + ], + [ + -3.1703427772541604, + 55.901816308649884 + ], + [ + -3.1703427772541604, + 55.90166630864989 + ], + [ + -3.1702853747393056, + 55.90152772672001 + ], + [ + -3.1702853747393056, + 55.901377726720014 + ], + [ + -3.170227972224451, + 55.90123914479014 + ], + [ + -3.170227972224451, + 55.90108914479014 + ], + [ + -3.170170569709596, + 55.90095056286027 + ], + [ + -3.170170569709596, + 55.90080056286027 + ], + [ + -3.1701131671947413, + 55.900661980930394 + ], + [ + -3.1701131671947413, + 55.900511980930396 + ], + [ + -3.1700557646798866, + 55.90037339900052 + ], + [ + -3.1700557646798866, + 55.900223399000524 + ], + [ + -3.169998362165032, + 55.90008481707065 + ], + [ + -3.17, + 55.9 + ], + [ + -3.17, + 55.9 + ], + [ + -3.1700574025148547, + 55.90013858192987 + ], + [ + -3.1701148050297094, + 55.90027716385975 + ], + [ + -3.170172207544564, + 55.90041574578962 + ], + [ + -3.170229610059419, + 55.9005543277195 + ], + [ + -3.1702870125742737, + 55.90069290964937 + ], + [ + -3.1703444150891285, + 55.90083149157925 + ], + [ + -3.170401817603983, + 55.90097007350912 + ], + [ + -3.170459220118838, + 55.901108655438996 + ], + [ + -3.1705166226336927, + 55.90124723736887 + ], + [ + -3.1705740251485475, + 55.901385819298746 + ], + [ + -3.1706314276634022, + 55.90152440122862 + ], + [ + -3.170688830178257, + 55.901662983158495 + ], + [ + -3.1707462326931117, + 55.90180156508837 + ], + [ + -3.1708036352079665, + 55.901940147018244 + ], + [ + -3.1708610377228212, + 55.90207872894812 + ], + [ + -3.170918440237676, + 55.902217310877994 + ], + [ + -3.1709758427525307, + 55.90235589280787 + ], + [ + -3.1710332452673855, + 55.90249447473774 + ], + [ + -3.1710906477822403, + 55.90263305666762 + ], + [ + -3.171148050297095, + 55.90277163859749 + ], + [ + -3.1712054528119498, + 55.90291022052737 + ], + [ + -3.1712628553268045, + 55.90304880245724 + ], + [ + -3.1713202578416593, + 55.90318738438712 + ], + [ + -3.171377660356514, + 55.90332596631699 + ], + [ + -3.171435062871369, + 55.903464548246866 + ], + [ + -3.1714924653862235, + 55.90360313017674 + ], + [ + -3.1715498679010783, + 55.903741712106616 + ], + [ + -3.171607270415933, + 55.90388029403649 + ], + [ + -3.171664672930788, + 55.904018875966365 + ], + [ + -3.1717220754456426, + 55.90415745789624 + ], + [ + -3.1717794779604973, + 55.904296039826114 + ], + [ + -3.171836880475352, + 55.90443462175599 + ], + [ + -3.171894282990207, + 55.904573203685864 + ], + [ + -3.1719516855050616, + 55.90471178561574 + ], + [ + -3.1720090880199163, + 55.90485036754561 + ], + [ + -3.172066490534771, + 55.90498894947549 + ], + [ + -3.172123893049626, + 55.90512753140536 + ], + [ + -3.1721812955644806, + 55.90526611333524 + ], + [ + -3.1722386980793353, + 55.90540469526511 + ], + [ + -3.17229610059419, + 55.90554327719499 + ], + [ + -3.172353503109045, + 55.90568185912486 + ], + [ + -3.1724109056238996, + 55.905820441054736 + ], + [ + -3.1724683081387544, + 55.90595902298461 + ], + [ + -3.172525710653609, + 55.906097604914486 + ], + [ + -3.172583113168464, + 55.90623618684436 + ], + [ + -3.1726405156833186, + 55.906374768774235 + ], + [ + -3.1726979181981734, + 55.90651335070411 + ], + [ + -3.172755320713028, + 55.906651932633984 + ], + [ + -3.172812723227883, + 55.90679051456386 + ], + [ + -3.1728701257427376, + 55.906929096493734 + ], + [ + -3.1729275282575924, + 55.90706767842361 + ], + [ + -3.172984930772447, + 55.90720626035348 + ], + [ + -3.173042333287302, + 55.90734484228336 + ], + [ + -3.1730997358021567, + 55.90748342421323 + ], + [ + -3.1731571383170114, + 55.90762200614311 + ], + [ + -3.173214540831866, + 55.90776058807298 + ], + [ + -3.173271943346721, + 55.90789917000286 + ], + [ + -3.1733293458615757, + 55.90803775193273 + ], + [ + -3.1733867483764304, + 55.908176333862606 + ], + [ + -3.173444150891285, + 55.90831491579248 + ], + [ + -3.17350155340614, + 55.908453497722356 + ], + [ + -3.1735589559209947, + 55.90859207965223 + ], + [ + -3.1736163584358494, + 55.908730661582105 + ], + [ + -3.173673760950704, + 55.90886924351198 + ], + [ + -3.173731163465559, + 55.909007825441854 + ], + [ + -3.1737885659804137, + 55.90914640737173 + ], + [ + -3.1738459684952685, + 55.909284989301604 + ], + [ + -3.173903371010123, + 55.90942357123148 + ], + [ + -3.173960773524978, + 55.90956215316135 + ], + [ + -3.1740181760398327, + 55.90970073509123 + ], + [ + -3.1740755785546875, + 55.9098393170211 + ], + [ + -3.1741329810695422, + 55.90997789895098 + ], + [ + -3.174190383584397, + 55.91011648088085 + ], + [ + -3.1742477860992517, + 55.91025506281073 + ], + [ + -3.1743051886141065, + 55.9103936447406 + ], + [ + -3.1743625911289612, + 55.910532226670476 + ], + [ + -3.174419993643816, + 55.91067080860035 + ], + [ + -3.1744773961586708, + 55.910809390530225 + ], + [ + -3.1745347986735255, + 55.9109479724601 + ], + [ + -3.1745922011883803, + 55.911086554389975 + ], + [ + -3.174649603703235, + 55.91122513631985 + ], + [ + -3.1747070062180898, + 55.911363718249724 + ], + [ + -3.1747644087329445, + 55.9115023001796 + ], + [ + -3.1748218112477993, + 55.911640882109474 + ], + [ + -3.174879213762654, + 55.91177946403935 + ], + [ + -3.174936616277509, + 55.91191804596922 + ], + [ + -3.1749940187923635, + 55.9120566278991 + ], + [ + -3.1750514213072183, + 55.91219520982897 + ], + [ + -3.175108823822073, + 55.91233379175885 + ], + [ + -3.175166226336928, + 55.91247237368872 + ], + [ + -3.1752236288517826, + 55.9126109556186 + ], + [ + -3.1752810313666373, + 55.91274953754847 + ], + [ + -3.175338433881492, + 55.912888119478346 + ], + [ + -3.175395836396347, + 55.91302670140822 + ], + [ + -3.1754532389112016, + 55.913165283338095 + ], + [ + -3.1755106414260563, + 55.91330386526797 + ], + [ + -3.175568043940911, + 55.913442447197845 + ], + [ + -3.175625446455766, + 55.91358102912772 + ], + [ + -3.1756828489706206, + 55.913719611057594 + ], + [ + -3.1757402514854753, + 55.91385819298747 + ], + [ + -3.17579765400033, + 55.913996774917344 + ], + [ + -3.175855056515185, + 55.91413535684722 + ], + [ + -3.1759124590300396, + 55.91427393877709 + ], + [ + -3.1759698615448944, + 55.91441252070697 + ], + [ + -3.176027264059749, + 55.91455110263684 + ], + [ + -3.176084666574604, + 55.91468968456672 + ], + [ + -3.1761420690894586, + 55.91482826649659 + ], + [ + -3.1761994716043134, + 55.91496684842647 + ], + [ + -3.176256874119168, + 55.91510543035634 + ], + [ + -3.176314276634023, + 55.915244012286216 + ], + [ + -3.1763716791488776, + 55.91538259421609 + ], + [ + -3.1764290816637324, + 55.915521176145965 + ], + [ + -3.176486484178587, + 55.91565975807584 + ], + [ + -3.176543886693442, + 55.915798340005715 + ], + [ + -3.1766012892082967, + 55.91593692193559 + ], + [ + -3.1766586917231514, + 55.916075503865464 + ], + [ + -3.176716094238006, + 55.91621408579534 + ], + [ + -3.176773496752861, + 55.916352667725214 + ], + [ + -3.1768308992677157, + 55.91649124965509 + ], + [ + -3.1768883017825704, + 55.91662983158496 + ], + [ + -3.176945704297425, + 55.91676841351484 + ], + [ + -3.17700310681228, + 55.91690699544471 + ], + [ + -3.1770605093271347, + 55.91704557737459 + ], + [ + -3.1771179118419894, + 55.91718415930446 + ], + [ + -3.177175314356844, + 55.91732274123434 + ], + [ + -3.177232716871699, + 55.91746132316421 + ], + [ + -3.1772901193865537, + 55.917599905094086 + ], + [ + -3.1773475219014085, + 55.91773848702396 + ], + [ + -3.177404924416263, + 55.917877068953835 + ], + [ + -3.177462326931118, + 55.91801565088371 + ], + [ + -3.1775197294459727, + 55.918154232813585 + ], + [ + -3.1775771319608275, + 55.91829281474346 + ], + [ + -3.1776345344756822, + 55.918431396673334 + ], + [ + -3.177691936990537, + 55.91856997860321 + ], + [ + -3.1777493395053917, + 55.918708560533084 + ], + [ + -3.1778067420202465, + 55.91884714246296 + ], + [ + -3.1778641445351012, + 55.91898572439283 + ], + [ + -3.177921547049956, + 55.91912430632271 + ], + [ + -3.1779789495648108, + 55.91926288825258 + ], + [ + -3.1780363520796655, + 55.91940147018246 + ], + [ + -3.1780937545945203, + 55.91954005211233 + ], + [ + -3.178151157109375, + 55.91967863404221 + ], + [ + -3.1782085596242298, + 55.91981721597208 + ], + [ + -3.1782659621390845, + 55.919955797901956 + ], + [ + -3.1783233646539393, + 55.92009437983183 + ], + [ + -3.178380767168794, + 55.920232961761705 + ], + [ + -3.178438169683649, + 55.92037154369158 + ], + [ + -3.1784955721985035, + 55.920510125621455 + ], + [ + -3.1785529747133583, + 55.92064870755133 + ], + [ + -3.178610377228213, + 55.920787289481204 + ], + [ + -3.178667779743068, + 55.92092587141108 + ], + [ + -3.1787251822579226, + 55.92106445334095 + ], + [ + -3.1787825847727773, + 55.92120303527083 + ], + [ + -3.178839987287632, + 55.9213416172007 + ], + [ + -3.178897389802487, + 55.92148019913058 + ], + [ + -3.1789547923173416, + 55.92161878106045 + ], + [ + -3.1790121948321963, + 55.92175736299033 + ], + [ + -3.179069597347051, + 55.9218959449202 + ], + [ + -3.179126999861906, + 55.92203452685008 + ], + [ + -3.1791844023767606, + 55.92217310877995 + ], + [ + -3.1792418048916153, + 55.922311690709826 + ], + [ + -3.17929920740647, + 55.9224502726397 + ], + [ + -3.179356609921325, + 55.922588854569575 + ], + [ + -3.1794140124361796, + 55.92272743649945 + ], + [ + -3.1794714149510344, + 55.922866018429325 + ], + [ + -3.179528817465889, + 55.9230046003592 + ], + [ + -3.179586219980744, + 55.923143182289074 + ], + [ + -3.1796436224955986, + 55.92328176421895 + ], + [ + -3.1797010250104534, + 55.92342034614882 + ], + [ + -3.179758427525308, + 55.9235589280787 + ], + [ + -3.179815830040163, + 55.92369751000857 + ], + [ + -3.1798732325550176, + 55.92383609193845 + ], + [ + -3.1799306350698724, + 55.92397467386832 + ], + [ + -3.179988037584727, + 55.9241132557982 + ], + [ + -3.180045440099582, + 55.92425183772807 + ], + [ + -3.1801028426144367, + 55.924390419657946 + ], + [ + -3.1801602451292914, + 55.92452900158782 + ], + [ + -3.180217647644146, + 55.924667583517696 + ], + [ + -3.180275050159001, + 55.92480616544757 + ], + [ + -3.1803324526738557, + 55.924944747377445 + ], + [ + -3.1803898551887104, + 55.92508332930732 + ], + [ + -3.180447257703565, + 55.925221911237195 + ], + [ + -3.18050466021842, + 55.92536049316707 + ], + [ + -3.1805620627332747, + 55.925499075096944 + ], + [ + -3.1806194652481294, + 55.92563765702682 + ], + [ + -3.180676867762984, + 55.92577623895669 + ], + [ + -3.180734270277839, + 55.92591482088657 + ], + [ + -3.1807916727926937, + 55.92605340281644 + ], + [ + -3.1808490753075485, + 55.92619198474632 + ], + [ + -3.180906477822403, + 55.92633056667619 + ], + [ + -3.180963880337258, + 55.92646914860607 + ], + [ + -3.1810212828521127, + 55.92660773053594 + ], + [ + -3.1810786853669675, + 55.926746312465816 + ], + [ + -3.1811360878818222, + 55.92688489439569 + ], + [ + -3.181193490396677, + 55.927023476325566 + ], + [ + -3.1812508929115317, + 55.92716205825544 + ], + [ + -3.1813082954263865, + 55.927300640185315 + ], + [ + -3.1813656979412412, + 55.92743922211519 + ], + [ + -3.181423100456096, + 55.927577804045065 + ], + [ + -3.1814805029709508, + 55.92771638597494 + ], + [ + -3.1815379054858055, + 55.927854967904814 + ], + [ + -3.1815953080006603, + 55.92799354983469 + ], + [ + -3.181652710515515, + 55.92813213176456 + ], + [ + -3.1817101130303698, + 55.92827071369444 + ], + [ + -3.1817675155452245, + 55.92840929562431 + ], + [ + -3.1818249180600793, + 55.92854787755419 + ], + [ + -3.181882320574934, + 55.92868645948406 + ], + [ + -3.181939723089789, + 55.92882504141394 + ], + [ + -3.1819971256046435, + 55.92896362334381 + ], + [ + -3.1820545281194983, + 55.929102205273686 + ], + [ + -3.182111930634353, + 55.92924078720356 + ], + [ + -3.182169333149208, + 55.929379369133436 + ], + [ + -3.1822267356640626, + 55.92951795106331 + ], + [ + -3.1822841381789173, + 55.929656532993185 + ], + [ + -3.182341540693772, + 55.92979511492306 + ], + [ + -3.182398943208627, + 55.929933696852935 + ], + [ + -3.1824563457234816, + 55.93007227878281 + ], + [ + -3.1825137482383363, + 55.930210860712684 + ], + [ + -3.182571150753191, + 55.93034944264256 + ], + [ + -3.182628553268046, + 55.93048802457243 + ], + [ + -3.1826859557829006, + 55.93062660650231 + ], + [ + -3.1827433582977553, + 55.93076518843218 + ], + [ + -3.18280076081261, + 55.93090377036206 + ], + [ + -3.182858163327465, + 55.93104235229193 + ], + [ + -3.1829155658423196, + 55.93118093422181 + ], + [ + -3.1829729683571744, + 55.93131951615168 + ], + [ + -3.183030370872029, + 55.931458098081556 + ], + [ + -3.183087773386884, + 55.93159668001143 + ], + [ + -3.1831451759017386, + 55.931735261941306 + ], + [ + -3.1832025784165934, + 55.93187384387118 + ], + [ + -3.183259980931448, + 55.932012425801055 + ], + [ + -3.183317383446303, + 55.93215100773093 + ], + [ + -3.1833747859611576, + 55.932289589660805 + ], + [ + -3.1834321884760124, + 55.93242817159068 + ], + [ + -3.183489590990867, + 55.932566753520554 + ], + [ + -3.183546993505722, + 55.93270533545043 + ], + [ + -3.1836043960205767, + 55.9328439173803 + ], + [ + -3.1836617985354314, + 55.93298249931018 + ], + [ + -3.183719201050286, + 55.93312108124005 + ], + [ + -3.183776603565141, + 55.93325966316993 + ], + [ + -3.1838340060799957, + 55.9333982450998 + ], + [ + -3.1838914085948504, + 55.93353682702968 + ], + [ + -3.183948811109705, + 55.93367540895955 + ], + [ + -3.18400621362456, + 55.933813990889426 + ], + [ + -3.1840636161394147, + 55.9339525728193 + ], + [ + -3.1841210186542694, + 55.934091154749176 + ], + [ + -3.184178421169124, + 55.93422973667905 + ], + [ + -3.184235823683979, + 55.934368318608925 + ], + [ + -3.1842932261988337, + 55.9345069005388 + ], + [ + -3.1843506287136885, + 55.934645482468675 + ], + [ + -3.184408031228543, + 55.93478406439855 + ], + [ + -3.184408031228543, + 55.93493406439855 + ], + [ + -3.184465433743398, + 55.93507264632842 + ], + [ + -3.184465433743398, + 55.93522264632842 + ], + [ + -3.1845228362582527, + 55.935361228258294 + ], + [ + -3.1845228362582527, + 55.93551122825829 + ], + [ + -3.1845802387731075, + 55.93564981018817 + ], + [ + -3.1845802387731075, + 55.935799810188165 + ], + [ + -3.1846376412879622, + 55.93593839211804 + ], + [ + -3.1846376412879622, + 55.93608839211804 + ], + [ + -3.184695043802817, + 55.93622697404791 + ], + [ + -3.184695043802817, + 55.93637697404791 + ], + [ + -3.1847524463176717, + 55.936515555977785 + ], + [ + -3.1847524463176717, + 55.93666555597778 + ], + [ + -3.1848098488325265, + 55.93680413790766 + ], + [ + -3.1848098488325265, + 55.936954137907655 + ], + [ + -3.1848672513473812, + 55.93709271983753 + ], + [ + -3.1848672513473812, + 55.93724271983753 + ], + [ + -3.184924653862236, + 55.9373813017674 + ], + [ + -3.184924653862236, + 55.9375313017674 + ], + [ + -3.1849820563770908, + 55.937669883697275 + ], + [ + -3.1849820563770908, + 55.93781988369727 + ], + [ + -3.1850394588919455, + 55.93795846562715 + ], + [ + -3.1850394588919455, + 55.938108465627145 + ], + [ + -3.1850968614068003, + 55.93824704755702 + ], + [ + -3.1850968614068003, + 55.93839704755702 + ], + [ + -3.185154263921655, + 55.93853562948689 + ], + [ + -3.185154263921655, + 55.93868562948689 + ], + [ + -3.1852116664365098, + 55.938824211416765 + ], + [ + -3.1852116664365098, + 55.93897421141676 + ], + [ + -3.1852690689513645, + 55.93911279334664 + ], + [ + -3.1852690689513645, + 55.939262793346636 + ], + [ + -3.1853264714662193, + 55.93940137527651 + ], + [ + -3.1853264714662193, + 55.93955137527651 + ], + [ + -3.185383873981074, + 55.93968995720638 + ], + [ + -3.185383873981074, + 55.93983995720638 + ], + [ + -3.185441276495929, + 55.939978539136256 + ], + [ + -3.185441276495929, + 55.94012853913625 + ], + [ + -3.1854986790107835, + 55.94026712106613 + ], + [ + -3.1854986790107835, + 55.940417121066126 + ], + [ + -3.1855560815256383, + 55.940555702996 + ], + [ + -3.1855560815256383, + 55.940705702996 + ], + [ + -3.185613484040493, + 55.94084428492587 + ], + [ + -3.185613484040493, + 55.94099428492587 + ], + [ + -3.185670886555348, + 55.941132866855746 + ], + [ + -3.185670886555348, + 55.941282866855744 + ], + [ + -3.1857282890702026, + 55.94142144878562 + ], + [ + -3.1857282890702026, + 55.941571448785616 + ], + [ + -3.1857856915850573, + 55.94171003071549 + ], + [ + -3.1857856915850573, + 55.94186003071549 + ], + [ + -3.185843094099912, + 55.941998612645364 + ], + [ + -3.185843094099912, + 55.94214861264536 + ], + [ + -3.185900496614767, + 55.942287194575236 + ], + [ + -3.185900496614767, + 55.942437194575234 + ], + [ + -3.1859578991296216, + 55.94257577650511 + ], + [ + -3.1859578991296216, + 55.94272577650511 + ], + [ + -3.1860153016444763, + 55.94286435843498 + ], + [ + -3.1860153016444763, + 55.94301435843498 + ], + [ + -3.186072704159331, + 55.943152940364854 + ], + [ + -3.186072704159331, + 55.94330294036485 + ], + [ + -3.186130106674186, + 55.94344152229473 + ], + [ + -3.186130106674186, + 55.943591522294724 + ], + [ + -3.1861875091890406, + 55.9437301042246 + ], + [ + -3.1861875091890406, + 55.9438801042246 + ], + [ + -3.1862449117038953, + 55.94401868615447 + ], + [ + -3.1862449117038953, + 55.94416868615447 + ], + [ + -3.18630231421875, + 55.944307268084344 + ], + [ + -3.18630231421875, + 55.94445726808434 + ], + [ + -3.186359716733605, + 55.94459585001422 + ], + [ + -3.1863580788986368, + 55.94468066708487 + ] + ] + } + } + ] + }, + "url": "http://localhost/api/v1/calcDeliveryPathAsGeoJson", + "responseTime": 205 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "ZnBj_4yIX6k4iarI_H9bv", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.206411059, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] queryAvailableDrones/Complex copy" + }, + { + "test": { + "filename": "[POST] queryAvailableDrones/Complex copy copy.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/calcDeliveryPath", + "headers": { + "content-type": "application/json" + }, + "data": "[\n {\n \"id\": 123,\n \"date\": \"2025-12-22\",\n \"time\": \"14:30\",\n \"requirements\": {\n \"capacity\": 0.75,\n \"heating\": true,\n \"maxCost\": 13.5\n },\n \"delivery\": {\n \"lng\": -3.17,\n \"lat\": 55.9\n }\n }\n]" + }, + "response": { + "status": 200, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:47 GMT", + "keep-alive": "timeout=60", + "connection": "keep-alive" + }, + "data": { + "totalCost": 17.2, + "totalMoves": 640, + "dronePaths": [ + { + "droneId": 1, + "deliveries": [ + { + "deliveryId": 123, + "flightPath": [ + { + "lng": -3.1863580788986368, + "lat": 55.94468066708487 + }, + { + "lng": -3.186300676383782, + "lat": 55.94454208515499 + }, + { + "lng": -3.1862432738689273, + "lat": 55.94440350322512 + }, + { + "lng": -3.1861858713540725, + "lat": 55.94426492129524 + }, + { + "lng": -3.1861284688392177, + "lat": 55.94412633936537 + }, + { + "lng": -3.186071066324363, + "lat": 55.943987757435494 + }, + { + "lng": -3.1860136638095082, + "lat": 55.94384917550562 + }, + { + "lng": -3.1859562612946535, + "lat": 55.943710593575744 + }, + { + "lng": -3.1858988587797987, + "lat": 55.94357201164587 + }, + { + "lng": -3.185841456264944, + "lat": 55.943433429715995 + }, + { + "lng": -3.185784053750089, + "lat": 55.94329484778612 + }, + { + "lng": -3.1857266512352345, + "lat": 55.943156265856246 + }, + { + "lng": -3.1856692487203797, + "lat": 55.94301768392637 + }, + { + "lng": -3.185611846205525, + "lat": 55.942879101996496 + }, + { + "lng": -3.18555444369067, + "lat": 55.94274052006662 + }, + { + "lng": -3.1854970411758154, + "lat": 55.94260193813675 + }, + { + "lng": -3.1854396386609607, + "lat": 55.94246335620687 + }, + { + "lng": -3.185382236146106, + "lat": 55.942324774277 + }, + { + "lng": -3.185324833631251, + "lat": 55.94218619234712 + }, + { + "lng": -3.1852674311163964, + "lat": 55.94204761041725 + }, + { + "lng": -3.1852100286015417, + "lat": 55.94190902848737 + }, + { + "lng": -3.185152626086687, + "lat": 55.9417704465575 + }, + { + "lng": -3.185095223571832, + "lat": 55.941631864627624 + }, + { + "lng": -3.1850378210569774, + "lat": 55.94149328269775 + }, + { + "lng": -3.1849804185421227, + "lat": 55.941354700767874 + }, + { + "lng": -3.184923016027268, + "lat": 55.941216118838 + }, + { + "lng": -3.184865613512413, + "lat": 55.941077536908125 + }, + { + "lng": -3.1848082109975584, + "lat": 55.94093895497825 + }, + { + "lng": -3.1847508084827036, + "lat": 55.940800373048376 + }, + { + "lng": -3.184693405967849, + "lat": 55.9406617911185 + }, + { + "lng": -3.184636003452994, + "lat": 55.940523209188626 + }, + { + "lng": -3.1845786009381394, + "lat": 55.94038462725875 + }, + { + "lng": -3.1845211984232846, + "lat": 55.94024604532888 + }, + { + "lng": -3.18446379590843, + "lat": 55.940107463399 + }, + { + "lng": -3.184406393393575, + "lat": 55.93996888146913 + }, + { + "lng": -3.1843489908787204, + "lat": 55.93983029953925 + }, + { + "lng": -3.1842915883638656, + "lat": 55.93969171760938 + }, + { + "lng": -3.184234185849011, + "lat": 55.9395531356795 + }, + { + "lng": -3.184176783334156, + "lat": 55.93941455374963 + }, + { + "lng": -3.1841193808193013, + "lat": 55.939275971819754 + }, + { + "lng": -3.1840619783044466, + "lat": 55.93913738988988 + }, + { + "lng": -3.184004575789592, + "lat": 55.938998807960004 + }, + { + "lng": -3.183947173274737, + "lat": 55.93886022603013 + }, + { + "lng": -3.1838897707598823, + "lat": 55.938721644100255 + }, + { + "lng": -3.1838323682450276, + "lat": 55.93858306217038 + }, + { + "lng": -3.183774965730173, + "lat": 55.938444480240506 + }, + { + "lng": -3.183717563215318, + "lat": 55.93830589831063 + }, + { + "lng": -3.1836601607004633, + "lat": 55.938167316380756 + }, + { + "lng": -3.1836027581856086, + "lat": 55.93802873445088 + }, + { + "lng": -3.183545355670754, + "lat": 55.93789015252101 + }, + { + "lng": -3.183487953155899, + "lat": 55.93775157059113 + }, + { + "lng": -3.1834305506410443, + "lat": 55.93761298866126 + }, + { + "lng": -3.1833731481261895, + "lat": 55.93747440673138 + }, + { + "lng": -3.183315745611335, + "lat": 55.93733582480151 + }, + { + "lng": -3.18325834309648, + "lat": 55.93719724287163 + }, + { + "lng": -3.1832009405816253, + "lat": 55.93705866094176 + }, + { + "lng": -3.1831435380667705, + "lat": 55.936920079011884 + }, + { + "lng": -3.1830861355519158, + "lat": 55.93678149708201 + }, + { + "lng": -3.183028733037061, + "lat": 55.936642915152134 + }, + { + "lng": -3.1829713305222063, + "lat": 55.93650433322226 + }, + { + "lng": -3.1829139280073515, + "lat": 55.936365751292385 + }, + { + "lng": -3.1828565254924968, + "lat": 55.93622716936251 + }, + { + "lng": -3.182799122977642, + "lat": 55.936088587432636 + }, + { + "lng": -3.1827417204627872, + "lat": 55.93595000550276 + }, + { + "lng": -3.1826843179479325, + "lat": 55.935811423572886 + }, + { + "lng": -3.1826269154330777, + "lat": 55.93567284164301 + }, + { + "lng": -3.182569512918223, + "lat": 55.93553425971314 + }, + { + "lng": -3.1825121104033682, + "lat": 55.93539567778326 + }, + { + "lng": -3.1824547078885135, + "lat": 55.93525709585339 + }, + { + "lng": -3.1823973053736587, + "lat": 55.93511851392351 + }, + { + "lng": -3.182339902858804, + "lat": 55.93497993199364 + }, + { + "lng": -3.182282500343949, + "lat": 55.93484135006376 + }, + { + "lng": -3.1822250978290945, + "lat": 55.93470276813389 + }, + { + "lng": -3.1821676953142397, + "lat": 55.934564186204014 + }, + { + "lng": -3.182110292799385, + "lat": 55.93442560427414 + }, + { + "lng": -3.18205289028453, + "lat": 55.934287022344265 + }, + { + "lng": -3.1819954877696754, + "lat": 55.93414844041439 + }, + { + "lng": -3.1819380852548207, + "lat": 55.934009858484515 + }, + { + "lng": -3.181880682739966, + "lat": 55.93387127655464 + }, + { + "lng": -3.181823280225111, + "lat": 55.933732694624766 + }, + { + "lng": -3.1817658777102564, + "lat": 55.93359411269489 + }, + { + "lng": -3.1817084751954017, + "lat": 55.933455530765016 + }, + { + "lng": -3.181651072680547, + "lat": 55.93331694883514 + }, + { + "lng": -3.181593670165692, + "lat": 55.93317836690527 + }, + { + "lng": -3.1815362676508374, + "lat": 55.93303978497539 + }, + { + "lng": -3.1814788651359827, + "lat": 55.93290120304552 + }, + { + "lng": -3.181421462621128, + "lat": 55.93276262111564 + }, + { + "lng": -3.181364060106273, + "lat": 55.93262403918577 + }, + { + "lng": -3.1813066575914184, + "lat": 55.93248545725589 + }, + { + "lng": -3.1812492550765636, + "lat": 55.93234687532602 + }, + { + "lng": -3.181191852561709, + "lat": 55.932208293396144 + }, + { + "lng": -3.181134450046854, + "lat": 55.93206971146627 + }, + { + "lng": -3.1810770475319994, + "lat": 55.931931129536395 + }, + { + "lng": -3.1810196450171446, + "lat": 55.93179254760652 + }, + { + "lng": -3.18096224250229, + "lat": 55.931653965676645 + }, + { + "lng": -3.180904839987435, + "lat": 55.93151538374677 + }, + { + "lng": -3.1808474374725804, + "lat": 55.931376801816896 + }, + { + "lng": -3.1807900349577256, + "lat": 55.93123821988702 + }, + { + "lng": -3.180732632442871, + "lat": 55.931099637957146 + }, + { + "lng": -3.180675229928016, + "lat": 55.93096105602727 + }, + { + "lng": -3.1806178274131613, + "lat": 55.9308224740974 + }, + { + "lng": -3.1805604248983066, + "lat": 55.93068389216752 + }, + { + "lng": -3.180503022383452, + "lat": 55.93054531023765 + }, + { + "lng": -3.180445619868597, + "lat": 55.93040672830777 + }, + { + "lng": -3.1803882173537423, + "lat": 55.9302681463779 + }, + { + "lng": -3.1803308148388876, + "lat": 55.93012956444802 + }, + { + "lng": -3.180273412324033, + "lat": 55.92999098251815 + }, + { + "lng": -3.180216009809178, + "lat": 55.929852400588274 + }, + { + "lng": -3.1801586072943233, + "lat": 55.9297138186584 + }, + { + "lng": -3.1801012047794686, + "lat": 55.929575236728525 + }, + { + "lng": -3.180043802264614, + "lat": 55.92943665479865 + }, + { + "lng": -3.179986399749759, + "lat": 55.929298072868775 + }, + { + "lng": -3.1799289972349043, + "lat": 55.9291594909389 + }, + { + "lng": -3.1798715947200495, + "lat": 55.929020909009026 + }, + { + "lng": -3.179814192205195, + "lat": 55.92888232707915 + }, + { + "lng": -3.17975678969034, + "lat": 55.928743745149276 + }, + { + "lng": -3.1796993871754853, + "lat": 55.9286051632194 + }, + { + "lng": -3.1796419846606305, + "lat": 55.92846658128953 + }, + { + "lng": -3.1795845821457758, + "lat": 55.92832799935965 + }, + { + "lng": -3.179527179630921, + "lat": 55.92818941742978 + }, + { + "lng": -3.1794697771160663, + "lat": 55.9280508354999 + }, + { + "lng": -3.1794123746012115, + "lat": 55.92791225357003 + }, + { + "lng": -3.1793549720863568, + "lat": 55.92777367164015 + }, + { + "lng": -3.179297569571502, + "lat": 55.92763508971028 + }, + { + "lng": -3.1792401670566472, + "lat": 55.927496507780404 + }, + { + "lng": -3.1791827645417925, + "lat": 55.92735792585053 + }, + { + "lng": -3.1791253620269377, + "lat": 55.927219343920655 + }, + { + "lng": -3.179067959512083, + "lat": 55.92708076199078 + }, + { + "lng": -3.1790105569972282, + "lat": 55.926942180060905 + }, + { + "lng": -3.1789531544823735, + "lat": 55.92680359813103 + }, + { + "lng": -3.1788957519675187, + "lat": 55.926665016201156 + }, + { + "lng": -3.178838349452664, + "lat": 55.92652643427128 + }, + { + "lng": -3.178780946937809, + "lat": 55.926387852341406 + }, + { + "lng": -3.1787235444229545, + "lat": 55.92624927041153 + }, + { + "lng": -3.1786661419080997, + "lat": 55.92611068848166 + }, + { + "lng": -3.178608739393245, + "lat": 55.92597210655178 + }, + { + "lng": -3.17855133687839, + "lat": 55.92583352462191 + }, + { + "lng": -3.1784939343635354, + "lat": 55.92569494269203 + }, + { + "lng": -3.1784365318486807, + "lat": 55.92555636076216 + }, + { + "lng": -3.178379129333826, + "lat": 55.92541777883228 + }, + { + "lng": -3.178321726818971, + "lat": 55.92527919690241 + }, + { + "lng": -3.1782643243041164, + "lat": 55.925140614972534 + }, + { + "lng": -3.1782069217892617, + "lat": 55.92500203304266 + }, + { + "lng": -3.178149519274407, + "lat": 55.924863451112785 + }, + { + "lng": -3.178092116759552, + "lat": 55.92472486918291 + }, + { + "lng": -3.1780347142446974, + "lat": 55.924586287253035 + }, + { + "lng": -3.1779773117298427, + "lat": 55.92444770532316 + }, + { + "lng": -3.177919909214988, + "lat": 55.924309123393286 + }, + { + "lng": -3.177862506700133, + "lat": 55.92417054146341 + }, + { + "lng": -3.1778051041852784, + "lat": 55.92403195953354 + }, + { + "lng": -3.1777477016704236, + "lat": 55.92389337760366 + }, + { + "lng": -3.177690299155569, + "lat": 55.92375479567379 + }, + { + "lng": -3.177632896640714, + "lat": 55.92361621374391 + }, + { + "lng": -3.1775754941258594, + "lat": 55.92347763181404 + }, + { + "lng": -3.1775180916110046, + "lat": 55.92333904988416 + }, + { + "lng": -3.17746068909615, + "lat": 55.92320046795429 + }, + { + "lng": -3.177403286581295, + "lat": 55.92306188602441 + }, + { + "lng": -3.1773458840664404, + "lat": 55.92292330409454 + }, + { + "lng": -3.1772884815515856, + "lat": 55.922784722164664 + }, + { + "lng": -3.177231079036731, + "lat": 55.92264614023479 + }, + { + "lng": -3.177173676521876, + "lat": 55.922507558304915 + }, + { + "lng": -3.1771162740070213, + "lat": 55.92236897637504 + }, + { + "lng": -3.1770588714921666, + "lat": 55.922230394445165 + }, + { + "lng": -3.177001468977312, + "lat": 55.92209181251529 + }, + { + "lng": -3.176944066462457, + "lat": 55.921953230585416 + }, + { + "lng": -3.1768866639476023, + "lat": 55.92181464865554 + }, + { + "lng": -3.1768292614327476, + "lat": 55.92167606672567 + }, + { + "lng": -3.176771858917893, + "lat": 55.92153748479579 + }, + { + "lng": -3.176714456403038, + "lat": 55.92139890286592 + }, + { + "lng": -3.1766570538881833, + "lat": 55.92126032093604 + }, + { + "lng": -3.1765996513733286, + "lat": 55.92112173900617 + }, + { + "lng": -3.176542248858474, + "lat": 55.92098315707629 + }, + { + "lng": -3.176484846343619, + "lat": 55.92084457514642 + }, + { + "lng": -3.1764274438287643, + "lat": 55.920705993216544 + }, + { + "lng": -3.1763700413139095, + "lat": 55.92056741128667 + }, + { + "lng": -3.176312638799055, + "lat": 55.920428829356794 + }, + { + "lng": -3.1762552362842, + "lat": 55.92029024742692 + }, + { + "lng": -3.1761978337693453, + "lat": 55.920151665497045 + }, + { + "lng": -3.1761404312544905, + "lat": 55.92001308356717 + }, + { + "lng": -3.1760830287396358, + "lat": 55.919874501637295 + }, + { + "lng": -3.176025626224781, + "lat": 55.91973591970742 + }, + { + "lng": -3.1759682237099263, + "lat": 55.919597337777546 + }, + { + "lng": -3.1759108211950715, + "lat": 55.91945875584767 + }, + { + "lng": -3.1758534186802168, + "lat": 55.9193201739178 + }, + { + "lng": -3.175796016165362, + "lat": 55.91918159198792 + }, + { + "lng": -3.1757386136505072, + "lat": 55.91904301005805 + }, + { + "lng": -3.1756812111356525, + "lat": 55.91890442812817 + }, + { + "lng": -3.1756238086207977, + "lat": 55.9187658461983 + }, + { + "lng": -3.175566406105943, + "lat": 55.91862726426842 + }, + { + "lng": -3.1755090035910882, + "lat": 55.91848868233855 + }, + { + "lng": -3.1754516010762335, + "lat": 55.918350100408674 + }, + { + "lng": -3.1753941985613787, + "lat": 55.9182115184788 + }, + { + "lng": -3.175336796046524, + "lat": 55.918072936548924 + }, + { + "lng": -3.175279393531669, + "lat": 55.91793435461905 + }, + { + "lng": -3.1752219910168145, + "lat": 55.917795772689175 + }, + { + "lng": -3.1751645885019597, + "lat": 55.9176571907593 + }, + { + "lng": -3.175107185987105, + "lat": 55.917518608829425 + }, + { + "lng": -3.17504978347225, + "lat": 55.91738002689955 + }, + { + "lng": -3.1749923809573954, + "lat": 55.917241444969676 + }, + { + "lng": -3.1749349784425407, + "lat": 55.9171028630398 + }, + { + "lng": -3.174877575927686, + "lat": 55.91696428110993 + }, + { + "lng": -3.174820173412831, + "lat": 55.91682569918005 + }, + { + "lng": -3.1747627708979764, + "lat": 55.91668711725018 + }, + { + "lng": -3.1747053683831217, + "lat": 55.9165485353203 + }, + { + "lng": -3.174647965868267, + "lat": 55.91640995339043 + }, + { + "lng": -3.174590563353412, + "lat": 55.91627137146055 + }, + { + "lng": -3.1745331608385574, + "lat": 55.91613278953068 + }, + { + "lng": -3.1744757583237027, + "lat": 55.915994207600804 + }, + { + "lng": -3.174418355808848, + "lat": 55.91585562567093 + }, + { + "lng": -3.174360953293993, + "lat": 55.915717043741054 + }, + { + "lng": -3.1743035507791384, + "lat": 55.91557846181118 + }, + { + "lng": -3.1742461482642836, + "lat": 55.915439879881305 + }, + { + "lng": -3.174188745749429, + "lat": 55.91530129795143 + }, + { + "lng": -3.174131343234574, + "lat": 55.915162716021555 + }, + { + "lng": -3.1740739407197194, + "lat": 55.91502413409168 + }, + { + "lng": -3.1740165382048646, + "lat": 55.914885552161806 + }, + { + "lng": -3.17395913569001, + "lat": 55.91474697023193 + }, + { + "lng": -3.173901733175155, + "lat": 55.91460838830206 + }, + { + "lng": -3.1738443306603004, + "lat": 55.91446980637218 + }, + { + "lng": -3.1737869281454456, + "lat": 55.91433122444231 + }, + { + "lng": -3.173729525630591, + "lat": 55.91419264251243 + }, + { + "lng": -3.173672123115736, + "lat": 55.91405406058256 + }, + { + "lng": -3.1736147206008813, + "lat": 55.91391547865268 + }, + { + "lng": -3.1735573180860266, + "lat": 55.91377689672281 + }, + { + "lng": -3.173499915571172, + "lat": 55.913638314792934 + }, + { + "lng": -3.173442513056317, + "lat": 55.91349973286306 + }, + { + "lng": -3.1733851105414623, + "lat": 55.913361150933184 + }, + { + "lng": -3.1733277080266076, + "lat": 55.91322256900331 + }, + { + "lng": -3.173270305511753, + "lat": 55.913083987073435 + }, + { + "lng": -3.173212902996898, + "lat": 55.91294540514356 + }, + { + "lng": -3.1731555004820433, + "lat": 55.912806823213685 + }, + { + "lng": -3.1730980979671886, + "lat": 55.91266824128381 + }, + { + "lng": -3.173040695452334, + "lat": 55.912529659353936 + }, + { + "lng": -3.172983292937479, + "lat": 55.91239107742406 + }, + { + "lng": -3.1729258904226243, + "lat": 55.91225249549419 + }, + { + "lng": -3.1728684879077695, + "lat": 55.91211391356431 + }, + { + "lng": -3.172811085392915, + "lat": 55.91197533163444 + }, + { + "lng": -3.17275368287806, + "lat": 55.91183674970456 + }, + { + "lng": -3.1726962803632053, + "lat": 55.91169816777469 + }, + { + "lng": -3.1726388778483505, + "lat": 55.91155958584481 + }, + { + "lng": -3.1725814753334958, + "lat": 55.91142100391494 + }, + { + "lng": -3.172524072818641, + "lat": 55.911282421985064 + }, + { + "lng": -3.1724666703037863, + "lat": 55.91114384005519 + }, + { + "lng": -3.1724092677889315, + "lat": 55.911005258125314 + }, + { + "lng": -3.1723518652740768, + "lat": 55.91086667619544 + }, + { + "lng": -3.172294462759222, + "lat": 55.910728094265565 + }, + { + "lng": -3.1722370602443672, + "lat": 55.91058951233569 + }, + { + "lng": -3.1721796577295125, + "lat": 55.910450930405815 + }, + { + "lng": -3.1721222552146577, + "lat": 55.91031234847594 + }, + { + "lng": -3.172064852699803, + "lat": 55.910173766546066 + }, + { + "lng": -3.1720074501849482, + "lat": 55.91003518461619 + }, + { + "lng": -3.1719500476700935, + "lat": 55.90989660268632 + }, + { + "lng": -3.1719500476700935, + "lat": 55.90974660268632 + }, + { + "lng": -3.1718926451552387, + "lat": 55.909608020756444 + }, + { + "lng": -3.1718926451552387, + "lat": 55.909458020756446 + }, + { + "lng": -3.171835242640384, + "lat": 55.90931943882657 + }, + { + "lng": -3.171835242640384, + "lat": 55.909169438826574 + }, + { + "lng": -3.171777840125529, + "lat": 55.9090308568967 + }, + { + "lng": -3.171777840125529, + "lat": 55.9088808568967 + }, + { + "lng": -3.1717204376106745, + "lat": 55.908742274966826 + }, + { + "lng": -3.1717204376106745, + "lat": 55.90859227496683 + }, + { + "lng": -3.1716630350958197, + "lat": 55.908453693036954 + }, + { + "lng": -3.1716630350958197, + "lat": 55.908303693036956 + }, + { + "lng": -3.171605632580965, + "lat": 55.90816511110708 + }, + { + "lng": -3.171605632580965, + "lat": 55.90801511110708 + }, + { + "lng": -3.17154823006611, + "lat": 55.90787652917721 + }, + { + "lng": -3.17154823006611, + "lat": 55.90772652917721 + }, + { + "lng": -3.1714908275512554, + "lat": 55.907587947247336 + }, + { + "lng": -3.1714908275512554, + "lat": 55.90743794724734 + }, + { + "lng": -3.1714334250364007, + "lat": 55.90729936531746 + }, + { + "lng": -3.1714334250364007, + "lat": 55.907149365317466 + }, + { + "lng": -3.171376022521546, + "lat": 55.90701078338759 + }, + { + "lng": -3.171376022521546, + "lat": 55.90686078338759 + }, + { + "lng": -3.171318620006691, + "lat": 55.90672220145772 + }, + { + "lng": -3.171318620006691, + "lat": 55.90657220145772 + }, + { + "lng": -3.1712612174918364, + "lat": 55.906433619527846 + }, + { + "lng": -3.1712612174918364, + "lat": 55.90628361952785 + }, + { + "lng": -3.1712038149769817, + "lat": 55.90614503759797 + }, + { + "lng": -3.1712038149769817, + "lat": 55.905995037597975 + }, + { + "lng": -3.171146412462127, + "lat": 55.9058564556681 + }, + { + "lng": -3.171146412462127, + "lat": 55.9057064556681 + }, + { + "lng": -3.171089009947272, + "lat": 55.90556787373823 + }, + { + "lng": -3.171089009947272, + "lat": 55.90541787373823 + }, + { + "lng": -3.1710316074324174, + "lat": 55.905279291808355 + }, + { + "lng": -3.1710316074324174, + "lat": 55.90512929180836 + }, + { + "lng": -3.1709742049175627, + "lat": 55.90499070987848 + }, + { + "lng": -3.1709742049175627, + "lat": 55.904840709878485 + }, + { + "lng": -3.170916802402708, + "lat": 55.90470212794861 + }, + { + "lng": -3.170916802402708, + "lat": 55.90455212794861 + }, + { + "lng": -3.170859399887853, + "lat": 55.90441354601874 + }, + { + "lng": -3.170859399887853, + "lat": 55.90426354601874 + }, + { + "lng": -3.1708019973729984, + "lat": 55.904124964088865 + }, + { + "lng": -3.1708019973729984, + "lat": 55.90397496408887 + }, + { + "lng": -3.1707445948581436, + "lat": 55.90383638215899 + }, + { + "lng": -3.1707445948581436, + "lat": 55.903686382158995 + }, + { + "lng": -3.170687192343289, + "lat": 55.90354780022912 + }, + { + "lng": -3.170687192343289, + "lat": 55.90339780022912 + }, + { + "lng": -3.170629789828434, + "lat": 55.90325921829925 + }, + { + "lng": -3.170629789828434, + "lat": 55.90310921829925 + }, + { + "lng": -3.1705723873135794, + "lat": 55.902970636369375 + }, + { + "lng": -3.1705723873135794, + "lat": 55.90282063636938 + }, + { + "lng": -3.1705149847987246, + "lat": 55.9026820544395 + }, + { + "lng": -3.1705149847987246, + "lat": 55.902532054439504 + }, + { + "lng": -3.17045758228387, + "lat": 55.90239347250963 + }, + { + "lng": -3.17045758228387, + "lat": 55.90224347250963 + }, + { + "lng": -3.170400179769015, + "lat": 55.90210489057976 + }, + { + "lng": -3.170400179769015, + "lat": 55.90195489057976 + }, + { + "lng": -3.1703427772541604, + "lat": 55.901816308649884 + }, + { + "lng": -3.1703427772541604, + "lat": 55.90166630864989 + }, + { + "lng": -3.1702853747393056, + "lat": 55.90152772672001 + }, + { + "lng": -3.1702853747393056, + "lat": 55.901377726720014 + }, + { + "lng": -3.170227972224451, + "lat": 55.90123914479014 + }, + { + "lng": -3.170227972224451, + "lat": 55.90108914479014 + }, + { + "lng": -3.170170569709596, + "lat": 55.90095056286027 + }, + { + "lng": -3.170170569709596, + "lat": 55.90080056286027 + }, + { + "lng": -3.1701131671947413, + "lat": 55.900661980930394 + }, + { + "lng": -3.1701131671947413, + "lat": 55.900511980930396 + }, + { + "lng": -3.1700557646798866, + "lat": 55.90037339900052 + }, + { + "lng": -3.1700557646798866, + "lat": 55.900223399000524 + }, + { + "lng": -3.169998362165032, + "lat": 55.90008481707065 + }, + { + "lng": -3.17, + "lat": 55.9 + }, + { + "lng": -3.17, + "lat": 55.9 + }, + { + "lng": -3.1700574025148547, + "lat": 55.90013858192987 + }, + { + "lng": -3.1701148050297094, + "lat": 55.90027716385975 + }, + { + "lng": -3.170172207544564, + "lat": 55.90041574578962 + }, + { + "lng": -3.170229610059419, + "lat": 55.9005543277195 + }, + { + "lng": -3.1702870125742737, + "lat": 55.90069290964937 + }, + { + "lng": -3.1703444150891285, + "lat": 55.90083149157925 + }, + { + "lng": -3.170401817603983, + "lat": 55.90097007350912 + }, + { + "lng": -3.170459220118838, + "lat": 55.901108655438996 + }, + { + "lng": -3.1705166226336927, + "lat": 55.90124723736887 + }, + { + "lng": -3.1705740251485475, + "lat": 55.901385819298746 + }, + { + "lng": -3.1706314276634022, + "lat": 55.90152440122862 + }, + { + "lng": -3.170688830178257, + "lat": 55.901662983158495 + }, + { + "lng": -3.1707462326931117, + "lat": 55.90180156508837 + }, + { + "lng": -3.1708036352079665, + "lat": 55.901940147018244 + }, + { + "lng": -3.1708610377228212, + "lat": 55.90207872894812 + }, + { + "lng": -3.170918440237676, + "lat": 55.902217310877994 + }, + { + "lng": -3.1709758427525307, + "lat": 55.90235589280787 + }, + { + "lng": -3.1710332452673855, + "lat": 55.90249447473774 + }, + { + "lng": -3.1710906477822403, + "lat": 55.90263305666762 + }, + { + "lng": -3.171148050297095, + "lat": 55.90277163859749 + }, + { + "lng": -3.1712054528119498, + "lat": 55.90291022052737 + }, + { + "lng": -3.1712628553268045, + "lat": 55.90304880245724 + }, + { + "lng": -3.1713202578416593, + "lat": 55.90318738438712 + }, + { + "lng": -3.171377660356514, + "lat": 55.90332596631699 + }, + { + "lng": -3.171435062871369, + "lat": 55.903464548246866 + }, + { + "lng": -3.1714924653862235, + "lat": 55.90360313017674 + }, + { + "lng": -3.1715498679010783, + "lat": 55.903741712106616 + }, + { + "lng": -3.171607270415933, + "lat": 55.90388029403649 + }, + { + "lng": -3.171664672930788, + "lat": 55.904018875966365 + }, + { + "lng": -3.1717220754456426, + "lat": 55.90415745789624 + }, + { + "lng": -3.1717794779604973, + "lat": 55.904296039826114 + }, + { + "lng": -3.171836880475352, + "lat": 55.90443462175599 + }, + { + "lng": -3.171894282990207, + "lat": 55.904573203685864 + }, + { + "lng": -3.1719516855050616, + "lat": 55.90471178561574 + }, + { + "lng": -3.1720090880199163, + "lat": 55.90485036754561 + }, + { + "lng": -3.172066490534771, + "lat": 55.90498894947549 + }, + { + "lng": -3.172123893049626, + "lat": 55.90512753140536 + }, + { + "lng": -3.1721812955644806, + "lat": 55.90526611333524 + }, + { + "lng": -3.1722386980793353, + "lat": 55.90540469526511 + }, + { + "lng": -3.17229610059419, + "lat": 55.90554327719499 + }, + { + "lng": -3.172353503109045, + "lat": 55.90568185912486 + }, + { + "lng": -3.1724109056238996, + "lat": 55.905820441054736 + }, + { + "lng": -3.1724683081387544, + "lat": 55.90595902298461 + }, + { + "lng": -3.172525710653609, + "lat": 55.906097604914486 + }, + { + "lng": -3.172583113168464, + "lat": 55.90623618684436 + }, + { + "lng": -3.1726405156833186, + "lat": 55.906374768774235 + }, + { + "lng": -3.1726979181981734, + "lat": 55.90651335070411 + }, + { + "lng": -3.172755320713028, + "lat": 55.906651932633984 + }, + { + "lng": -3.172812723227883, + "lat": 55.90679051456386 + }, + { + "lng": -3.1728701257427376, + "lat": 55.906929096493734 + }, + { + "lng": -3.1729275282575924, + "lat": 55.90706767842361 + }, + { + "lng": -3.172984930772447, + "lat": 55.90720626035348 + }, + { + "lng": -3.173042333287302, + "lat": 55.90734484228336 + }, + { + "lng": -3.1730997358021567, + "lat": 55.90748342421323 + }, + { + "lng": -3.1731571383170114, + "lat": 55.90762200614311 + }, + { + "lng": -3.173214540831866, + "lat": 55.90776058807298 + }, + { + "lng": -3.173271943346721, + "lat": 55.90789917000286 + }, + { + "lng": -3.1733293458615757, + "lat": 55.90803775193273 + }, + { + "lng": -3.1733867483764304, + "lat": 55.908176333862606 + }, + { + "lng": -3.173444150891285, + "lat": 55.90831491579248 + }, + { + "lng": -3.17350155340614, + "lat": 55.908453497722356 + }, + { + "lng": -3.1735589559209947, + "lat": 55.90859207965223 + }, + { + "lng": -3.1736163584358494, + "lat": 55.908730661582105 + }, + { + "lng": -3.173673760950704, + "lat": 55.90886924351198 + }, + { + "lng": -3.173731163465559, + "lat": 55.909007825441854 + }, + { + "lng": -3.1737885659804137, + "lat": 55.90914640737173 + }, + { + "lng": -3.1738459684952685, + "lat": 55.909284989301604 + }, + { + "lng": -3.173903371010123, + "lat": 55.90942357123148 + }, + { + "lng": -3.173960773524978, + "lat": 55.90956215316135 + }, + { + "lng": -3.1740181760398327, + "lat": 55.90970073509123 + }, + { + "lng": -3.1740755785546875, + "lat": 55.9098393170211 + }, + { + "lng": -3.1741329810695422, + "lat": 55.90997789895098 + }, + { + "lng": -3.174190383584397, + "lat": 55.91011648088085 + }, + { + "lng": -3.1742477860992517, + "lat": 55.91025506281073 + }, + { + "lng": -3.1743051886141065, + "lat": 55.9103936447406 + }, + { + "lng": -3.1743625911289612, + "lat": 55.910532226670476 + }, + { + "lng": -3.174419993643816, + "lat": 55.91067080860035 + }, + { + "lng": -3.1744773961586708, + "lat": 55.910809390530225 + }, + { + "lng": -3.1745347986735255, + "lat": 55.9109479724601 + }, + { + "lng": -3.1745922011883803, + "lat": 55.911086554389975 + }, + { + "lng": -3.174649603703235, + "lat": 55.91122513631985 + }, + { + "lng": -3.1747070062180898, + "lat": 55.911363718249724 + }, + { + "lng": -3.1747644087329445, + "lat": 55.9115023001796 + }, + { + "lng": -3.1748218112477993, + "lat": 55.911640882109474 + }, + { + "lng": -3.174879213762654, + "lat": 55.91177946403935 + }, + { + "lng": -3.174936616277509, + "lat": 55.91191804596922 + }, + { + "lng": -3.1749940187923635, + "lat": 55.9120566278991 + }, + { + "lng": -3.1750514213072183, + "lat": 55.91219520982897 + }, + { + "lng": -3.175108823822073, + "lat": 55.91233379175885 + }, + { + "lng": -3.175166226336928, + "lat": 55.91247237368872 + }, + { + "lng": -3.1752236288517826, + "lat": 55.9126109556186 + }, + { + "lng": -3.1752810313666373, + "lat": 55.91274953754847 + }, + { + "lng": -3.175338433881492, + "lat": 55.912888119478346 + }, + { + "lng": -3.175395836396347, + "lat": 55.91302670140822 + }, + { + "lng": -3.1754532389112016, + "lat": 55.913165283338095 + }, + { + "lng": -3.1755106414260563, + "lat": 55.91330386526797 + }, + { + "lng": -3.175568043940911, + "lat": 55.913442447197845 + }, + { + "lng": -3.175625446455766, + "lat": 55.91358102912772 + }, + { + "lng": -3.1756828489706206, + "lat": 55.913719611057594 + }, + { + "lng": -3.1757402514854753, + "lat": 55.91385819298747 + }, + { + "lng": -3.17579765400033, + "lat": 55.913996774917344 + }, + { + "lng": -3.175855056515185, + "lat": 55.91413535684722 + }, + { + "lng": -3.1759124590300396, + "lat": 55.91427393877709 + }, + { + "lng": -3.1759698615448944, + "lat": 55.91441252070697 + }, + { + "lng": -3.176027264059749, + "lat": 55.91455110263684 + }, + { + "lng": -3.176084666574604, + "lat": 55.91468968456672 + }, + { + "lng": -3.1761420690894586, + "lat": 55.91482826649659 + }, + { + "lng": -3.1761994716043134, + "lat": 55.91496684842647 + }, + { + "lng": -3.176256874119168, + "lat": 55.91510543035634 + }, + { + "lng": -3.176314276634023, + "lat": 55.915244012286216 + }, + { + "lng": -3.1763716791488776, + "lat": 55.91538259421609 + }, + { + "lng": -3.1764290816637324, + "lat": 55.915521176145965 + }, + { + "lng": -3.176486484178587, + "lat": 55.91565975807584 + }, + { + "lng": -3.176543886693442, + "lat": 55.915798340005715 + }, + { + "lng": -3.1766012892082967, + "lat": 55.91593692193559 + }, + { + "lng": -3.1766586917231514, + "lat": 55.916075503865464 + }, + { + "lng": -3.176716094238006, + "lat": 55.91621408579534 + }, + { + "lng": -3.176773496752861, + "lat": 55.916352667725214 + }, + { + "lng": -3.1768308992677157, + "lat": 55.91649124965509 + }, + { + "lng": -3.1768883017825704, + "lat": 55.91662983158496 + }, + { + "lng": -3.176945704297425, + "lat": 55.91676841351484 + }, + { + "lng": -3.17700310681228, + "lat": 55.91690699544471 + }, + { + "lng": -3.1770605093271347, + "lat": 55.91704557737459 + }, + { + "lng": -3.1771179118419894, + "lat": 55.91718415930446 + }, + { + "lng": -3.177175314356844, + "lat": 55.91732274123434 + }, + { + "lng": -3.177232716871699, + "lat": 55.91746132316421 + }, + { + "lng": -3.1772901193865537, + "lat": 55.917599905094086 + }, + { + "lng": -3.1773475219014085, + "lat": 55.91773848702396 + }, + { + "lng": -3.177404924416263, + "lat": 55.917877068953835 + }, + { + "lng": -3.177462326931118, + "lat": 55.91801565088371 + }, + { + "lng": -3.1775197294459727, + "lat": 55.918154232813585 + }, + { + "lng": -3.1775771319608275, + "lat": 55.91829281474346 + }, + { + "lng": -3.1776345344756822, + "lat": 55.918431396673334 + }, + { + "lng": -3.177691936990537, + "lat": 55.91856997860321 + }, + { + "lng": -3.1777493395053917, + "lat": 55.918708560533084 + }, + { + "lng": -3.1778067420202465, + "lat": 55.91884714246296 + }, + { + "lng": -3.1778641445351012, + "lat": 55.91898572439283 + }, + { + "lng": -3.177921547049956, + "lat": 55.91912430632271 + }, + { + "lng": -3.1779789495648108, + "lat": 55.91926288825258 + }, + { + "lng": -3.1780363520796655, + "lat": 55.91940147018246 + }, + { + "lng": -3.1780937545945203, + "lat": 55.91954005211233 + }, + { + "lng": -3.178151157109375, + "lat": 55.91967863404221 + }, + { + "lng": -3.1782085596242298, + "lat": 55.91981721597208 + }, + { + "lng": -3.1782659621390845, + "lat": 55.919955797901956 + }, + { + "lng": -3.1783233646539393, + "lat": 55.92009437983183 + }, + { + "lng": -3.178380767168794, + "lat": 55.920232961761705 + }, + { + "lng": -3.178438169683649, + "lat": 55.92037154369158 + }, + { + "lng": -3.1784955721985035, + "lat": 55.920510125621455 + }, + { + "lng": -3.1785529747133583, + "lat": 55.92064870755133 + }, + { + "lng": -3.178610377228213, + "lat": 55.920787289481204 + }, + { + "lng": -3.178667779743068, + "lat": 55.92092587141108 + }, + { + "lng": -3.1787251822579226, + "lat": 55.92106445334095 + }, + { + "lng": -3.1787825847727773, + "lat": 55.92120303527083 + }, + { + "lng": -3.178839987287632, + "lat": 55.9213416172007 + }, + { + "lng": -3.178897389802487, + "lat": 55.92148019913058 + }, + { + "lng": -3.1789547923173416, + "lat": 55.92161878106045 + }, + { + "lng": -3.1790121948321963, + "lat": 55.92175736299033 + }, + { + "lng": -3.179069597347051, + "lat": 55.9218959449202 + }, + { + "lng": -3.179126999861906, + "lat": 55.92203452685008 + }, + { + "lng": -3.1791844023767606, + "lat": 55.92217310877995 + }, + { + "lng": -3.1792418048916153, + "lat": 55.922311690709826 + }, + { + "lng": -3.17929920740647, + "lat": 55.9224502726397 + }, + { + "lng": -3.179356609921325, + "lat": 55.922588854569575 + }, + { + "lng": -3.1794140124361796, + "lat": 55.92272743649945 + }, + { + "lng": -3.1794714149510344, + "lat": 55.922866018429325 + }, + { + "lng": -3.179528817465889, + "lat": 55.9230046003592 + }, + { + "lng": -3.179586219980744, + "lat": 55.923143182289074 + }, + { + "lng": -3.1796436224955986, + "lat": 55.92328176421895 + }, + { + "lng": -3.1797010250104534, + "lat": 55.92342034614882 + }, + { + "lng": -3.179758427525308, + "lat": 55.9235589280787 + }, + { + "lng": -3.179815830040163, + "lat": 55.92369751000857 + }, + { + "lng": -3.1798732325550176, + "lat": 55.92383609193845 + }, + { + "lng": -3.1799306350698724, + "lat": 55.92397467386832 + }, + { + "lng": -3.179988037584727, + "lat": 55.9241132557982 + }, + { + "lng": -3.180045440099582, + "lat": 55.92425183772807 + }, + { + "lng": -3.1801028426144367, + "lat": 55.924390419657946 + }, + { + "lng": -3.1801602451292914, + "lat": 55.92452900158782 + }, + { + "lng": -3.180217647644146, + "lat": 55.924667583517696 + }, + { + "lng": -3.180275050159001, + "lat": 55.92480616544757 + }, + { + "lng": -3.1803324526738557, + "lat": 55.924944747377445 + }, + { + "lng": -3.1803898551887104, + "lat": 55.92508332930732 + }, + { + "lng": -3.180447257703565, + "lat": 55.925221911237195 + }, + { + "lng": -3.18050466021842, + "lat": 55.92536049316707 + }, + { + "lng": -3.1805620627332747, + "lat": 55.925499075096944 + }, + { + "lng": -3.1806194652481294, + "lat": 55.92563765702682 + }, + { + "lng": -3.180676867762984, + "lat": 55.92577623895669 + }, + { + "lng": -3.180734270277839, + "lat": 55.92591482088657 + }, + { + "lng": -3.1807916727926937, + "lat": 55.92605340281644 + }, + { + "lng": -3.1808490753075485, + "lat": 55.92619198474632 + }, + { + "lng": -3.180906477822403, + "lat": 55.92633056667619 + }, + { + "lng": -3.180963880337258, + "lat": 55.92646914860607 + }, + { + "lng": -3.1810212828521127, + "lat": 55.92660773053594 + }, + { + "lng": -3.1810786853669675, + "lat": 55.926746312465816 + }, + { + "lng": -3.1811360878818222, + "lat": 55.92688489439569 + }, + { + "lng": -3.181193490396677, + "lat": 55.927023476325566 + }, + { + "lng": -3.1812508929115317, + "lat": 55.92716205825544 + }, + { + "lng": -3.1813082954263865, + "lat": 55.927300640185315 + }, + { + "lng": -3.1813656979412412, + "lat": 55.92743922211519 + }, + { + "lng": -3.181423100456096, + "lat": 55.927577804045065 + }, + { + "lng": -3.1814805029709508, + "lat": 55.92771638597494 + }, + { + "lng": -3.1815379054858055, + "lat": 55.927854967904814 + }, + { + "lng": -3.1815953080006603, + "lat": 55.92799354983469 + }, + { + "lng": -3.181652710515515, + "lat": 55.92813213176456 + }, + { + "lng": -3.1817101130303698, + "lat": 55.92827071369444 + }, + { + "lng": -3.1817675155452245, + "lat": 55.92840929562431 + }, + { + "lng": -3.1818249180600793, + "lat": 55.92854787755419 + }, + { + "lng": -3.181882320574934, + "lat": 55.92868645948406 + }, + { + "lng": -3.181939723089789, + "lat": 55.92882504141394 + }, + { + "lng": -3.1819971256046435, + "lat": 55.92896362334381 + }, + { + "lng": -3.1820545281194983, + "lat": 55.929102205273686 + }, + { + "lng": -3.182111930634353, + "lat": 55.92924078720356 + }, + { + "lng": -3.182169333149208, + "lat": 55.929379369133436 + }, + { + "lng": -3.1822267356640626, + "lat": 55.92951795106331 + }, + { + "lng": -3.1822841381789173, + "lat": 55.929656532993185 + }, + { + "lng": -3.182341540693772, + "lat": 55.92979511492306 + }, + { + "lng": -3.182398943208627, + "lat": 55.929933696852935 + }, + { + "lng": -3.1824563457234816, + "lat": 55.93007227878281 + }, + { + "lng": -3.1825137482383363, + "lat": 55.930210860712684 + }, + { + "lng": -3.182571150753191, + "lat": 55.93034944264256 + }, + { + "lng": -3.182628553268046, + "lat": 55.93048802457243 + }, + { + "lng": -3.1826859557829006, + "lat": 55.93062660650231 + }, + { + "lng": -3.1827433582977553, + "lat": 55.93076518843218 + }, + { + "lng": -3.18280076081261, + "lat": 55.93090377036206 + }, + { + "lng": -3.182858163327465, + "lat": 55.93104235229193 + }, + { + "lng": -3.1829155658423196, + "lat": 55.93118093422181 + }, + { + "lng": -3.1829729683571744, + "lat": 55.93131951615168 + }, + { + "lng": -3.183030370872029, + "lat": 55.931458098081556 + }, + { + "lng": -3.183087773386884, + "lat": 55.93159668001143 + }, + { + "lng": -3.1831451759017386, + "lat": 55.931735261941306 + }, + { + "lng": -3.1832025784165934, + "lat": 55.93187384387118 + }, + { + "lng": -3.183259980931448, + "lat": 55.932012425801055 + }, + { + "lng": -3.183317383446303, + "lat": 55.93215100773093 + }, + { + "lng": -3.1833747859611576, + "lat": 55.932289589660805 + }, + { + "lng": -3.1834321884760124, + "lat": 55.93242817159068 + }, + { + "lng": -3.183489590990867, + "lat": 55.932566753520554 + }, + { + "lng": -3.183546993505722, + "lat": 55.93270533545043 + }, + { + "lng": -3.1836043960205767, + "lat": 55.9328439173803 + }, + { + "lng": -3.1836617985354314, + "lat": 55.93298249931018 + }, + { + "lng": -3.183719201050286, + "lat": 55.93312108124005 + }, + { + "lng": -3.183776603565141, + "lat": 55.93325966316993 + }, + { + "lng": -3.1838340060799957, + "lat": 55.9333982450998 + }, + { + "lng": -3.1838914085948504, + "lat": 55.93353682702968 + }, + { + "lng": -3.183948811109705, + "lat": 55.93367540895955 + }, + { + "lng": -3.18400621362456, + "lat": 55.933813990889426 + }, + { + "lng": -3.1840636161394147, + "lat": 55.9339525728193 + }, + { + "lng": -3.1841210186542694, + "lat": 55.934091154749176 + }, + { + "lng": -3.184178421169124, + "lat": 55.93422973667905 + }, + { + "lng": -3.184235823683979, + "lat": 55.934368318608925 + }, + { + "lng": -3.1842932261988337, + "lat": 55.9345069005388 + }, + { + "lng": -3.1843506287136885, + "lat": 55.934645482468675 + }, + { + "lng": -3.184408031228543, + "lat": 55.93478406439855 + }, + { + "lng": -3.184408031228543, + "lat": 55.93493406439855 + }, + { + "lng": -3.184465433743398, + "lat": 55.93507264632842 + }, + { + "lng": -3.184465433743398, + "lat": 55.93522264632842 + }, + { + "lng": -3.1845228362582527, + "lat": 55.935361228258294 + }, + { + "lng": -3.1845228362582527, + "lat": 55.93551122825829 + }, + { + "lng": -3.1845802387731075, + "lat": 55.93564981018817 + }, + { + "lng": -3.1845802387731075, + "lat": 55.935799810188165 + }, + { + "lng": -3.1846376412879622, + "lat": 55.93593839211804 + }, + { + "lng": -3.1846376412879622, + "lat": 55.93608839211804 + }, + { + "lng": -3.184695043802817, + "lat": 55.93622697404791 + }, + { + "lng": -3.184695043802817, + "lat": 55.93637697404791 + }, + { + "lng": -3.1847524463176717, + "lat": 55.936515555977785 + }, + { + "lng": -3.1847524463176717, + "lat": 55.93666555597778 + }, + { + "lng": -3.1848098488325265, + "lat": 55.93680413790766 + }, + { + "lng": -3.1848098488325265, + "lat": 55.936954137907655 + }, + { + "lng": -3.1848672513473812, + "lat": 55.93709271983753 + }, + { + "lng": -3.1848672513473812, + "lat": 55.93724271983753 + }, + { + "lng": -3.184924653862236, + "lat": 55.9373813017674 + }, + { + "lng": -3.184924653862236, + "lat": 55.9375313017674 + }, + { + "lng": -3.1849820563770908, + "lat": 55.937669883697275 + }, + { + "lng": -3.1849820563770908, + "lat": 55.93781988369727 + }, + { + "lng": -3.1850394588919455, + "lat": 55.93795846562715 + }, + { + "lng": -3.1850394588919455, + "lat": 55.938108465627145 + }, + { + "lng": -3.1850968614068003, + "lat": 55.93824704755702 + }, + { + "lng": -3.1850968614068003, + "lat": 55.93839704755702 + }, + { + "lng": -3.185154263921655, + "lat": 55.93853562948689 + }, + { + "lng": -3.185154263921655, + "lat": 55.93868562948689 + }, + { + "lng": -3.1852116664365098, + "lat": 55.938824211416765 + }, + { + "lng": -3.1852116664365098, + "lat": 55.93897421141676 + }, + { + "lng": -3.1852690689513645, + "lat": 55.93911279334664 + }, + { + "lng": -3.1852690689513645, + "lat": 55.939262793346636 + }, + { + "lng": -3.1853264714662193, + "lat": 55.93940137527651 + }, + { + "lng": -3.1853264714662193, + "lat": 55.93955137527651 + }, + { + "lng": -3.185383873981074, + "lat": 55.93968995720638 + }, + { + "lng": -3.185383873981074, + "lat": 55.93983995720638 + }, + { + "lng": -3.185441276495929, + "lat": 55.939978539136256 + }, + { + "lng": -3.185441276495929, + "lat": 55.94012853913625 + }, + { + "lng": -3.1854986790107835, + "lat": 55.94026712106613 + }, + { + "lng": -3.1854986790107835, + "lat": 55.940417121066126 + }, + { + "lng": -3.1855560815256383, + "lat": 55.940555702996 + }, + { + "lng": -3.1855560815256383, + "lat": 55.940705702996 + }, + { + "lng": -3.185613484040493, + "lat": 55.94084428492587 + }, + { + "lng": -3.185613484040493, + "lat": 55.94099428492587 + }, + { + "lng": -3.185670886555348, + "lat": 55.941132866855746 + }, + { + "lng": -3.185670886555348, + "lat": 55.941282866855744 + }, + { + "lng": -3.1857282890702026, + "lat": 55.94142144878562 + }, + { + "lng": -3.1857282890702026, + "lat": 55.941571448785616 + }, + { + "lng": -3.1857856915850573, + "lat": 55.94171003071549 + }, + { + "lng": -3.1857856915850573, + "lat": 55.94186003071549 + }, + { + "lng": -3.185843094099912, + "lat": 55.941998612645364 + }, + { + "lng": -3.185843094099912, + "lat": 55.94214861264536 + }, + { + "lng": -3.185900496614767, + "lat": 55.942287194575236 + }, + { + "lng": -3.185900496614767, + "lat": 55.942437194575234 + }, + { + "lng": -3.1859578991296216, + "lat": 55.94257577650511 + }, + { + "lng": -3.1859578991296216, + "lat": 55.94272577650511 + }, + { + "lng": -3.1860153016444763, + "lat": 55.94286435843498 + }, + { + "lng": -3.1860153016444763, + "lat": 55.94301435843498 + }, + { + "lng": -3.186072704159331, + "lat": 55.943152940364854 + }, + { + "lng": -3.186072704159331, + "lat": 55.94330294036485 + }, + { + "lng": -3.186130106674186, + "lat": 55.94344152229473 + }, + { + "lng": -3.186130106674186, + "lat": 55.943591522294724 + }, + { + "lng": -3.1861875091890406, + "lat": 55.9437301042246 + }, + { + "lng": -3.1861875091890406, + "lat": 55.9438801042246 + }, + { + "lng": -3.1862449117038953, + "lat": 55.94401868615447 + }, + { + "lng": -3.1862449117038953, + "lat": 55.94416868615447 + }, + { + "lng": -3.18630231421875, + "lat": 55.944307268084344 + }, + { + "lng": -3.18630231421875, + "lat": 55.94445726808434 + }, + { + "lng": -3.186359716733605, + "lat": 55.94459585001422 + }, + { + "lng": -3.1863580788986368, + "lat": 55.94468066708487 + } + ] + } + ] + } + ] + }, + "url": "http://localhost/api/v1/calcDeliveryPath", + "responseTime": 204 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "eUQuSatqQhRHGZoaWYID5", + "lhsExpr": "res.status", + "rhsExpr": "eq 200", + "rhsOperand": "200", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.205483977, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/[POST] queryAvailableDrones/Complex copy copy" + }, + { + "test": { + "filename": "CW1 Feedback API/[Sematic Error] distanceTo.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/distanceTo", + "headers": { + "content-type": "application/json" + }, + "data": "{ \"position1\": { \"lng\": -300.192473, \"lat\": 550.946233 }, \"position2\": { \"lng\": -3202.192473, \"lat\": 5533.942617 } }" + }, + "response": { + "status": 400, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:47 GMT", + "connection": "close" + }, + "data": { + "error": "Bad Request", + "status": "400" + }, + "url": "http://localhost/api/v1/distanceTo", + "responseTime": 2 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "wHbkKB7Zx4VJyYx20AAIB", + "lhsExpr": "res.status", + "rhsExpr": "eq 400", + "rhsOperand": "400", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.003504823, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/CW1 Feedback API/[Sematic Error] distanceTo" + }, + { + "test": { + "filename": "CW1 Feedback API/[Sematic Error] isCloseTo.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/isCloseTo", + "headers": { + "content-type": "application/json" + }, + "data": "{ \"position1\": { \"lng\": -3004.192473, \"lat\": 550.946233 }, \"position2\": { \"lng\": -390.192473, \"lat\": 551.942617 } }" + }, + "response": { + "status": 400, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:47 GMT", + "connection": "close" + }, + "data": { + "error": "Bad Request", + "status": "400" + }, + "url": "http://localhost/api/v1/isCloseTo", + "responseTime": 5 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "DRSqKEHcUbMWTVMDsNKlu", + "lhsExpr": "res.status", + "rhsExpr": "eq 400", + "rhsOperand": "400", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.007440946, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/CW1 Feedback API/[Sematic Error] isCloseTo" + }, + { + "test": { + "filename": "CW1 Feedback API/[Sematic Error] nextPosition.bru" + }, + "request": { + "method": "POST", + "url": "http://localhost:8080/api/v1/nextPosition", + "headers": { + "content-type": "application/json" + }, + "data": " { \"start\": { \"lng\": -3.192473, \"lat\": 55.946233 }, \"angle\": 900 }" + }, + "response": { + "status": 400, + "statusText": "", + "headers": { + "content-type": "application/json", + "transfer-encoding": "chunked", + "date": "Thu, 27 Nov 2025 12:39:47 GMT", + "connection": "close" + }, + "data": { + "error": "Bad Request", + "status": "400" + }, + "url": "http://localhost/api/v1/nextPosition", + "responseTime": 5 + }, + "error": null, + "status": "pass", + "assertionResults": [ + { + "uid": "ClMMHDMmxLDveBD2sCcL2", + "lhsExpr": "res.status", + "rhsExpr": "eq 400", + "rhsOperand": "400", + "operator": "eq", + "status": "pass" + } + ], + "testResults": [], + "preRequestTestResults": [], + "postResponseTestResults": [], + "shouldStopRunnerExecution": false, + "runtime": 0.006816403, + "suitename": "/home/js0ny/Atelier/edu/ilp/ilp-coursework/ilp-cw-api/CW1 Feedback API/[Sematic Error] nextPosition" + } + ] +} \ No newline at end of file diff --git a/settings.gradle b/ilp-rest-service/settings.gradle similarity index 100% rename from settings.gradle rename to ilp-rest-service/settings.gradle diff --git a/src/main/java/io/github/js0ny/ilp_coursework/IlpCourseworkApplication.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/IlpCourseworkApplication.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/IlpCourseworkApplication.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/IlpCourseworkApplication.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/controller/ApiController.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/controller/ApiController.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/controller/ApiController.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/controller/ApiController.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/controller/DroneController.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/controller/DroneController.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/controller/DroneController.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/controller/DroneController.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/controller/GeoJsonDataController.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/controller/GeoJsonDataController.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/controller/GeoJsonDataController.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/controller/GeoJsonDataController.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/common/AltitudeRange.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/AltitudeRange.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/common/AltitudeRange.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/AltitudeRange.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/common/Angle.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/Angle.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/common/Angle.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/Angle.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/common/DroneAvailability.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/DroneAvailability.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/common/DroneAvailability.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/DroneAvailability.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/common/DroneCapability.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/DroneCapability.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/common/DroneCapability.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/DroneCapability.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/common/LngLat.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/LngLat.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/common/LngLat.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/LngLat.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/common/LngLatAlt.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/LngLatAlt.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/common/LngLatAlt.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/LngLatAlt.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/common/Region.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/Region.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/common/Region.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/Region.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/common/TimeWindow.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/TimeWindow.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/common/TimeWindow.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/common/TimeWindow.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/external/Drone.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/external/Drone.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/external/Drone.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/external/Drone.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/external/RestrictedArea.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/external/RestrictedArea.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/external/RestrictedArea.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/external/RestrictedArea.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/external/ServicePoint.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/external/ServicePoint.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/external/ServicePoint.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/external/ServicePoint.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/external/ServicePointDrones.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/external/ServicePointDrones.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/external/ServicePointDrones.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/external/ServicePointDrones.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/request/AttrQueryRequest.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/AttrQueryRequest.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/request/AttrQueryRequest.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/AttrQueryRequest.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/request/DistanceRequest.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/DistanceRequest.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/request/DistanceRequest.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/DistanceRequest.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/request/MovementRequest.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/MovementRequest.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/request/MovementRequest.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/MovementRequest.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/request/RegionCheckRequest.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/RegionCheckRequest.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/request/RegionCheckRequest.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/request/RegionCheckRequest.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/exception/GlobalExceptionHandler.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/exception/GlobalExceptionHandler.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/exception/GlobalExceptionHandler.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/exception/GlobalExceptionHandler.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/service/DroneAttrComparatorService.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/service/DroneAttrComparatorService.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/service/DroneAttrComparatorService.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/service/DroneAttrComparatorService.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/service/DroneInfoService.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/service/DroneInfoService.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/service/DroneInfoService.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/service/DroneInfoService.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/service/GpsCalculationService.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/service/GpsCalculationService.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/service/GpsCalculationService.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/service/GpsCalculationService.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/service/PathFinderService.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/service/PathFinderService.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/service/PathFinderService.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/service/PathFinderService.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/util/AttrComparator.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/util/AttrComparator.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/util/AttrComparator.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/util/AttrComparator.java diff --git a/src/main/java/io/github/js0ny/ilp_coursework/util/AttrOperator.java b/ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/util/AttrOperator.java similarity index 100% rename from src/main/java/io/github/js0ny/ilp_coursework/util/AttrOperator.java rename to ilp-rest-service/src/main/java/io/github/js0ny/ilp_coursework/util/AttrOperator.java diff --git a/src/main/resources/application.properties b/ilp-rest-service/src/main/resources/application.properties similarity index 100% rename from src/main/resources/application.properties rename to ilp-rest-service/src/main/resources/application.properties diff --git a/src/test/java/io/github/js0ny/ilp_coursework/ActuatorHealthTest.java b/ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/ActuatorHealthTest.java similarity index 100% rename from src/test/java/io/github/js0ny/ilp_coursework/ActuatorHealthTest.java rename to ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/ActuatorHealthTest.java diff --git a/src/test/java/io/github/js0ny/ilp_coursework/IlpCourseworkApplicationTests.java b/ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/IlpCourseworkApplicationTests.java similarity index 100% rename from src/test/java/io/github/js0ny/ilp_coursework/IlpCourseworkApplicationTests.java rename to ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/IlpCourseworkApplicationTests.java diff --git a/src/test/java/io/github/js0ny/ilp_coursework/controller/ApiControllerTest.java b/ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/controller/ApiControllerTest.java similarity index 100% rename from src/test/java/io/github/js0ny/ilp_coursework/controller/ApiControllerTest.java rename to ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/controller/ApiControllerTest.java diff --git a/src/test/java/io/github/js0ny/ilp_coursework/controller/DroneControllerTest.java b/ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/controller/DroneControllerTest.java similarity index 100% rename from src/test/java/io/github/js0ny/ilp_coursework/controller/DroneControllerTest.java rename to ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/controller/DroneControllerTest.java diff --git a/src/test/java/io/github/js0ny/ilp_coursework/service/DroneInfoServiceTest.java b/ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/service/DroneInfoServiceTest.java similarity index 100% rename from src/test/java/io/github/js0ny/ilp_coursework/service/DroneInfoServiceTest.java rename to ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/service/DroneInfoServiceTest.java diff --git a/src/test/java/io/github/js0ny/ilp_coursework/service/GpsCalculationServiceTest.java b/ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/service/GpsCalculationServiceTest.java similarity index 100% rename from src/test/java/io/github/js0ny/ilp_coursework/service/GpsCalculationServiceTest.java rename to ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/service/GpsCalculationServiceTest.java diff --git a/src/test/java/io/github/js0ny/ilp_coursework/service/PathFinderServiceTest.java b/ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/service/PathFinderServiceTest.java similarity index 100% rename from src/test/java/io/github/js0ny/ilp_coursework/service/PathFinderServiceTest.java rename to ilp-rest-service/src/test/java/io/github/js0ny/ilp_coursework/service/PathFinderServiceTest.java