From 34ccc3a7f021b19db99d2941a2749570f4d33025 Mon Sep 17 00:00:00 2001 From: Taylor Smock Date: Mon, 14 Oct 2019 16:56:01 -0600 Subject: [PATCH] Use wiremock for network tests Signed-off-by: Taylor Smock --- .../backend/MapWithAIAvailability.java | 13 ++++-- .../mapwithai/backend/MapWithAIDataUtils.java | 2 +- ...-982f4ad5-bf25-49aa-a616-f160e14eaed1.json | 25 ++++++++++++ ...-fa0deb8f-2ce4-46b2-9f12-2100ccafa0a6.json | 25 ++++++++++++ ...-194658eb-e7bb-4e22-b278-2d23246f3ff1.json | 38 ++++++++++++++++++ ...-d624c425-7142-4c4b-ab08-4e60812fc3bb.json | 40 +++++++++++++++++++ ...-6a626be9-e423-4fd9-aa16-13b1262d8edb.json | 30 ++++++++++++++ ...-75d62b89-cbe5-4125-bab5-7e9d66472ebb.json | 27 +++++++++++++ ...-a4fdd7a5-d9b2-4d8a-a057-e52a8d5f1f86.json | 29 ++++++++++++++ ...-ae12b6fc-abf7-48e0-8e58-84bd81a6020e.json | 27 +++++++++++++ ...-d36d0865-8422-40f7-8fdb-c683d1f05f0d.json | 29 ++++++++++++++ ...-ee32c13b-a85b-49d7-ac53-338b3c37ebdf.json | 27 +++++++++++++ ...-f3356ac5-5d99-456b-8fb6-90dca6f7c766.json | 30 ++++++++++++++ .../backend/MapWithAIAvailabilityTest.java | 9 +++++ .../backend/MapWithAIDataUtilsTest.java | 19 ++++++++- .../mapwithai/backend/MapWithAILayerTest.java | 10 +++++ .../backend/MapWithAIRemoteControlTest.java | 18 +++++++-- .../CreateConnectionsCommandTest.java | 15 ++++++- 18 files changed, 403 insertions(+), 10 deletions(-) create mode 100644 test/resources/wiremock/mappings/06_nodes-982f4ad5-bf25-49aa-a616-f160e14eaed1.json create mode 100644 test/resources/wiremock/mappings/06_nodes-fa0deb8f-2ce4-46b2-9f12-2100ccafa0a6.json create mode 100644 test/resources/wiremock/mappings/capabilities-194658eb-e7bb-4e22-b278-2d23246f3ff1.json create mode 100644 test/resources/wiremock/mappings/facebookmicrosites_open-mapping-at-facebook_master_data_rapid_realeasesgeojson-d624c425-7142-4c4b-ab08-4e60812fc3bb.json create mode 100644 test/resources/wiremock/mappings/ml_roads-6a626be9-e423-4fd9-aa16-13b1262d8edb.json create mode 100644 test/resources/wiremock/mappings/ml_roads-75d62b89-cbe5-4125-bab5-7e9d66472ebb.json create mode 100644 test/resources/wiremock/mappings/ml_roads-a4fdd7a5-d9b2-4d8a-a057-e52a8d5f1f86.json create mode 100644 test/resources/wiremock/mappings/ml_roads-ae12b6fc-abf7-48e0-8e58-84bd81a6020e.json create mode 100644 test/resources/wiremock/mappings/ml_roads-d36d0865-8422-40f7-8fdb-c683d1f05f0d.json create mode 100644 test/resources/wiremock/mappings/ml_roads-ee32c13b-a85b-49d7-ac53-338b3c37ebdf.json create mode 100644 test/resources/wiremock/mappings/ml_roads-f3356ac5-5d99-456b-8fb6-90dca6f7c766.json diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIAvailability.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIAvailability.java index ba1d6e6..9b42ab0 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIAvailability.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIAvailability.java @@ -29,7 +29,7 @@ import org.openstreetmap.josm.tools.Logging; import org.openstreetmap.josm.tools.Territories; public class MapWithAIAvailability { - private static final String RAPID_RELEASES = "https://github.com/facebookmicrosites/Open-Mapping-At-Facebook/raw/master/data/rapid_realeases.geojson"; + private static String rapidReleases = "https://github.com/facebookmicrosites/Open-Mapping-At-Facebook/raw/master/data/rapid_realeases.geojson"; private static MapWithAIAvailability instance = null; private static final Map> COUNTRIES = new HashMap<>(); private static final Map POSSIBLE_DATA_POINTS = new TreeMap<>(); @@ -42,8 +42,8 @@ public class MapWithAIAvailability { } private MapWithAIAvailability() { - try (CachedFile rapidReleases = new CachedFile(RAPID_RELEASES); - JsonParser parser = Json.createParser(rapidReleases.getContentReader())) { + try (CachedFile cachedRapidReleases = new CachedFile(rapidReleases); + JsonParser parser = Json.createParser(cachedRapidReleases.getContentReader())) { if (parser.hasNext()) { JsonParser.Event event = parser.next(); if (JsonParser.Event.START_OBJECT.equals(event)) { @@ -151,4 +151,11 @@ public class MapWithAIAvailability { public static Map getPossibleDataTypesAndMessages() { return POSSIBLE_DATA_POINTS; } + + /** + * @param url The URL where the MapWithAI data releases are. + */ + public static void setReleaseUrl(String url) { + rapidReleases = url; + } } diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java index 69a0fcd..86db463 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java @@ -273,7 +273,7 @@ public final class MapWithAIDataUtils { public static void setMapWithAIUrl(String url, boolean permanent) { final MapWithAILayer layer = getLayer(false); if (permanent) { - final List urls = getMapWithAIURLs(); + final List urls = new ArrayList<>(getMapWithAIURLs()); if (!urls.contains(url)) { urls.add(url); setMapWithAIURLs(urls); diff --git a/test/resources/wiremock/mappings/06_nodes-982f4ad5-bf25-49aa-a616-f160e14eaed1.json b/test/resources/wiremock/mappings/06_nodes-982f4ad5-bf25-49aa-a616-f160e14eaed1.json new file mode 100644 index 0000000..e372464 --- /dev/null +++ b/test/resources/wiremock/mappings/06_nodes-982f4ad5-bf25-49aa-a616-f160e14eaed1.json @@ -0,0 +1,25 @@ +{ + "id" : "982f4ad5-bf25-49aa-a616-f160e14eaed1", + "name" : "06_nodes", + "request" : { + "url" : "/0.6/nodes?nodes=6146500887", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n \n \n \n \n \n \n \n \n\n", + "headers" : { + "Date" : "Mon, 14 Oct 2019 22:53:09 GMT", + "Server" : "Apache/2.4.29 (Ubuntu)", + "Strict-Transport-Security" : [ "max-age=31536000; includeSubDomains; preload", "max-age=31536000; includeSubDomains; preload" ], + "Expect-CT" : [ "max-age=0, report-uri=\"https://openstreetmap.report-uri.com/r/d/ct/reportOnly\"", "max-age=0, report-uri=\"https://openstreetmap.report-uri.com/r/d/ct/reportOnly\"" ], + "Cache-Control" : "private, max-age=0, must-revalidate", + "Content-Type" : "text/xml; charset=utf-8", + "Keep-Alive" : "timeout=5, max=99", + "Connection" : "Keep-Alive" + } + }, + "uuid" : "982f4ad5-bf25-49aa-a616-f160e14eaed1", + "persistent" : true, + "insertionIndex" : 11 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/06_nodes-fa0deb8f-2ce4-46b2-9f12-2100ccafa0a6.json b/test/resources/wiremock/mappings/06_nodes-fa0deb8f-2ce4-46b2-9f12-2100ccafa0a6.json new file mode 100644 index 0000000..762e44f --- /dev/null +++ b/test/resources/wiremock/mappings/06_nodes-fa0deb8f-2ce4-46b2-9f12-2100ccafa0a6.json @@ -0,0 +1,25 @@ +{ + "id" : "fa0deb8f-2ce4-46b2-9f12-2100ccafa0a6", + "name" : "06_nodes", + "request" : { + "url" : "/0.6/nodes?nodes=6151680832", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n \n \n \n \n \n \n \n \n \n\n", + "headers" : { + "Date" : "Mon, 14 Oct 2019 22:53:09 GMT", + "Server" : "Apache/2.4.29 (Ubuntu)", + "Strict-Transport-Security" : [ "max-age=31536000; includeSubDomains; preload", "max-age=31536000; includeSubDomains; preload" ], + "Expect-CT" : [ "max-age=0, report-uri=\"https://openstreetmap.report-uri.com/r/d/ct/reportOnly\"", "max-age=0, report-uri=\"https://openstreetmap.report-uri.com/r/d/ct/reportOnly\"" ], + "Cache-Control" : "private, max-age=0, must-revalidate", + "Content-Type" : "text/xml; charset=utf-8", + "Keep-Alive" : "timeout=5, max=98", + "Connection" : "Keep-Alive" + } + }, + "uuid" : "fa0deb8f-2ce4-46b2-9f12-2100ccafa0a6", + "persistent" : true, + "insertionIndex" : 12 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/capabilities-194658eb-e7bb-4e22-b278-2d23246f3ff1.json b/test/resources/wiremock/mappings/capabilities-194658eb-e7bb-4e22-b278-2d23246f3ff1.json new file mode 100644 index 0000000..c9b9e3c --- /dev/null +++ b/test/resources/wiremock/mappings/capabilities-194658eb-e7bb-4e22-b278-2d23246f3ff1.json @@ -0,0 +1,38 @@ +{ + "id" : "194658eb-e7bb-4e22-b278-2d23246f3ff1", + "name" : "capabilities", + "request" : { + "url" : "/capabilities", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "headers" : { + "Date" : "Mon, 14 Oct 2019 22:53:09 GMT", + "Server" : "Apache/2.4.29 (Ubuntu)", + "Cache-Control" : "max-age=0, private, must-revalidate", + "Vary" : "Origin,Accept-Encoding", + "X-Permitted-Cross-Domain-Policies" : "none", + "X-XSS-Protection" : "1; mode=block", + "X-Request-Id" : "XaT8VcQns38EL-zq1jCQEAAAAAA", + "X-Download-Options" : "noopen", + "X-Runtime" : "0.006498", + "X-Frame-Options" : "sameorigin", + "X-Content-Type-Options" : "nosniff", + "Content-Security-Policy" : "default-src 'self'; child-src 'self'; connect-src 'self' piwik.openstreetmap.org; font-src 'none'; form-action 'self'; frame-ancestors 'self'; frame-src 'self'; img-src 'self' data: www.gravatar.com *.wp.com *.tile.openstreetmap.org *.tile.thunderforest.com *.openstreetmap.fr piwik.openstreetmap.org https://openstreetmap-user-avatars.s3.dualstack.eu-west-1.amazonaws.com; manifest-src 'self'; media-src 'none'; object-src 'self'; script-src 'self' piwik.openstreetmap.org; style-src 'self'; worker-src 'none'", + "X-Powered-By" : "Phusion Passenger 6.0.4", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "Expect-CT" : "max-age=0, report-uri=\"https://openstreetmap.report-uri.com/r/d/ct/reportOnly\"", + "Upgrade" : "h2", + "ETag" : "W/\"0d683cbc36a97f94c7e1bcc861adc22a-gzip\"", + "Status" : "200 OK", + "Keep-Alive" : "timeout=5, max=100", + "Connection" : "Keep-Alive", + "Content-Type" : "application/xml; charset=utf-8" + } + }, + "uuid" : "194658eb-e7bb-4e22-b278-2d23246f3ff1", + "persistent" : true, + "insertionIndex" : 10 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/facebookmicrosites_open-mapping-at-facebook_master_data_rapid_realeasesgeojson-d624c425-7142-4c4b-ab08-4e60812fc3bb.json b/test/resources/wiremock/mappings/facebookmicrosites_open-mapping-at-facebook_master_data_rapid_realeasesgeojson-d624c425-7142-4c4b-ab08-4e60812fc3bb.json new file mode 100644 index 0000000..7c638e2 --- /dev/null +++ b/test/resources/wiremock/mappings/facebookmicrosites_open-mapping-at-facebook_master_data_rapid_realeasesgeojson-d624c425-7142-4c4b-ab08-4e60812fc3bb.json @@ -0,0 +1,40 @@ +{ + "id" : "d624c425-7142-4c4b-ab08-4e60812fc3bb", + "name" : "facebookmicrosites_open-mapping-at-facebook_master_data_rapid_realeasesgeojson", + "request" : { + "url" : "/facebookmicrosites/Open-Mapping-At-Facebook/master/data/rapid_realeases.geojson", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "{\"type\":\"Topology\",\"arcs\":[[[3517,9012],[204,0],[213,0],[71,0],[218,0],[212,0],[216,0],[216,0],[244,0],[245,0],[149,0],[0,46],[25,0],[12,-65],[23,-20],[50,-8],[73,-19],[70,-36],[58,15],[89,-31],[23,1],[64,34],[68,-43],[70,-46],[58,-40],[56,-38],[7,-31],[17,-12],[-5,-12],[20,-3],[14,12],[3,-28],[15,-19],[19,0],[11,-15],[-9,-21],[75,-56],[15,-108],[15,-103],[-21,-70],[-34,-66],[-16,-41],[-2,-13],[9,-17],[24,-19],[18,0],[83,64],[74,19],[94,59],[2,12],[-7,36],[-11,23],[32,19],[71,1],[66,0],[23,46],[9,9],[76,86],[32,22],[109,1],[132,0],[8,29],[23,6],[30,19],[26,54],[22,92],[54,90],[24,-31],[48,20],[32,-34],[0,-162],[47,-68]],[[7518,8552],[13,-39],[-77,-57],[-74,-41],[-76,-36],[-38,-70],[-12,-27],[-1,-63],[24,-63],[30,-3],[-8,43],[22,-26],[-6,-34],[-48,-19],[-35,2],[-53,-21],[-31,-6],[-42,-6],[-60,-34],[106,22],[21,-22],[-101,-36],[-46,0],[3,14],[-22,-33],[21,-5],[-16,-86],[-52,-91],[-5,30],[-16,7],[-24,29],[15,-64],[18,-21],[1,-45],[-23,-46],[-40,-95],[-7,5],[22,81],[-36,45],[-9,99],[-13,-52],[15,-75],[-48,19],[50,-39],[3,-113],[21,-8],[7,-41],[10,-119],[-46,-89],[-74,-35],[-47,-70],[-36,-7],[-36,-44],[-11,-40],[-78,-77],[-41,-57],[-34,-70],[-11,-85],[13,-83],[24,-101],[32,-85],[0,-51],[34,-138],[-2,-80],[-3,-46],[-18,-73],[-22,-15],[-35,14],[-11,52],[-28,28],[-38,102],[-33,91],[-11,47],[15,79],[-20,65],[-56,100],[-28,18],[-73,-54],[-13,6],[-35,55],[-45,30],[-81,-15],[-64,13],[-54,-8],[-30,-19],[13,-31],[-1,-49],[15,-23],[-14,-16],[-26,18],[-27,-23],[-52,4],[-54,63],[-63,-15],[-52,28],[-45,-9],[-60,-28],[-66,-88],[-71,-51],[-39,-57],[-17,-53],[0,-83],[3,-57],[14,-40],[-28,-4]],[[5335,6256],[-51,26],[-56,37],[-20,56],[-16,84],[-43,67],[-24,70],[-36,82],[-51,47],[-59,-2],[-45,-94],[-60,35],[-37,36],[-18,66],[-23,62],[-43,52],[-37,38],[-26,42],[-125,0],[0,-49],[-57,0],[-143,-1],[-163,84],[-109,58],[7,23],[-91,-13],[-82,-9]],[[3927,7053],[-12,61],[-47,68],[-33,14],[-8,34],[-40,6],[-26,33],[-67,11],[-18,20],[-9,65],[-70,119],[-59,166],[2,27],[-32,40],[-55,99],[-10,97],[-38,65],[15,99],[-2,102],[-23,91],[28,112],[9,108],[9,108],[-13,160],[-23,102],[-21,55],[9,23],[103,-40],[39,-113],[18,32],[-12,97],[-24,98]],[[382,10366],[57,-10],[7,-46],[-44,-19],[-47,23],[-44,32],[71,20]],[[4,10771],[45,-23],[44,12],[58,-31],[72,-16],[-6,-13],[-55,-25],[-54,26],[-28,21],[-63,-7],[-17,11],[4,45]],[[1334,10079],[47,-8],[31,-37],[-63,-56],[-71,-46],[-37,31],[-11,56],[65,42],[39,18]],[[2213,11476],[0,0],[0,-441],[-1,-678],[71,-3],[70,-33],[50,-52],[64,-79],[70,67],[72,38],[38,-61],[48,-49],[66,-53],[45,-86],[74,-136],[122,-75],[2,-75],[-40,-58],[0,0]],[[2964,9702],[0,0],[-40,45],[-63,38],[-20,104],[-93,96],[-39,112],[-69,8],[-114,3],[-84,34],[-149,124],[-68,22],[-126,43],[-100,-10],[-141,54],[-85,51],[-80,-25],[15,-83],[-40,-8],[-83,-24],[-63,-40],[-80,-26],[-10,70],[32,117],[77,37],[-20,30],[-92,-67],[-49,-79],[-103,-85],[52,-57],[-68,-86],[-77,-50],[-72,-36],[-18,-53],[-112,-61],[-22,-56],[-84,-51],[-50,9],[-67,-33],[-73,-40],[-59,-40],[-124,-34],[-11,20],[79,55],[70,37],[76,65],[90,14],[35,48],[100,72],[16,24],[53,42],[12,90],[37,70],[-83,-36],[-23,20],[-39,-43],[-47,61],[-20,-43],[-26,59],[-72,-47],[-44,0],[-7,70],[13,44],[-46,42],[-93,-22],[-61,56],[-49,28],[0,67],[-56,51],[28,69],[59,66],[25,61],[58,9],[50,-19],[58,57],[52,-10],[55,37],[-14,54],[-40,22],[53,45],[-44,-1],[-76,-26],[-22,-26],[-57,26],[-101,-13],[-106,28],[-30,48],[-91,69],[101,50],[161,58],[59,0],[-10,-59],[152,4],[-59,74],[-88,45],[-51,60],[-69,51],[-99,37],[40,63],[128,3],[90,55],[18,58],[73,56],[70,14],[136,53],[66,-8],[111,63],[108,-25],[52,-54],[32,23],[122,-7],[-5,-27],[110,-20],[74,12],[151,-38],[138,-11],[55,-16],[96,20],[109,-36],[78,-17],[0,0]],[[1177,5571],[13,-10],[12,-16],[18,-42],[-2,-7],[-28,-25],[-23,-19],[-10,-20],[-18,18],[2,33],[-12,43],[4,13],[12,20],[-5,23],[4,11],[6,-2],[27,-20]],[[1135,5652],[-6,-14],[-24,-8],[-13,25],[-8,9],[-1,8],[7,10],[26,-11],[19,-19]],[[893,5825],[1,-28],[-8,-12],[-25,22],[4,9],[11,12],[17,-3]],[[1080,5701],[-2,-12],[-39,3],[6,15],[35,-6]],[[989,5766],[6,-8],[21,-39],[-4,-7],[-5,1],[-25,5],[-9,27],[-3,4],[19,17]],[[14777,3069],[12,-13],[261,-243],[4,-69],[104,-119]],[[15158,2625],[-34,-146],[5,-68],[46,-43],[2,-31],[-20,-72],[4,-36],[-5,-57],[25,-74],[30,-118],[27,-26]],[[15238,1954],[0,0],[-58,-69],[-78,-46],[-43,2],[-26,-36],[-50,-3],[-19,-15],[-86,34],[-54,-10]],[[14824,1811],[-20,162],[-24,55],[-15,33],[-70,23]],[[14695,2084],[-41,35],[-46,20],[-28,20],[-30,31]],[[14550,2190],[0,0],[-39,149],[-42,67],[-14,69],[7,62],[-13,109]],[[14449,2646],[30,6],[26,43],[28,62],[17,25],[0,39],[-16,27],[-4,47],[0,0],[21,15],[4,70],[-28,67]],[[14527,3047],[25,14],[79,-1],[146,9]],[[3517,9012],[-10,0],[-139,117],[-51,51],[-131,50],[-40,105],[11,73],[-92,51],[-13,96],[-87,86],[-1,61]],[[2213,11476],[134,-28],[113,-58],[75,-11],[63,50],[87,37],[107,-14],[107,52],[118,30],[49,-50],[54,28],[16,56],[50,-13],[121,-106],[96,80],[9,-90],[89,20],[27,34],[87,-7],[110,-50],[168,-43],[99,-20],[70,7],[97,-60],[-101,-59],[130,-26],[194,14],[61,21],[76,-71],[79,60],[-74,51],[47,40],[87,6],[58,12],[58,-29],[72,-64],[80,9],[127,-53],[111,18],[105,-2],[-8,74],[64,20],[111,-40],[0,-113],[45,95],[58,-3],[33,120],[-77,73],[-84,48],[6,132],[85,86],[94,-19],[73,-53],[98,-134],[-64,-58],[133,-24],[0,-122],[96,93],[86,-76],[-21,-89],[69,-80],[75,86],[53,103],[3,130],[103,-9],[106,-17],[96,-59],[5,-59],[-54,-64],[51,-63],[-9,-58],[-141,-83],[-100,-19],[-74,36],[-22,-60],[-69,-100],[-21,-52],[-83,-81],[-103,-7],[-57,-51],[-5,-77],[-83,-15],[-88,-96],[-78,-134],[-28,-94],[-4,-138],[106,-20],[32,-112],[34,-90],[100,24],[134,-52],[72,-45],[51,-56],[90,-33],[76,-50],[119,-7],[78,-12],[-12,-103],[23,-119],[52,-133],[106,-113],[56,38],[39,123],[-38,188],[-51,62],[115,56],[82,83],[40,83],[-6,80],[-49,101],[-87,89],[84,125],[-31,108],[-24,186],[50,27],[123,-32],[74,-12],[60,31],[67,-40],[88,-69],[22,-46],[128,-9],[-2,-100],[24,-150],[65,-19],[52,-70],[104,66],[69,131],[48,56],[56,-107],[93,-151],[80,-143],[-29,-75],[95,-67],[65,-68],[114,-31],[47,-38],[28,-100],[56,-16],[29,-45],[5,-134],[-52,-44],[-52,-42],[-118,-42],[-90,-98],[-122,-20],[-154,25],[-107,1],[-75,-8],[-60,-85],[-91,-53],[-104,-157],[-83,-110],[61,19],[116,157],[150,99],[108,12],[63,-59],[-68,-80],[23,-128],[24,-90],[93,-59],[119,17],[72,134],[5,-86],[46,-44],[-89,-77],[-159,-71],[-71,-48],[-80,-86],[-55,9],[-3,100],[125,99],[-115,-4],[-80,-15]],[[6307,10613],[54,54],[98,-1],[-1,-23],[-84,-65],[-51,2],[-16,33]],[[6610,11844],[-79,63],[3,43],[35,8],[164,-13],[124,-65],[6,-33],[-76,3],[-77,3],[-79,-16],[-21,7]],[[6572,10569],[27,36],[30,-3],[18,-24],[-28,-63],[-32,10],[-19,36],[4,8]],[[5616,12103],[-39,-46],[-104,9],[-87,31],[38,53],[103,32],[63,-41],[26,-38]],[[5600,12405],[-33,-3],[-134,7],[-20,34],[145,-2],[50,-22],[-8,-14]],[[5391,12553],[85,-41],[-19,-43],[-106,-24],[-59,27],[-31,45],[-5,49],[93,-5],[42,-8]],[[6009,12033],[-116,15],[-191,38],[-25,65],[-9,59],[-72,52],[-149,15],[-83,37],[27,49],[148,-8],[80,-38],[141,0],[62,-39],[-16,-45],[83,-27],[45,-28],[97,-5],[105,-10],[114,26],[146,10],[117,-9],[77,-45],[16,-49],[-45,-31],[-107,-26],[-92,15],[-206,-19],[-147,-2]],[[4348,12481],[101,-19],[-23,-36],[-134,-34],[-107,38],[58,38],[105,13]],[[4370,12558],[93,-24],[-87,-23],[-120,0],[2,17],[73,35],[39,-5]],[[8347,9288],[-38,-75],[-48,-104],[47,40],[48,-26],[-25,-41],[64,-33],[33,29],[72,-36],[-23,-88],[51,21],[9,-63],[22,-74],[-30,-105],[-33,-4],[-47,22],[16,97],[-20,15],[-84,-103],[-43,4],[51,56],[-69,29],[-77,-7],[-139,4],[-11,35],[44,42],[-31,32],[60,72],[75,189],[44,68],[63,41],[33,-5],[-14,-32]],[[6315,10929],[79,-41],[82,-37],[7,-57],[52,9],[52,-39],[-64,-37],[-112,28],[-40,54],[-71,-64],[-103,-61],[-24,69],[-98,-11],[63,59],[9,94],[24,108],[52,-9],[14,-53],[36,19],[42,-31]],[[6682,11790],[68,48],[160,-61],[99,-56],[9,-52],[133,27],[75,-76],[174,-47],[62,-48],[68,-111],[-132,-56],[170,-77],[114,-27],[103,-109],[113,-8],[-22,-83],[-127,-139],[-88,51],[-113,115],[-93,-15],[-9,-68],[76,-70],[97,-54],[30,-32],[47,-118],[-25,-85],[-91,32],[-180,95],[102,-102],[74,-72],[12,-42],[-195,48],[-154,69],[-87,58],[25,34],[-107,61],[-105,57],[1,-34],[-207,-19],[-61,41],[47,87],[135,2],[148,16],[-24,42],[25,60],[93,115],[-20,53],[-27,41],[-110,58],[-146,40],[46,30],[-76,74],[-63,7],[-57,40],[-38,-35],[-131,-15],[-261,27],[-152,34],[-117,18],[-59,42],[75,54],[-102,1],[-23,120],[55,107],[74,48],[186,32],[-53,-77],[56,-74],[67,96],[182,49],[123,-123],[-11,-78],[142,34]],[[5552,12002],[150,-4],[137,-29],[-107,-106],[-86,-23],[-77,-89],[-82,5],[-45,104],[1,59],[38,51],[71,32]],[[3516,12238],[0,0],[121,89],[148,77],[110,-1],[99,17],[-10,-91],[-55,-42],[-68,-5],[-133,-51],[-115,-19],[-97,26]],[[2808,9612],[69,9],[-22,-135],[63,-96],[-29,1],[-43,54],[-27,55],[-36,37],[-14,52],[5,38],[34,-15]],[[4763,12617],[141,-16],[194,-43],[55,-57],[28,-50],[-117,14],[-119,38],[-159,5],[69,35],[-87,29],[-5,45]],[[3468,8954],[-36,-17],[-118,54],[-21,42],[-64,42],[-13,34],[-74,21],[-28,65],[6,28],[76,-26],[44,-18],[67,-13],[25,-41],[35,-57],[72,-49],[29,-65]],[[3610,12040],[103,-25],[183,-6],[70,-35],[77,-50],[-90,-30],[-176,-84],[-89,-83],[0,-52],[-190,-57],[-37,52],[-166,63],[31,50],[49,87],[63,78],[-71,73],[243,19]],[[4596,12206],[64,20],[75,-5],[13,-59],[-44,-56],[-243,-18],[-182,-52],[-109,-3],[-9,39],[149,53],[-324,-14],[-101,21],[98,116],[68,33],[202,-40],[128,-70],[125,-9],[-103,114],[66,43],[74,-14],[24,-57],[29,-42]],[[4689,11876],[80,-48],[45,-115],[23,-84],[120,-59],[130,-57],[-8,-52],[-118,-10],[46,-45],[-24,-44],[-130,19],[-124,32],[-83,-7],[-135,-41],[-182,-18],[-128,-11],[-39,56],[-98,33],[-64,-13],[-88,94],[47,12],[111,21],[102,-6],[93,21],[-138,28],[-154,-10],[-102,3],[-38,44],[167,47],[-111,-1],[-125,31],[60,89],[50,47],[192,73],[74,-23],[-36,-56],[160,36],[100,-60],[81,61],[65,-39],[59,-117],[36,49],[-51,122],[63,18],[72,-20]],[[5126,11832],[-79,78],[85,58],[85,-25],[129,15],[18,-35],[-67,-57],[109,-51],[-13,-107],[-118,-46],[-69,10],[-50,45],[-178,92],[1,38],[147,-15]],[[4683,11939],[97,5],[54,-27],[-63,-78],[-112,83],[24,17]],[[5265,12310],[55,-55],[2,-61],[-32,-89],[-119,-12],[-77,19],[1,70],[-117,-10],[-5,92],[77,-3],[109,40],[101,-7],[5,16]],[[5444,12772],[49,36],[74,9],[-31,27],[167,6],[91,-64],[121,-25],[118,-23],[57,-78],[86,-39],[-98,-35],[-133,-89],[-127,-9],[-149,15],[-77,49],[1,43],[57,32],[-132,-1],[-79,39],[-45,54],[50,53]],[[5762,12926],[107,22],[83,4],[141,20],[106,44],[89,-6],[78,-34],[54,65],[95,19],[129,13],[220,5],[38,-13],[207,20],[156,-8],[155,-7],[192,-9],[155,-16],[131,-32],[-3,-32],[-175,-51],[-174,-24],[-65,-27],[156,1],[-169,-73],[-117,-33],[-123,-97],[-148,-20],[-46,-24],[-218,-13],[99,-15],[-49,-21],[59,-59],[-68,-41],[-111,-34],[-34,-46],[-101,-36],[10,-27],[123,5],[2,-29],[-192,-71],[-188,32],[-211,-18],[-107,14],[-136,7],[-9,57],[133,27],[-35,85],[44,9],[192,-52],[-98,77],[-117,23],[58,46],[128,28],[20,41],[-101,47],[-31,61],[197,-5],[56,-13],[112,44],[-161,13],[-252,-7],[-127,40],[-60,48],[-83,35],[-16,41]],[[6938,11206],[-47,-35],[-80,-6],[-18,59],[30,66],[66,17],[56,-33],[1,-51],[-8,-17]],[[5426,11450],[44,-46],[-45,-41],[-96,36],[-59,-13],[-98,53],[63,37],[50,52],[77,-34],[43,-22],[21,-22]],[[7706,9116],[25,10],[95,-30],[73,-50],[2,-22],[-35,-2],[-93,38],[-67,56]],[[7743,8778],[25,-58],[52,-16],[66,4],[-35,-49],[-27,-8],[-91,51],[-18,40],[28,36]],[[22471,2872],[1,-387],[1,-388],[-64,98],[-73,24],[-18,-34],[-91,-4],[31,97],[45,33],[-19,129],[-34,100],[-139,101],[-60,10],[-108,110],[-21,-58],[-27,-11],[-17,44],[0,52],[-55,58],[78,43],[51,-2],[-6,31],[-105,1],[-29,70],[-64,22],[-30,59],[97,29],[36,39],[116,-49],[11,-44],[20,-193],[74,-71],[60,126],[83,72],[64,0],[61,-41],[53,-43],[78,-23]],[[21319,2124],[7,-24],[2,-36],[-47,-89],[-62,-26],[-8,14],[6,41],[31,72],[71,48]],[[21983,2361],[-7,90],[13,43],[15,40],[16,-35],[0,-57],[-37,-81]],[[20810,3674],[-41,-107],[53,-113],[-13,-55],[81,-110],[-85,-14],[-24,-81],[3,-108],[-69,-81],[-2,-119],[-28,-182],[-10,43],[-82,-54],[-28,73],[-52,7],[-35,38],[-86,-43],[-26,58],[-47,-7],[-59,14],[-11,159],[-36,33],[-35,102],[-10,104],[9,110],[42,80]],[[20219,3421],[12,-80],[49,-67],[47,24],[46,-9],[42,61],[34,10],[68,-33],[59,25],[36,166],[28,41],[25,135],[83,0],[62,-20]],[[21635,2848],[79,-34],[26,-91],[-60,49],[-60,10],[-41,-8],[-50,4],[17,65],[89,5]],[[21456,2731],[-50,22],[-14,51],[73,5],[18,-39],[-27,-39]],[[21532,3441],[5,-65],[42,-11],[7,-48],[-4,-104],[-37,11],[-11,-72],[30,-63],[-20,-14],[-29,75],[-21,152],[14,95],[24,44]],[[21172,3286],[83,5],[71,86],[12,-26],[-57,-118],[-54,-23],[-69,23],[-120,-6],[-63,-17],[-10,-90],[64,-106],[39,54],[134,41],[-6,-55],[-31,17],[-31,-70],[-64,-46],[68,-152],[-13,-41],[65,-137],[-1,-79],[-38,-35],[-28,42],[34,98],[-70,-46],[-18,33],[9,45],[-52,70],[6,116],[-48,-36],[6,-139],[3,-170],[-46,-17],[-31,35],[21,109],[-11,115],[-30,1],[-23,81],[30,78],[10,95],[36,179],[16,49],[61,89],[56,-36],[90,-16]],[[20983,1961],[-95,84],[67,23],[38,-36],[25,-36],[-5,-33],[-30,-2]],[[21058,2166],[48,9],[65,44],[-11,-66],[-108,-34],[-95,15],[-1,43],[57,25],[45,-36]],[[20837,2187],[44,10],[18,-51],[-83,-24],[-50,-16],[-38,1],[24,69],[40,1],[19,42],[26,-32]],[[20135,2418],[10,-43],[137,-11],[16,49],[133,-58],[27,-77],[107,-21],[88,-71],[-82,-45],[-79,47],[-65,-3],[-74,9],[-67,21],[-84,46],[-52,12],[-30,-15],[-131,49],[-13,51],[-65,9],[49,113],[87,-7],[58,-46],[30,-9]],[[19839,3053],[12,-83],[25,-67],[53,-10],[35,-75],[-18,-148],[-3,-185],[-79,-2],[-61,99],[-92,98],[-31,72],[-54,97],[-36,89],[-55,166],[-63,100],[-21,102],[-26,93],[-65,75],[-38,101],[-54,67],[-75,131],[-6,61],[46,-5],[111,-23],[64,-116],[56,-81],[39,-49],[68,-128],[73,-2],[61,-82],[41,-99],[55,-55],[-29,-97],[41,-41],[26,-3]],[[14550,2190],[-29,12],[-96,-20],[-19,-15],[-21,-76],[16,-52],[-13,-141],[-8,-119],[19,-22],[50,-46],[20,22],[6,-129],[-55,1],[-30,66],[-26,51],[-55,16],[-16,63],[-44,-38],[-58,17],[-24,54],[-45,11],[-34,-3],[-4,37],[-25,3]],[[14059,1882],[-33,7],[-44,-18],[-31,3],[-18,-11],[4,142],[-24,44],[-5,73],[10,72],[-14,45],[-2,75],[-87,-1],[6,43],[-36,0],[-4,-21],[-45,-5],[-18,-69],[-11,-30],[-39,17],[-24,-17],[-47,-9],[-28,62],[-16,38],[-21,72],[-18,89],[-212,1],[-25,-14],[-21,2],[-29,-16],[-11,37],[19,12],[2,52],[12,31],[26,25],[19,-12],[24,45],[39,-1],[5,-33],[27,-22],[42,75],[42,58],[18,38],[-2,98],[31,116],[33,61],[47,57],[8,38],[2,44],[12,41],[-4,68],[9,105],[14,74],[22,64],[4,72],[6,83],[28,60],[39,38],[59,-40],[46,-44],[52,-12],[54,-23],[21,72],[10,9],[33,-12],[80,60],[28,-26],[24,4],[10,29],[27,10],[54,-12],[46,-3],[24,13],[43,-99],[33,-14],[19,20],[33,-8],[40,25],[17,-51],[63,-79]],[[14556,3599],[0,0],[-4,-139],[29,-16],[-23,-42],[-28,-32],[-27,-62],[-15,-55],[-5,-96],[-16,-45],[-1,-90]],[[14466,3022],[-20,-33],[-3,-71],[-10,-9],[-7,-65],[18,-54],[5,-144]],[[14777,3069],[-1,126],[21,48],[35,79],[26,87],[-31,136],[-9,60],[-34,82]],[[14784,3687],[44,72],[49,78]],[[14877,3837],[37,-20],[0,-67],[25,-39],[50,0],[91,-101],[23,-1],[16,3],[16,-14],[48,-9],[21,50],[66,49],[29,-40],[49,0]],[[15348,3648],[-63,-135],[1,-433],[43,-98],[-51,-48],[-17,-50],[-27,-8],[-10,-84],[-24,-48],[-14,-79],[-28,-40]],[[5335,6256],[28,4],[-28,-105],[-13,-85],[-5,-160],[-7,-58],[13,-65],[22,-58],[14,-92],[48,-89],[17,-67],[28,-59],[76,-32],[30,-49],[63,33],[55,12],[53,21],[46,21],[45,48],[17,70],[6,100],[13,34],[48,32],[76,27],[64,-4],[44,10],[17,-25],[-3,-57],[-38,-71],[-17,-73],[13,-20],[-11,-52],[-18,-93],[-18,31],[-15,-2],[-14,-2],[-25,-71],[-14,14],[-8,-6],[0,-17],[-66,1],[-67,0],[0,-67],[-33,-1],[27,-39],[27,-28],[8,-25],[11,-8],[-2,-40],[-92,-1],[-34,-97],[10,-22],[-8,-28],[-2,-34],[-82,128],[-37,38],[-58,31],[-40,-8],[-58,-45],[-36,-12],[-51,32],[-54,22],[-67,55],[-54,17],[-81,55],[-60,57],[-18,31],[-41,8],[-73,37],[-30,55],[-77,67],[-36,75],[-17,58],[24,12],[-8,34],[17,30],[0,42],[-24,53],[-7,47],[-24,60],[-63,119],[-72,93],[-35,74],[-62,48],[-13,29],[11,74],[-37,28],[-42,58],[-18,83],[-39,9],[-41,63],[-34,58],[-3,37],[-39,90],[-25,91],[1,46],[-52,47],[-24,-5],[-41,32],[-12,-48],[12,-57],[7,-89],[25,-49],[53,-82],[12,-28],[11,-9],[9,-41],[13,2],[15,-77],[21,-30],[16,-42],[45,-61],[24,-110],[21,-53],[20,-55],[4,-63],[35,-4],[28,-54],[26,-53],[-1,-22],[-31,-43],[-12,0],[-19,73],[-47,67],[-52,58],[-37,30],[3,87],[-11,65],[-35,37],[-49,53],[-9,-16],[-18,31],[-45,29],[-42,69],[5,9],[30,-6],[26,44],[3,54],[-55,85],[-42,32],[-27,75],[-27,78],[-33,95],[-29,107]],[[12535,3926],[4,192],[-2,76],[14,75],[22,36],[34,74],[-7,32],[14,48],[-16,71],[3,39],[5,106],[20,48],[10,69],[19,26],[77,14],[72,-45],[27,-45],[37,-2],[34,29],[87,-61],[37,3],[42,51],[42,-4],[21,17],[38,-7],[56,-35],[56,67],[17,-5],[49,-130],[13,2],[28,-47],[-7,-22],[-4,-39],[-61,-92],[-19,-76],[-10,-62],[-15,-27],[-15,-83],[-38,-49],[-11,-60],[-16,-48],[-7,-50],[-49,-40],[-41,49],[-27,-2],[-43,-69],[-20,-1],[-35,-115],[-18,-84],[-75,-43],[-27,6],[-28,-27],[-57,3],[-38,74],[-24,87],[-51,78],[-54,-2],[-63,0]],[[14695,2084],[34,-54],[18,-101],[-12,-32],[-15,-96],[14,-99],[-23,-41],[-21,-111],[37,-31]],[[14727,1519],[-218,-98],[7,-84]],[[14516,1337],[-54,-17],[-41,-47],[-9,-41],[-26,-10],[-62,-97],[-40,-77],[-24,-3],[-23,13],[-81,14],[-13,8],[0,10],[-29,27],[-46,7],[-59,-27],[-47,74],[-48,98],[3,378],[150,-1],[-7,41],[11,44],[-12,56],[8,58],[-8,37]],[[15238,1954],[0,0],[11,-53],[-3,-119],[9,-104],[3,-186],[13,-58],[-22,-85],[-28,-83],[-45,-74],[-66,-45],[-81,-58],[-81,-127],[-28,-22],[-50,-85],[-30,-27],[-6,-85],[34,-90],[14,-70],[1,-35],[13,6],[-2,-117],[-12,-55],[17,-21],[-10,-49],[-30,-43],[-60,-40],[-86,-64],[-32,-44],[7,-50],[18,-8],[-6,-63],[-55,1],[-6,53],[-11,53],[-6,43],[13,132],[-19,85],[-34,167],[76,135],[19,86],[11,11],[8,70],[-12,35],[3,89],[14,83],[0,150],[-37,38],[-35,9],[-15,30],[-33,25],[-60,-3],[-5,45]],[[14727,1519],[42,-57],[19,11],[29,-30],[4,-48],[-15,-55],[5,-84],[47,-73],[22,82],[31,25],[-6,153],[-30,86],[-26,39],[-25,-2],[-20,155],[20,90]],[[19837,4430],[62,47],[75,9],[-31,72],[120,92],[9,142],[-16,80],[13,119],[-18,84],[-55,82],[-45,105],[-60,141],[-86,71],[21,43],[46,31],[-28,104],[-89,1],[-32,108],[-42,94],[39,29],[57,-1],[70,14],[61,63],[35,-44],[65,-22],[-11,-69],[34,-48],[72,-31],[-95,-102],[-60,-112],[-16,-83],[55,-125],[67,-156],[65,-73],[44,-96],[33,-220],[-10,-209],[-60,-78],[-82,-77],[-59,-99],[-89,-111],[-26,76],[20,81],[-53,68]],[[18999,5804],[-2,-85],[-25,18],[5,-96],[-21,62],[-4,61],[-13,57],[-30,69],[-67,5],[7,-49],[-23,-66],[-30,24],[-11,-22],[-20,13],[-28,11],[-11,98],[-25,89],[12,72],[-44,32],[16,43],[45,45],[-52,63],[26,80],[56,-51],[35,-6],[6,-83],[68,-16],[67,2],[41,-20],[-33,-101],[-32,-7],[-22,-68],[39,-61],[12,76],[20,0],[38,-189]],[[17120,7627],[40,-1],[54,-25],[22,-14],[52,38],[24,-23],[23,55],[43,-3],[11,18],[8,48],[31,41],[39,-27],[-8,-36],[22,-6],[-7,-100],[29,-39],[25,25],[31,12],[45,53],[50,-9],[74,0],[13,-34],[-42,-13],[-37,-22],[-82,-14],[-77,-25],[-42,-52],[17,-50],[8,-60],[-36,-50],[3,-45],[-20,-43],[-68,4],[28,-79],[-45,-30],[-31,-72],[4,-72],[-28,-33],[-27,11],[-55,-15],[-7,-34],[-54,1],[-40,-68],[-2,-101],[-94,-50],[-50,11],[-14,-26],[-43,15],[-72,-18],[-121,61],[66,108],[-6,76],[-55,20],[-5,76],[-24,95],[31,65],[-31,18],[19,86],[30,149],[73,-46],[54,16],[15,54],[57,18],[40,36],[15,95],[60,23],[11,43],[34,-32],[22,-4]],[[15558,7604],[-35,-20],[-25,31],[-84,15],[-30,-19],[-82,-18],[-39,2],[-82,-45],[-60,0],[-38,22],[-79,-33],[-23,23],[-4,-66],[-20,-26],[-19,-26],[-26,54],[27,45],[-44,-11],[-60,28],[-49,-69],[-109,-13],[-58,64],[-78,4],[-16,-50],[-50,-14],[-70,64],[-78,-2],[-43,118],[-52,66],[35,92],[-46,57],[80,114],[111,5],[30,90],[137,-16],[86,78],[84,33],[119,3],[125,-84],[103,-46],[84,18],[62,-10],[84,62],[77,5],[69,-58],[12,-42],[-6,-58],[53,-29],[28,-35],[-49,-34],[22,-136],[-14,-37],[40,-96],[0,0]],[[14218,8158],[73,38],[62,-16],[8,-46],[63,-38],[-13,-29],[-86,-7],[-30,-37],[-60,-64],[-23,56],[1,24],[17,13],[22,75],[-34,31]],[[21022,4693],[-37,91],[62,-4],[25,-43],[-19,-103],[-31,59]],[[21148,4369],[18,34],[8,74],[39,7],[-11,-81],[53,115],[-7,-113],[-26,-39],[-22,-75],[-23,-36],[-44,83],[15,31]],[[21420,4183],[7,-79],[5,-67],[-25,-109],[-26,122],[-34,-61],[23,-87],[-20,-56],[-85,69],[-20,86],[22,57],[-46,56],[-22,-49],[-34,4],[-53,-66],[-12,35],[28,100],[45,33],[40,45],[25,-54],[55,33],[11,53],[51,3],[-4,92],[58,-56],[6,-60],[5,-44]],[[20855,4290],[-96,-113],[35,84],[52,73],[43,82],[38,119],[13,-97],[-48,-66],[-37,-82]],[[21130,5350],[-12,-49],[25,-85],[-19,-99],[-43,-40],[-11,-96],[16,-94],[38,-13],[32,14],[90,-66],[-7,-65],[23,-29],[-7,-55],[-56,59],[-27,62],[-18,-43],[-46,71],[-65,-18],[-36,27],[4,49],[22,30],[-21,28],[-10,-43],[-35,68],[-11,52],[-2,114],[29,-39],[7,186],[23,108],[44,-1],[44,-34],[22,31],[7,-30]],[[21108,4540],[-11,57],[43,-37],[46,0],[-1,-50],[-34,-50],[-45,-36],[-3,55],[5,61]],[[21357,4629],[20,-133],[-55,32],[1,-40],[18,-74],[-34,-26],[-3,83],[-22,7],[-11,72],[42,-10],[-1,45],[-44,91],[69,-3],[20,-44]],[[19531,3951],[13,21],[58,-52],[6,-61],[48,14],[23,49],[17,-11],[42,-72],[30,-80],[4,-80],[-7,-54],[7,-41],[5,-70],[25,-33],[28,-105],[-1,-40],[-51,-8],[-68,88],[-85,94],[-8,61],[-42,79],[-10,99],[-26,65],[8,87],[-16,50]],[[20219,3421],[53,-41],[56,22],[14,101],[31,22],[86,26],[51,94],[36,75],[32,-61],[15,40],[35,-4],[4,76],[3,59],[55,83],[37,93],[29,0],[37,-60],[3,-52],[47,-33],[60,-36],[-5,-46],[-48,-6],[13,-58],[-53,-41]],[[14990,5799],[-285,0],[-279,0],[-289,0],[0,439],[0,423],[-21,96],[18,73],[-11,51],[26,57],[96,2],[69,-32],[71,-35],[33,-18],[56,37],[29,35],[64,9],[51,-15],[19,-59],[17,39],[58,-28],[56,-7],[35,30],[0,0],[40,-173],[7,-31],[-20,-48],[-16,-90],[-19,-62],[-17,-21],[-24,39],[-32,53],[-51,171],[-8,-11],[30,-126],[44,-119],[54,-186],[27,-64],[23,-68],[64,-131],[-14,-21],[2,-77],[84,-107],[13,-25]],[[14877,3837],[-42,129],[-33,28],[-13,48],[-36,58],[-44,8],[24,68],[38,3],[11,36],[-1,107],[21,125],[34,33],[8,49],[30,90],[44,59],[29,118],[11,102],[84,-25],[22,89],[44,-54],[42,28],[17,-25],[50,-2],[62,-47],[19,-41],[32,-39],[29,-69],[25,-39],[-25,-53],[-25,-55],[6,-33],[1,-36],[40,-2],[17,8],[16,-21],[-15,-42],[26,-66],[27,-57],[27,-43],[235,-141],[60,1],[-203,-357],[-93,-5],[-64,-84],[-46,-2],[-20,-38]],[[14527,3047],[-43,-37],[-18,12]],[[14556,3599],[30,33],[46,-27],[57,28],[51,0],[44,54]]],\"transform\":{\"scale\":[0.013920035703417658,0.00840469481576891],\"translate\":[-171.79111060289122,-26.742191664336197]},\"objects\":{\"rapid_releases_1011_polygon\":{\"type\":\"GeometryCollection\",\"geometries\":[{\"arcs\":[[0,1,2,3]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"United States of America\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/16\",\"MS buildings available\":\"yes\",\"fill\":\"#9ED86B\"}},{\"arcs\":[[[4]],[[5]],[[6]],[[7,8]]],\"type\":\"MultiPolygon\",\"properties\":{\"Country\":\"United States of America\",\"RapiD roads available\":\"no\",\"RapiD roads release date\":null,\"MS buildings available\":\"yes\",\"fill\":\"#87CEFA\"}},{\"arcs\":[[[9]],[[10]],[[11]],[[12]],[[13]]],\"type\":\"MultiPolygon\",\"properties\":{\"Country\":\"United States of America\",\"RapiD roads available\":\"no\",\"RapiD roads release date\":null,\"MS buildings available\":\"yes\",\"fill\":\"#87CEFA\"}},{\"arcs\":[[14,15,16,17,18,19,20,21]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Tanzania\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"yes\",\"fill\":\"#9ED86B\"}},{\"arcs\":[[[22,-8,23,-1]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45]],[[46]],[[47]],[[48]],[[49]],[[50]],[[51]],[[52]]],\"type\":\"MultiPolygon\",\"properties\":{\"Country\":\"Canada\",\"RapiD roads available\":\"no\",\"RapiD roads release date\":null,\"MS buildings available\":\"yes\",\"fill\":\"#87CEFA\"}},{\"arcs\":[[[53]],[[54]],[[55]],[[56,57]],[[58]],[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]]],\"type\":\"MultiPolygon\",\"properties\":{\"Country\":\"Indonesia\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[-20,67,68,69,70]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Dem. Rep. Congo\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/09/27\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[-15,71,72,73,74]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Kenya\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/29\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[-3,75]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Mexico\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[76]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Nigeria\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[-19,77,78,79,-68]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Zambia\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/09/27\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[-17,80,-79,81]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Mozambique\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/16\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[82]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Vietnam\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/29\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[83]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Bangladesh\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[84]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Afghanistan\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[[85]],[[86]]],\"type\":\"MultiPolygon\",\"properties\":{\"Country\":\"Turkey\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/09/27\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]]],\"type\":\"MultiPolygon\",\"properties\":{\"Country\":\"Philippines\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/31\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[[94]],[[-58,95]]],\"type\":\"MultiPolygon\",\"properties\":{\"Country\":\"Malaysia\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[96]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Egypt\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/29\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[-74,97]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Ethiopia\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/16\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\"}},{\"arcs\":[[-22,98,-70,99,-72]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"Uganda\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"yes\",\"fill\":\"#9ED86B\"}},{\"arcs\":[[0,1,2,3]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"United States of America\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/16\",\"MS buildings available\":\"yes\",\"fill\":\"#9ED86B\"}},{\"arcs\":[[0,1,2,3]],\"type\":\"Polygon\",\"properties\":{\"Country\":\"United States of America\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/16\",\"MS buildings available\":\"yes\",\"fill\":\"#9ED86B\"}}]},\"rapid_releases_1011_centroid\":{\"type\":\"GeometryCollection\",\"geometries\":[{\"type\":\"Point\",\"coordinates\":[5225,7882],\"properties\":{\"Country\":\"United States of America\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/16\",\"MS buildings available\":\"yes\",\"fill\":\"#9ED86B\",\"marker-symbol\":\"circle\"}},{\"type\":\"Point\",\"coordinates\":[1362,10841],\"properties\":{\"Country\":\"United States of America\",\"RapiD roads available\":\"no\",\"RapiD roads release date\":null,\"MS buildings available\":\"yes\",\"fill\":\"#87CEFA\",\"marker-symbol\":\"building\"}},{\"type\":\"Point\",\"coordinates\":[1117,5584],\"properties\":{\"Country\":\"United States of America\",\"RapiD roads available\":\"no\",\"RapiD roads release date\":null,\"MS buildings available\":\"yes\",\"fill\":\"#87CEFA\",\"marker-symbol\":\"building\"}},{\"type\":\"Point\",\"coordinates\":[14838,2437],\"properties\":{\"Country\":\"Tanzania\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"yes\",\"fill\":\"#9ED86B\",\"marker-symbol\":\"circle\"}},{\"type\":\"Point\",\"coordinates\":[5291,10495],\"properties\":{\"Country\":\"Canada\",\"RapiD roads available\":\"no\",\"RapiD roads release date\":null,\"MS buildings available\":\"yes\",\"fill\":\"#87CEFA\",\"marker-symbol\":\"building\"}},{\"type\":\"Point\",\"coordinates\":[20777,2917],\"properties\":{\"Country\":\"Indonesia\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[14035,2843],\"properties\":{\"Country\":\"Dem. Rep. Congo\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/09/27\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[15056,3253],\"properties\":{\"Country\":\"Kenya\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/29\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[4972,6030],\"properties\":{\"Country\":\"Mexico\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[12916,4318],\"properties\":{\"Country\":\"Nigeria\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[14333,1588],\"properties\":{\"Country\":\"Zambia\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/09/27\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[14890,1132],\"properties\":{\"Country\":\"Mozambique\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/16\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[19977,5164],\"properties\":{\"Country\":\"Vietnam\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/29\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[18826,6018],\"properties\":{\"Country\":\"Bangladesh\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[17089,7210],\"properties\":{\"Country\":\"Afghanistan\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[14864,7830],\"properties\":{\"Country\":\"Turkey\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/09/27\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[21170,4581],\"properties\":{\"Country\":\"Philippines\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/31\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[20222,3625],\"properties\":{\"Country\":\"Malaysia\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[14485,6336],\"properties\":{\"Country\":\"Egypt\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/29\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[15183,4211],\"properties\":{\"Country\":\"Ethiopia\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/08/16\",\"MS buildings available\":\"no\",\"fill\":\"#ff26d4\",\"marker-symbol\":\"car\"}},{\"type\":\"Point\",\"coordinates\":[14666,3336],\"properties\":{\"Country\":\"Uganda\",\"RapiD roads available\":\"yes\",\"RapiD roads release date\":\"2019/07/23\",\"MS buildings available\":\"yes\",\"fill\":\"#9ED86B\",\"marker-symbol\":\"circle\"}}]}},\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"urn:ogc:def:crs:OGC:1.3:CRS84\"}}}\n", + "headers" : { + "Content-Security-Policy" : "default-src 'none'; style-src 'unsafe-inline'; sandbox", + "Strict-Transport-Security" : "max-age=31536000", + "X-Content-Type-Options" : "nosniff", + "X-Frame-Options" : "deny", + "X-XSS-Protection" : "1; mode=block", + "ETag" : "\"fa2545e87150de16c9f7ebec421865b9838d4a03\"", + "Content-Type" : "text/plain; charset=utf-8", + "Cache-Control" : "max-age=300", + "X-Geo-Block-List" : "", + "X-GitHub-Request-Id" : "45EA:056F:6CEF2:900E9:5DA4FA4D", + "Accept-Ranges" : "bytes", + "Date" : "Mon, 14 Oct 2019 22:44:32 GMT", + "Via" : "1.1 varnish", + "Connection" : "keep-alive", + "X-Served-By" : "cache-den19636-DEN", + "X-Cache" : "MISS", + "X-Cache-Hits" : "0", + "X-Timer" : "S1571093072.994983,VS0,VE227", + "Vary" : "Authorization,Accept-Encoding", + "Access-Control-Allow-Origin" : "*", + "X-Fastly-Request-ID" : "55228efb42d38284d62aa667306ef4f808f5a7cf", + "Expires" : "Mon, 14 Oct 2019 22:49:32 GMT", + "Source-Age" : "0" + } + }, + "uuid" : "d624c425-7142-4c4b-ab08-4e60812fc3bb", + "persistent" : true, + "insertionIndex" : 8 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/ml_roads-6a626be9-e423-4fd9-aa16-13b1262d8edb.json b/test/resources/wiremock/mappings/ml_roads-6a626be9-e423-4fd9-aa16-13b1262d8edb.json new file mode 100644 index 0000000..c10a8eb --- /dev/null +++ b/test/resources/wiremock/mappings/ml_roads-6a626be9-e423-4fd9-aa16-13b1262d8edb.json @@ -0,0 +1,30 @@ +{ + "id" : "6a626be9-e423-4fd9-aa16-13b1262d8edb", + "name" : "ml_roads", + "request" : { + "url" : "/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&result_type=road_building_vector_xml&bbox=-108.4625,39.0621,-108.4594,39.0633", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "headers" : { + "Content-Type" : "text/xml; charset=UTF-8", + "Strict-Transport-Security" : "max-age=15552000; preload", + "Vary" : "Accept-Encoding", + "X-Content-Type-Options" : "nosniff", + "X-Frame-Options" : "DENY", + "X-XSS-Protection" : "0", + "Access-Control-Allow-Origin" : "https://facebook.com", + "X-FB-Debug" : "63knydpqj3PUajqLTk1YJktu0kMZ6NyOvsXQJAV8vK7e9GABLqNRtRlBcO1Rml+2EUzQPMwb4MC8cwOa/fRClw==", + "Date" : "Mon, 14 Oct 2019 21:48:15 GMT", + "Connection" : "keep-alive" + } + }, + "uuid" : "6a626be9-e423-4fd9-aa16-13b1262d8edb", + "persistent" : true, + "scenarioName" : "scenario-2-ml_roads", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-2-ml_roads-2", + "insertionIndex" : 7 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/ml_roads-75d62b89-cbe5-4125-bab5-7e9d66472ebb.json b/test/resources/wiremock/mappings/ml_roads-75d62b89-cbe5-4125-bab5-7e9d66472ebb.json new file mode 100644 index 0000000..2a5266e --- /dev/null +++ b/test/resources/wiremock/mappings/ml_roads-75d62b89-cbe5-4125-bab5-7e9d66472ebb.json @@ -0,0 +1,27 @@ +{ + "id" : "75d62b89-cbe5-4125-bab5-7e9d66472ebb", + "name" : "ml_roads", + "request" : { + "url" : "/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&result_type=road_building_vector_xml&bbox=-0.001,-0.001,0.0,0.0", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n\n", + "headers" : { + "Content-Type" : "text/xml; charset=UTF-8", + "Strict-Transport-Security" : "max-age=15552000; preload", + "Vary" : "Accept-Encoding", + "X-Content-Type-Options" : "nosniff", + "X-Frame-Options" : "DENY", + "X-XSS-Protection" : "0", + "Access-Control-Allow-Origin" : "https://facebook.com", + "X-FB-Debug" : "oGEpJaHuX49aJ9sNRVyaFmxkz8lZP0Ohpjl3p1BFAHFxuFKst2xB9GCWjMpqj6tjK7WXmPo9DPzWb8L2LXWcTQ==", + "Date" : "Mon, 14 Oct 2019 21:48:11 GMT", + "Connection" : "keep-alive" + } + }, + "uuid" : "75d62b89-cbe5-4125-bab5-7e9d66472ebb", + "persistent" : true, + "insertionIndex" : 6 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/ml_roads-a4fdd7a5-d9b2-4d8a-a057-e52a8d5f1f86.json b/test/resources/wiremock/mappings/ml_roads-a4fdd7a5-d9b2-4d8a-a057-e52a8d5f1f86.json new file mode 100644 index 0000000..06f1e51 --- /dev/null +++ b/test/resources/wiremock/mappings/ml_roads-a4fdd7a5-d9b2-4d8a-a057-e52a8d5f1f86.json @@ -0,0 +1,29 @@ +{ + "id" : "a4fdd7a5-d9b2-4d8a-a057-e52a8d5f1f86", + "name" : "ml_roads", + "request" : { + "url" : "/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&result_type=road_building_vector_xml&bbox=-108.4625,39.0621,-108.4594,39.0633", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "headers" : { + "Content-Type" : "text/xml; charset=UTF-8", + "Strict-Transport-Security" : "max-age=15552000; preload", + "Vary" : "Accept-Encoding", + "X-Content-Type-Options" : "nosniff", + "X-Frame-Options" : "DENY", + "X-XSS-Protection" : "0", + "Access-Control-Allow-Origin" : "https://facebook.com", + "X-FB-Debug" : "SmwuV6my0klO6rrOzd5CLqqmHf/2sstTMpgbmIcKKlhVqNMf7zR1jevJ/WVwkXD5wzp/nhM7xNApsr9Ujd+Fww==", + "Date" : "Mon, 14 Oct 2019 21:48:18 GMT", + "Connection" : "keep-alive" + } + }, + "uuid" : "a4fdd7a5-d9b2-4d8a-a057-e52a8d5f1f86", + "persistent" : true, + "scenarioName" : "scenario-2-ml_roads", + "requiredScenarioState" : "scenario-2-ml_roads-2", + "insertionIndex" : 8 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/ml_roads-ae12b6fc-abf7-48e0-8e58-84bd81a6020e.json b/test/resources/wiremock/mappings/ml_roads-ae12b6fc-abf7-48e0-8e58-84bd81a6020e.json new file mode 100644 index 0000000..f8c68c2 --- /dev/null +++ b/test/resources/wiremock/mappings/ml_roads-ae12b6fc-abf7-48e0-8e58-84bd81a6020e.json @@ -0,0 +1,27 @@ +{ + "id" : "ae12b6fc-abf7-48e0-8e58-84bd81a6020e", + "name" : "ml_roads", + "request" : { + "url" : "/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&result_type=road_building_vector_xml&bbox=-108.5715723,39.0734162,-108.5707107,39.0738791&crop_bbox=-108.5711561,39.0735205,-108.5708568,39.0736682", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n", + "headers" : { + "Content-Type" : "text/xml; charset=UTF-8", + "Strict-Transport-Security" : "max-age=15552000; preload", + "Vary" : "Accept-Encoding", + "X-Content-Type-Options" : "nosniff", + "X-Frame-Options" : "DENY", + "X-XSS-Protection" : "0", + "Access-Control-Allow-Origin" : "https://facebook.com", + "X-FB-Debug" : "njP75TEBeXP11/GnRT0KaUlhrpHlAcRMp3T9ToG+9+ZYpOybozFwS7e8F3b0HpDM7GUHtv59awjRp4fhvSM2vg==", + "Date" : "Mon, 14 Oct 2019 21:48:04 GMT", + "Connection" : "keep-alive" + } + }, + "uuid" : "ae12b6fc-abf7-48e0-8e58-84bd81a6020e", + "persistent" : true, + "insertionIndex" : 4 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/ml_roads-d36d0865-8422-40f7-8fdb-c683d1f05f0d.json b/test/resources/wiremock/mappings/ml_roads-d36d0865-8422-40f7-8fdb-c683d1f05f0d.json new file mode 100644 index 0000000..3dfb445 --- /dev/null +++ b/test/resources/wiremock/mappings/ml_roads-d36d0865-8422-40f7-8fdb-c683d1f05f0d.json @@ -0,0 +1,29 @@ +{ + "id" : "d36d0865-8422-40f7-8fdb-c683d1f05f0d", + "name" : "ml_roads", + "request" : { + "url" : "/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&result_type=road_building_vector_xml&bbox=-108.5715723,39.0734162,-108.5707107,39.0738791", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "headers" : { + "Content-Type" : "text/xml; charset=UTF-8", + "Strict-Transport-Security" : "max-age=15552000; preload", + "Vary" : "Accept-Encoding", + "X-Content-Type-Options" : "nosniff", + "X-Frame-Options" : "DENY", + "X-XSS-Protection" : "0", + "Access-Control-Allow-Origin" : "https://facebook.com", + "X-FB-Debug" : "aVFiJSWAL1DuwxZ3xy0r7kz2/Z8y9FsGpK/y34APwCHgc+MFqOzGysy4StVtW8Vs+hFglYo+CrVtGqequk0s/Q==", + "Date" : "Mon, 14 Oct 2019 21:48:02 GMT", + "Connection" : "keep-alive" + } + }, + "uuid" : "d36d0865-8422-40f7-8fdb-c683d1f05f0d", + "persistent" : true, + "scenarioName" : "scenario-1-ml_roads", + "requiredScenarioState" : "scenario-1-ml_roads-2", + "insertionIndex" : 3 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/ml_roads-ee32c13b-a85b-49d7-ac53-338b3c37ebdf.json b/test/resources/wiremock/mappings/ml_roads-ee32c13b-a85b-49d7-ac53-338b3c37ebdf.json new file mode 100644 index 0000000..aa7e7e7 --- /dev/null +++ b/test/resources/wiremock/mappings/ml_roads-ee32c13b-a85b-49d7-ac53-338b3c37ebdf.json @@ -0,0 +1,27 @@ +{ + "id" : "ee32c13b-a85b-49d7-ac53-338b3c37ebdf", + "name" : "ml_roads", + "request" : { + "url" : "/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&result_type=road_building_vector_xml&bbox=0.0,0.0,0.001,0.001", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n\n", + "headers" : { + "Content-Type" : "text/xml; charset=UTF-8", + "Strict-Transport-Security" : "max-age=15552000; preload", + "Vary" : "Accept-Encoding", + "X-Content-Type-Options" : "nosniff", + "X-Frame-Options" : "DENY", + "X-XSS-Protection" : "0", + "Access-Control-Allow-Origin" : "https://facebook.com", + "X-FB-Debug" : "EslmENNZ6865gLeA/vlgj06w6NmF2zRhiK98druS1qBEWtE3juhoFcXnlUsryhz7dh7CuRIrkI6db6J2kCCGTw==", + "Date" : "Mon, 14 Oct 2019 21:48:11 GMT", + "Connection" : "keep-alive" + } + }, + "uuid" : "ee32c13b-a85b-49d7-ac53-338b3c37ebdf", + "persistent" : true, + "insertionIndex" : 5 +} \ No newline at end of file diff --git a/test/resources/wiremock/mappings/ml_roads-f3356ac5-5d99-456b-8fb6-90dca6f7c766.json b/test/resources/wiremock/mappings/ml_roads-f3356ac5-5d99-456b-8fb6-90dca6f7c766.json new file mode 100644 index 0000000..e3d96bf --- /dev/null +++ b/test/resources/wiremock/mappings/ml_roads-f3356ac5-5d99-456b-8fb6-90dca6f7c766.json @@ -0,0 +1,30 @@ +{ + "id" : "f3356ac5-5d99-456b-8fb6-90dca6f7c766", + "name" : "ml_roads", + "request" : { + "url" : "/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&result_type=road_building_vector_xml&bbox=-108.5715723,39.0734162,-108.5707107,39.0738791", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "headers" : { + "Content-Type" : "text/xml; charset=UTF-8", + "Strict-Transport-Security" : "max-age=15552000; preload", + "Vary" : "Accept-Encoding", + "X-Content-Type-Options" : "nosniff", + "X-Frame-Options" : "DENY", + "X-XSS-Protection" : "0", + "Access-Control-Allow-Origin" : "https://facebook.com", + "X-FB-Debug" : "uSJWx0e/RUvkCnIK8Mx8XNzMqBvPzu5eJapcrhsCE8pMjClTkvvJ23R6qIxFXpzLAr7C8eeDl3nvTCsi5JlsVg==", + "Date" : "Mon, 14 Oct 2019 21:47:59 GMT", + "Connection" : "keep-alive" + } + }, + "uuid" : "f3356ac5-5d99-456b-8fb6-90dca6f7c766", + "persistent" : true, + "scenarioName" : "scenario-1-ml_roads", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-1-ml_roads-2", + "insertionIndex" : 2 +} \ No newline at end of file diff --git a/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIAvailabilityTest.java b/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIAvailabilityTest.java index 5e8bd08..99c557d 100644 --- a/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIAvailabilityTest.java +++ b/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIAvailabilityTest.java @@ -1,6 +1,8 @@ // License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.mapwithai.backend; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; + import org.junit.Assert; import org.junit.Before; import org.junit.Rule; @@ -10,6 +12,8 @@ import org.openstreetmap.josm.data.osm.BBox; import org.openstreetmap.josm.testutils.JOSMTestRules; import org.openstreetmap.josm.tools.Territories; +import com.github.tomakehurst.wiremock.junit.WireMockRule; + import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; public class MapWithAIAvailabilityTest { @@ -19,8 +23,13 @@ public class MapWithAIAvailabilityTest { @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") public JOSMTestRules test = new JOSMTestRules().preferences().main().projection(); + @Rule + public WireMockRule wireMockRule = new WireMockRule(options().usingFilesUnderDirectory("test/resources/wiremock")); + @Before public void setUp() { + MapWithAIAvailability.setReleaseUrl(wireMockRule.baseUrl() + + "/facebookmicrosites/Open-Mapping-At-Facebook/master/data/rapid_realeases.geojson"); Territories.initialize(); instance = MapWithAIAvailability.getInstance(); } diff --git a/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtilsTest.java b/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtilsTest.java index 36dbd25..4fac294 100644 --- a/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtilsTest.java +++ b/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtilsTest.java @@ -1,6 +1,8 @@ // License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.mapwithai.backend; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -8,6 +10,7 @@ import java.util.List; import java.util.TreeSet; import org.junit.Assert; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.openstreetmap.josm.TestUtils; @@ -25,6 +28,8 @@ import org.openstreetmap.josm.gui.MainApplication; import org.openstreetmap.josm.gui.layer.GpxLayer; import org.openstreetmap.josm.testutils.JOSMTestRules; +import com.github.tomakehurst.wiremock.junit.WireMockRule; + import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; public class MapWithAIDataUtilsTest { @@ -32,6 +37,16 @@ public class MapWithAIDataUtilsTest { @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") public JOSMTestRules test = new JOSMTestRules().preferences().main().projection(); + @Rule + public WireMockRule wireMockRule = new WireMockRule(options().usingFilesUnderDirectory("test/resources/wiremock")); + + @Before + public void setUp() { + String URL = MapWithAIDataUtils.getMapWithAIUrl().replace("https://www.facebook.com/maps", + wireMockRule.baseUrl()); + MapWithAIDataUtils.setMapWithAIUrl(URL, true); + } + /** * This gets data from MapWithAI. This test may fail if someone adds the data to * OSM. @@ -124,11 +139,11 @@ public class MapWithAIDataUtilsTest { @Test public void testMapWithAIURLPreferences() { final String fakeUrl = "https://fake.url"; - Assert.assertEquals(MapWithAIDataUtils.DEFAULT_MAPWITHAI_API, MapWithAIDataUtils.getMapWithAIUrl()); + Assert.assertNotEquals(fakeUrl, MapWithAIDataUtils.getMapWithAIUrl()); MapWithAIDataUtils.setMapWithAIUrl(fakeUrl, true); Assert.assertEquals(fakeUrl, MapWithAIDataUtils.getMapWithAIUrl()); final List urls = new ArrayList<>(MapWithAIDataUtils.getMapWithAIURLs()); - Assert.assertEquals(2, urls.size()); + Assert.assertEquals(3, urls.size()); MapWithAIDataUtils.setMapWithAIUrl(MapWithAIDataUtils.DEFAULT_MAPWITHAI_API, true); Assert.assertEquals(MapWithAIDataUtils.DEFAULT_MAPWITHAI_API, MapWithAIDataUtils.getMapWithAIUrl()); MapWithAIDataUtils.setMapWithAIUrl(fakeUrl, true); diff --git a/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAILayerTest.java b/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAILayerTest.java index 51da891..0b0b691 100644 --- a/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAILayerTest.java +++ b/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAILayerTest.java @@ -1,6 +1,7 @@ // License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.mapwithai.backend; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; import static org.openstreetmap.josm.tools.I18n.tr; import java.awt.Component; @@ -22,6 +23,8 @@ import org.openstreetmap.josm.gui.layer.Layer; import org.openstreetmap.josm.gui.layer.OsmDataLayer; import org.openstreetmap.josm.testutils.JOSMTestRules; +import com.github.tomakehurst.wiremock.junit.WireMockRule; + import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; /** @@ -33,10 +36,17 @@ public class MapWithAILayerTest { @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") public JOSMTestRules test = new JOSMTestRules().preferences().main().projection(); + @Rule + @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") + public WireMockRule wireMockRule = new WireMockRule(options().usingFilesUnderDirectory("test/resources/wiremock")); + MapWithAILayer layer; @Before public void setUp() { + String URL = MapWithAIDataUtils.getMapWithAIUrl().replace("https://www.facebook.com/maps", + wireMockRule.baseUrl()); + MapWithAIDataUtils.setMapWithAIUrl(URL, true); layer = new MapWithAILayer(new DataSet(), "test", null); } diff --git a/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIRemoteControlTest.java b/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIRemoteControlTest.java index 0ba091c..337aa2a 100644 --- a/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIRemoteControlTest.java +++ b/test/unit/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIRemoteControlTest.java @@ -1,19 +1,21 @@ // License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.mapwithai.backend; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; + import org.junit.Assert; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.openstreetmap.josm.data.osm.BBox; import org.openstreetmap.josm.gui.MainApplication; import org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler.RequestHandlerBadRequestException; -import org.openstreetmap.josm.plugins.mapwithai.backend.MapWithAIDataUtils; -import org.openstreetmap.josm.plugins.mapwithai.backend.MapWithAILayer; -import org.openstreetmap.josm.plugins.mapwithai.backend.MapWithAIRemoteControl; import org.openstreetmap.josm.testutils.JOSMTestRules; import org.openstreetmap.josm.tools.Utils; +import com.github.tomakehurst.wiremock.junit.WireMockRule; + import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; /** @@ -35,6 +37,16 @@ public class MapWithAIRemoteControlTest { @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") public JOSMTestRules test = new JOSMTestRules().main().projection(); + @Rule + public WireMockRule wireMockRule = new WireMockRule(options().usingFilesUnderDirectory("test/resources/wiremock")); + + @Before + public void setUp() { + String URL = MapWithAIDataUtils.getMapWithAIUrl().replace("https://www.facebook.com/maps", + wireMockRule.baseUrl()); + MapWithAIDataUtils.setMapWithAIUrl(URL, true); + } + private static MapWithAIRemoteControl newHandler(String url) throws RequestHandlerBadRequestException { final MapWithAIRemoteControl req = new MapWithAIRemoteControl(); if (url != null) { diff --git a/test/unit/org/openstreetmap/josm/plugins/mapwithai/commands/CreateConnectionsCommandTest.java b/test/unit/org/openstreetmap/josm/plugins/mapwithai/commands/CreateConnectionsCommandTest.java index 16f9e04..f9cae08 100644 --- a/test/unit/org/openstreetmap/josm/plugins/mapwithai/commands/CreateConnectionsCommandTest.java +++ b/test/unit/org/openstreetmap/josm/plugins/mapwithai/commands/CreateConnectionsCommandTest.java @@ -1,11 +1,14 @@ // License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.mapwithai.commands; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import org.junit.Assert; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.openstreetmap.josm.TestUtils; @@ -18,9 +21,11 @@ import org.openstreetmap.josm.data.osm.OsmPrimitiveType; import org.openstreetmap.josm.data.osm.Way; import org.openstreetmap.josm.gui.MainApplication; import org.openstreetmap.josm.gui.layer.OsmDataLayer; -import org.openstreetmap.josm.plugins.mapwithai.commands.CreateConnectionsCommand; +import org.openstreetmap.josm.spi.preferences.Config; import org.openstreetmap.josm.testutils.JOSMTestRules; +import com.github.tomakehurst.wiremock.junit.WireMockRule; + import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; /** @@ -33,6 +38,14 @@ public class CreateConnectionsCommandTest { @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") public JOSMTestRules test = new JOSMTestRules().projection(); + @Rule + public WireMockRule wireMockRule = new WireMockRule(options().usingFilesUnderDirectory("test/resources/wiremock")); + + @Before + public void setUp() { + Config.getPref().put("osm-server.url", wireMockRule.baseUrl()); + } + /** * Test method for * {@link CreateConnectionsCommand#createConnections(DataSet, Collection)}.