kopia lustrzana https://github.com/JOSM/MapWithAI
				
				
				
			More tests for MapWithAIRemoteControl
Signed-off-by: Taylor Smock <taylor.smock@kaart.com>pull/1/head v0.1.19
							rodzic
							
								
									f659ca1f46
								
							
						
					
					
						commit
						2a94c3e04b
					
				|  | @ -129,7 +129,7 @@ public class MapWithAIRemoteControl extends RequestHandler.RawURLParseRequestHan | ||||||
|             sb.append(tr("We will download data in ")).append(download.toStringCSV(",")).append(br); |             sb.append(tr("We will download data in ")).append(download.toStringCSV(",")).append(br); | ||||||
|         } |         } | ||||||
|         if (crop != null) { |         if (crop != null) { | ||||||
|             sb.append(tr("We will crop the data to")).append(crop.toStringCSV(",")).append(br); |             sb.append(tr("We will crop the data to ")).append(crop.toStringCSV(",")).append(br); | ||||||
|         } |         } | ||||||
|         sb.append(tr("There is a maximum addition of {0} objects at one time", maxObj)); |         sb.append(tr("There is a maximum addition of {0} objects at one time", maxObj)); | ||||||
|         return sb.toString(); |         return sb.toString(); | ||||||
|  |  | ||||||
|  | @ -0,0 +1,30 @@ | ||||||
|  | { | ||||||
|  |   "id" : "2527ed5c-1fc5-49c3-93b4-5c38323770f2", | ||||||
|  |   "name" : "maps_ml_roads", | ||||||
|  |   "request" : { | ||||||
|  |     "url" : "/maps/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&bbox=-108.4625,39.0621,-108.4594,39.0633", | ||||||
|  |     "method" : "GET" | ||||||
|  |   }, | ||||||
|  |   "response" : { | ||||||
|  |     "status" : 200, | ||||||
|  |     "body" : "<?xml version=\"1.0\"?>\n<osm attribution=\"http://www.openstreetmap.org/copyright\" copyright=\"OpenStreetMap and contributors\" generator=\"fb_conflation_service\" version=\"0.6\">\n  <bounds maxlat=\"39.06329\" maxlon=\"-108.45941287902\" minlat=\"39.06211\" minlon=\"-108.46248712098\"/>\n  <node action=\"modify\" id=\"-507451533360537\" lat=\"39.0627986\" lon=\"-108.4607434\" visible=\"true\">\n    <tag k=\"conn\" v=\"w489117884,n1337868173,n2390205409\"/>\n  </node>\n  <node action=\"modify\" id=\"-447607076088874\" lat=\"39.0627944\" lon=\"-108.4614409\" visible=\"true\">\n    <tag k=\"conn\" v=\"w489117884,n176212515,n1337868173\"/>\n  </node>\n  <node action=\"modify\" id=\"-367646030587413\" lat=\"39.0621490\" lon=\"-108.4614409\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-512424752862157\" lat=\"39.0621073\" lon=\"-108.4614624\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-2661924864034455\" lat=\"39.0618533\" lon=\"-108.4614677\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-1359413207542142\" lat=\"39.0624696\" lon=\"-108.4607273\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-480100986137751\" lat=\"39.0624363\" lon=\"-108.4607434\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-2324123227677172\" lat=\"39.0618533\" lon=\"-108.4607542\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-1665763650222613\" lat=\"39.0621573\" lon=\"-108.4610439\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-516655755810722\" lat=\"39.0624530\" lon=\"-108.4599172\" visible=\"true\"/>\n  <way action=\"modify\" id=\"-3490187867011827995\" orig_id=\"-487611782050068\" visible=\"true\">\n    <nd ref=\"-367646030587413\"/>\n    <nd ref=\"-512424752862157\"/>\n    <nd ref=\"-2661924864034455\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n  <way action=\"modify\" id=\"-580832622321925\" visible=\"true\">\n    <nd ref=\"-367646030587413\"/>\n    <nd ref=\"-1665763650222613\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n  <way action=\"modify\" id=\"-3490187867011827994\" orig_id=\"-487611782050068\" visible=\"true\">\n    <nd ref=\"-367646030587413\"/>\n    <nd ref=\"-447607076088874\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n  <way action=\"modify\" id=\"-414732926053825\" visible=\"true\">\n    <nd ref=\"-507451533360537\"/>\n    <nd ref=\"-1359413207542142\"/>\n    <nd ref=\"-480100986137751\"/>\n    <nd ref=\"-2324123227677172\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n  <way action=\"modify\" id=\"-2431015640267087\" visible=\"true\">\n    <nd ref=\"-1359413207542142\"/>\n    <nd ref=\"-516655755810722\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n</osm>\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" : "4wfqXkCFMY11jcj4ckGFU9f8MP58lzqCIt8FlBXS1U+3QeVYgL5mmQMpNCSYiWm+D1cUufTvpzt44eAPpa8wCA==", | ||||||
|  |       "Date" : "Wed, 20 Nov 2019 14:34:44 GMT", | ||||||
|  |       "Alt-Svc" : "h3-23=\":443\"; ma=3600", | ||||||
|  |       "Connection" : "keep-alive" | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "uuid" : "2527ed5c-1fc5-49c3-93b4-5c38323770f2", | ||||||
|  |   "persistent" : true, | ||||||
|  |   "scenarioName" : "scenario-1-maps-ml_roads", | ||||||
|  |   "requiredScenarioState" : "scenario-1-maps-ml_roads-2", | ||||||
|  |   "insertionIndex" : 15 | ||||||
|  | } | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | { | ||||||
|  |   "id" : "506ca06e-8d07-4762-ad45-32f69a0f3ecb", | ||||||
|  |   "name" : "maps_ml_roads", | ||||||
|  |   "request" : { | ||||||
|  |     "url" : "/maps/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&bbox=-108.4625,39.0621,-108.4594,39.0633", | ||||||
|  |     "method" : "GET" | ||||||
|  |   }, | ||||||
|  |   "response" : { | ||||||
|  |     "status" : 200, | ||||||
|  |     "body" : "<?xml version=\"1.0\"?>\n<osm attribution=\"http://www.openstreetmap.org/copyright\" copyright=\"OpenStreetMap and contributors\" generator=\"fb_conflation_service\" version=\"0.6\">\n  <bounds maxlat=\"39.06329\" maxlon=\"-108.45941287902\" minlat=\"39.06211\" minlon=\"-108.46248712098\"/>\n  <node action=\"modify\" id=\"-507451533360537\" lat=\"39.0627986\" lon=\"-108.4607434\" visible=\"true\">\n    <tag k=\"conn\" v=\"w489117884,n1337868173,n2390205409\"/>\n  </node>\n  <node action=\"modify\" id=\"-447607076088874\" lat=\"39.0627944\" lon=\"-108.4614409\" visible=\"true\">\n    <tag k=\"conn\" v=\"w489117884,n176212515,n1337868173\"/>\n  </node>\n  <node action=\"modify\" id=\"-367646030587413\" lat=\"39.0621490\" lon=\"-108.4614409\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-512424752862157\" lat=\"39.0621073\" lon=\"-108.4614624\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-2661924864034455\" lat=\"39.0618533\" lon=\"-108.4614677\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-1359413207542142\" lat=\"39.0624696\" lon=\"-108.4607273\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-480100986137751\" lat=\"39.0624363\" lon=\"-108.4607434\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-2324123227677172\" lat=\"39.0618533\" lon=\"-108.4607542\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-1665763650222613\" lat=\"39.0621573\" lon=\"-108.4610439\" visible=\"true\"/>\n  <node action=\"modify\" id=\"-516655755810722\" lat=\"39.0624530\" lon=\"-108.4599172\" visible=\"true\"/>\n  <way action=\"modify\" id=\"-3490187867011827994\" orig_id=\"-487611782050068\" visible=\"true\">\n    <nd ref=\"-367646030587413\"/>\n    <nd ref=\"-512424752862157\"/>\n    <nd ref=\"-2661924864034455\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n  <way action=\"modify\" id=\"-580832622321925\" visible=\"true\">\n    <nd ref=\"-367646030587413\"/>\n    <nd ref=\"-1665763650222613\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n  <way action=\"modify\" id=\"-3490187867011827995\" orig_id=\"-487611782050068\" visible=\"true\">\n    <nd ref=\"-367646030587413\"/>\n    <nd ref=\"-447607076088874\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n  <way action=\"modify\" id=\"-414732926053825\" visible=\"true\">\n    <nd ref=\"-507451533360537\"/>\n    <nd ref=\"-1359413207542142\"/>\n    <nd ref=\"-480100986137751\"/>\n    <nd ref=\"-2324123227677172\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n  <way action=\"modify\" id=\"-2431015640267087\" visible=\"true\">\n    <nd ref=\"-1359413207542142\"/>\n    <nd ref=\"-516655755810722\"/>\n    <tag k=\"highway\" v=\"residential\"/>\n    <tag k=\"source\" v=\"digitalglobe\"/>\n  </way>\n</osm>\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" : "hNbBk003KWeBO3dOsB+94Y8uPRYJFURLqHqCLP7w1pwAVI2c38OkpZ7VBBCC5M4TVLar8VRjD7KFlC1Ero3avA==", | ||||||
|  |       "Date" : "Wed, 20 Nov 2019 14:34:42 GMT", | ||||||
|  |       "Alt-Svc" : "h3-23=\":443\"; ma=3600", | ||||||
|  |       "Connection" : "keep-alive" | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "uuid" : "506ca06e-8d07-4762-ad45-32f69a0f3ecb", | ||||||
|  |   "persistent" : true, | ||||||
|  |   "scenarioName" : "scenario-1-maps-ml_roads", | ||||||
|  |   "requiredScenarioState" : "Started", | ||||||
|  |   "newScenarioState" : "scenario-1-maps-ml_roads-2", | ||||||
|  |   "insertionIndex" : 13 | ||||||
|  | } | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | { | ||||||
|  |   "id" : "65180ede-85cf-4fc0-94b4-8ae6ecd4c8c0", | ||||||
|  |   "name" : "maps_ml_roads", | ||||||
|  |   "request" : { | ||||||
|  |     "url" : "/maps/ml_roads?conflate_with_osm=true&theme=ml_road_vector&collaborator=josm&token=ASb3N5o9HbX8QWn8G_NtHIRQaYv3nuG2r7_f3vnGld3KhZNCxg57IsaQyssIaEw5rfRNsPpMwg4TsnrSJtIJms5m&hash=ASawRla3rBcwEjY4HIY&bbox=0.0,0.0,0.001,0.001&crop_bbox=0.0,0.0,0.001,0.001", | ||||||
|  |     "method" : "GET" | ||||||
|  |   }, | ||||||
|  |   "response" : { | ||||||
|  |     "status" : 200, | ||||||
|  |     "body" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<osm generator=\"NS_ROADS_SERVICE\" version=\"0.6\"><bounds maxlat=\"0.00099\" maxlon=\"0.00098999999999962\" minlat=\"1.0E-5\" minlon=\"1.0000000000381E-5\"/></osm>\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" : "8mHqShqG9xtWOu9e6u4iVvAadFNyNs3qT/T5BmQnE7UnM4CtSFX6G1MtUN9d7ajrR2B7tAn9cAfwoNYau90EQA==", | ||||||
|  |       "Date" : "Wed, 20 Nov 2019 14:34:44 GMT", | ||||||
|  |       "Alt-Svc" : "h3-23=\":443\"; ma=3600", | ||||||
|  |       "Connection" : "keep-alive" | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "uuid" : "65180ede-85cf-4fc0-94b4-8ae6ecd4c8c0", | ||||||
|  |   "persistent" : true, | ||||||
|  |   "insertionIndex" : 14 | ||||||
|  | } | ||||||
										
											Plik binarny nie jest wyświetlany.
										
									
								
							|  | @ -3,11 +3,15 @@ package org.openstreetmap.josm.plugins.mapwithai.backend; | ||||||
| 
 | 
 | ||||||
| import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; | import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; | ||||||
| import static org.awaitility.Awaitility.await; | import static org.awaitility.Awaitility.await; | ||||||
|  | import static org.junit.jupiter.api.Assertions.assertEquals; | ||||||
|  | import static org.junit.jupiter.api.Assertions.assertFalse; | ||||||
|  | import static org.junit.jupiter.api.Assertions.assertNotEquals; | ||||||
|  | import static org.junit.jupiter.api.Assertions.assertTrue; | ||||||
|  | import static org.openstreetmap.josm.tools.I18n.tr; | ||||||
| 
 | 
 | ||||||
| import java.util.concurrent.TimeUnit; | import java.util.concurrent.TimeUnit; | ||||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||||
| 
 | 
 | ||||||
| import org.junit.Assert; |  | ||||||
| import org.junit.Before; | import org.junit.Before; | ||||||
| import org.junit.Rule; | import org.junit.Rule; | ||||||
| import org.junit.Test; | import org.junit.Test; | ||||||
|  | @ -15,6 +19,7 @@ import org.junit.rules.ExpectedException; | ||||||
| import org.openstreetmap.josm.data.osm.BBox; | import org.openstreetmap.josm.data.osm.BBox; | ||||||
| import org.openstreetmap.josm.gui.MainApplication; | import org.openstreetmap.josm.gui.MainApplication; | ||||||
| import org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler.RequestHandlerBadRequestException; | import org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler.RequestHandlerBadRequestException; | ||||||
|  | import org.openstreetmap.josm.plugins.mapwithai.MapWithAIPlugin; | ||||||
| import org.openstreetmap.josm.testutils.JOSMTestRules; | import org.openstreetmap.josm.testutils.JOSMTestRules; | ||||||
| import org.openstreetmap.josm.tools.Utils; | import org.openstreetmap.josm.tools.Utils; | ||||||
| 
 | 
 | ||||||
|  | @ -87,21 +92,21 @@ public class MapWithAIRemoteControlTest { | ||||||
|     public void testNominalRequest() throws Exception { |     public void testNominalRequest() throws Exception { | ||||||
|         newHandler("https://localhost?url=" |         newHandler("https://localhost?url=" | ||||||
|                 + Utils.encodeUrl(MapWithAIPreferenceHelper.getMapWithAIUrl().get(0).get("url"))).handle(); |                 + Utils.encodeUrl(MapWithAIPreferenceHelper.getMapWithAIUrl().get(0).get("url"))).handle(); | ||||||
|         Assert.assertFalse(MainApplication.getLayerManager().getLayersOfType(MapWithAILayer.class).isEmpty()); |         assertFalse(MainApplication.getLayerManager().getLayersOfType(MapWithAILayer.class).isEmpty()); | ||||||
| 
 | 
 | ||||||
|         Assert.assertTrue(MapWithAIDataUtils.getLayer(false).getDataSet().getDataSourceBounds().isEmpty()); |         assertTrue(MapWithAIDataUtils.getLayer(false).getDataSet().getDataSourceBounds().isEmpty()); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Test |     @Test | ||||||
|     public void testTemporaryUrl() throws Exception { |     public void testTemporaryUrl() throws Exception { | ||||||
|         final String badUrl = "https://bad.url"; |         final String badUrl = "https://bad.url"; | ||||||
|         newHandler("https://localhost?url=" + Utils.encodeUrl(badUrl)).handle(); |         newHandler("https://localhost?url=" + Utils.encodeUrl(badUrl)).handle(); | ||||||
|         Assert.assertFalse(MainApplication.getLayerManager().getLayersOfType(MapWithAILayer.class).isEmpty()); |         assertFalse(MainApplication.getLayerManager().getLayersOfType(MapWithAILayer.class).isEmpty()); | ||||||
| 
 | 
 | ||||||
|         Assert.assertTrue(MapWithAIPreferenceHelper.getMapWithAIUrl().parallelStream() |         assertTrue(MapWithAIPreferenceHelper.getMapWithAIUrl().parallelStream() | ||||||
|                 .anyMatch(map -> badUrl.equals(map.get("url")))); |                 .anyMatch(map -> badUrl.equals(map.get("url")))); | ||||||
|         MainApplication.getLayerManager().removeLayer(MapWithAIDataUtils.getLayer(false)); |         MainApplication.getLayerManager().removeLayer(MapWithAIDataUtils.getLayer(false)); | ||||||
|         Assert.assertNotEquals(badUrl, MapWithAIPreferenceHelper.getMapWithAIUrl()); |         assertNotEquals(badUrl, MapWithAIPreferenceHelper.getMapWithAIUrl()); | ||||||
| 
 | 
 | ||||||
|         final String badUrl2 = "NothingToSeeHere"; |         final String badUrl2 = "NothingToSeeHere"; | ||||||
|         thrown.expect(RequestHandlerBadRequestException.class); |         thrown.expect(RequestHandlerBadRequestException.class); | ||||||
|  | @ -115,11 +120,11 @@ public class MapWithAIRemoteControlTest { | ||||||
|         final Integer maxObj = 1; |         final Integer maxObj = 1; | ||||||
|         newHandler("http://127.0.0.1:8111/mapwithai?bbox=" + getTestBBox().toStringCSV(",") + "&max_obj=" |         newHandler("http://127.0.0.1:8111/mapwithai?bbox=" + getTestBBox().toStringCSV(",") + "&max_obj=" | ||||||
|                 + maxObj.toString()).handle(); |                 + maxObj.toString()).handle(); | ||||||
|         Assert.assertFalse(MainApplication.getLayerManager().getLayersOfType(MapWithAILayer.class).isEmpty()); |         assertFalse(MainApplication.getLayerManager().getLayersOfType(MapWithAILayer.class).isEmpty()); | ||||||
| 
 | 
 | ||||||
|         Assert.assertEquals(maxObj.intValue(), MapWithAIPreferenceHelper.getMaximumAddition()); |         assertEquals(maxObj.intValue(), MapWithAIPreferenceHelper.getMaximumAddition()); | ||||||
|         MainApplication.getLayerManager().removeLayer(MapWithAIDataUtils.getLayer(false)); |         MainApplication.getLayerManager().removeLayer(MapWithAIDataUtils.getLayer(false)); | ||||||
|         Assert.assertNotEquals(maxObj.intValue(), MapWithAIPreferenceHelper.getMaximumAddition()); |         assertNotEquals(maxObj.intValue(), MapWithAIPreferenceHelper.getMaximumAddition()); | ||||||
| 
 | 
 | ||||||
|         thrown.expect(RequestHandlerBadRequestException.class); |         thrown.expect(RequestHandlerBadRequestException.class); | ||||||
|         thrown.expectMessage("NumberFormatException (For input string: \"BAD_VALUE\")"); |         thrown.expectMessage("NumberFormatException (For input string: \"BAD_VALUE\")"); | ||||||
|  | @ -132,13 +137,13 @@ public class MapWithAIRemoteControlTest { | ||||||
|     public void testBBox() throws Exception { |     public void testBBox() throws Exception { | ||||||
|         BBox temp = getTestBBox(); |         BBox temp = getTestBBox(); | ||||||
|         newHandler("http://127.0.0.1:8111/mapwithai?bbox={bbox}".replace("{bbox}", temp.toStringCSV(","))).handle(); |         newHandler("http://127.0.0.1:8111/mapwithai?bbox={bbox}".replace("{bbox}", temp.toStringCSV(","))).handle(); | ||||||
|         Assert.assertFalse(MainApplication.getLayerManager().getLayersOfType(MapWithAILayer.class).isEmpty()); |         assertFalse(MainApplication.getLayerManager().getLayersOfType(MapWithAILayer.class).isEmpty()); | ||||||
| 
 | 
 | ||||||
|         await().atMost(10, TimeUnit.SECONDS) |         await().atMost(10, TimeUnit.SECONDS) | ||||||
|         .until(() -> !MapWithAIDataUtils.getLayer(false).getDataSet().getDataSourceBounds().isEmpty()); |         .until(() -> !MapWithAIDataUtils.getLayer(false).getDataSet().getDataSourceBounds().isEmpty()); | ||||||
| 
 | 
 | ||||||
|         final BBox added = MapWithAIDataUtils.getLayer(false).getDataSet().getDataSourceBounds().iterator().next().toBBox(); |         final BBox added = MapWithAIDataUtils.getLayer(false).getDataSet().getDataSourceBounds().iterator().next().toBBox(); | ||||||
|         Assert.assertTrue(temp.bounds(added)); |         assertTrue(temp.bounds(added)); | ||||||
| 
 | 
 | ||||||
|         MainApplication.getLayerManager().removeLayer(MapWithAIDataUtils.getLayer(false)); |         MainApplication.getLayerManager().removeLayer(MapWithAIDataUtils.getLayer(false)); | ||||||
|         temp = new BBox(39.0621223, -108.4625421, 39.0633059, -108.4594728); |         temp = new BBox(39.0621223, -108.4625421, 39.0633059, -108.4594728); | ||||||
|  | @ -147,4 +152,48 @@ public class MapWithAIRemoteControlTest { | ||||||
|                 "Bad bbox: 39.0621223,-108.4625421,39.0633059,-108.4594728 (converted to [ x: 39.0621223 -> 39.0633059, y: -108.4625421 -> -108.4594728 ])"); |                 "Bad bbox: 39.0621223,-108.4625421,39.0633059,-108.4594728 (converted to [ x: 39.0621223 -> 39.0633059, y: -108.4625421 -> -108.4594728 ])"); | ||||||
|         newHandler("http://127.0.0.1:8111/mapwithai?bbox={bbox}".replace("{bbox}", temp.toStringCSV(","))).handle(); |         newHandler("http://127.0.0.1:8111/mapwithai?bbox={bbox}".replace("{bbox}", temp.toStringCSV(","))).handle(); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void testGetUsage() throws Exception { | ||||||
|  |         assertEquals(tr("downloads {0} data", MapWithAIPlugin.NAME), newHandler(null).getUsage()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void testGetPermissionMessage() throws Exception { | ||||||
|  |         MapWithAIRemoteControl handler = newHandler(null); | ||||||
|  |         assertEquals(tr( | ||||||
|  |                 "Remote Control has been asked to load data from the API. (null)<br />MapWithAI will automatically switch layers.<br />There is a maximum addition of null objects at one time"), | ||||||
|  |                 handler.getPermissionMessage()); | ||||||
|  |         handler = newHandler("http://127.0.0.1:8111/mapwithai?switch_layer=false"); | ||||||
|  |         handler.handle(); | ||||||
|  |         assertEquals(tr( | ||||||
|  |                 "Remote Control has been asked to load data from the API. (null)<br />MapWithAI will not automatically switch layers.<br />There is a maximum addition of null objects at one time"), | ||||||
|  |                 handler.getPermissionMessage()); | ||||||
|  |         handler = newHandler("http://127.0.0.1:8111/mapwithai?switch_layer=true"); | ||||||
|  |         handler.handle(); | ||||||
|  |         assertEquals(tr( | ||||||
|  |                 "Remote Control has been asked to load data from the API. (null)<br />MapWithAI will automatically switch layers.<br />There is a maximum addition of null objects at one time"), | ||||||
|  |                 handler.getPermissionMessage()); | ||||||
|  |         handler = newHandler("http://127.0.0.1:8111/mapwithai?max_obj=1"); | ||||||
|  |         handler.handle(); | ||||||
|  |         assertEquals(tr( | ||||||
|  |                 "Remote Control has been asked to load data from the API. (null)<br />MapWithAI will automatically switch layers.<br />There is a maximum addition of 1 objects at one time"), | ||||||
|  |                 handler.getPermissionMessage()); | ||||||
|  |         handler = newHandler("http://127.0.0.1:8111/mapwithai?max_obj=5"); | ||||||
|  |         handler.handle(); | ||||||
|  |         assertEquals(tr( | ||||||
|  |                 "Remote Control has been asked to load data from the API. (null)<br />MapWithAI will automatically switch layers.<br />There is a maximum addition of 5 objects at one time"), | ||||||
|  |                 handler.getPermissionMessage()); | ||||||
|  |         BBox crop = new BBox(0, 0, 0.001, 0.001); | ||||||
|  |         handler = newHandler("http://127.0.0.1:8111/mapwithai?crop_bbox=".concat(crop.toStringCSV(","))); | ||||||
|  |         handler.handle(); | ||||||
|  |         assertEquals(tr( | ||||||
|  |                 "Remote Control has been asked to load data from the API. (null)<br />MapWithAI will automatically switch layers.<br />We will crop the data to 0.0,0.0,0.001,0.001<br />There is a maximum addition of null objects at one time"), | ||||||
|  |                 handler.getPermissionMessage()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void testGetUsageExamples() throws Exception { | ||||||
|  |         assertEquals(6, newHandler(null).getUsageExamples().length); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
		Ładowanie…
	
		Reference in New Issue
	
	 Taylor Smock
						Taylor Smock