Ignore:
Timestamp:
2024-07-29T17:57:38+02:00 (12 months ago)
Author:
taylor.smock
Message:

Fix tests broken by r19152

Location:
trunk/test/unit/org/openstreetmap/josm/data/imagery
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJobTest.java

    r19050 r19155  
    1616import java.util.regex.Pattern;
    1717
     18import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
    1819import org.apache.commons.jcs3.access.behavior.ICacheAccess;
    1920import org.junit.jupiter.api.BeforeEach;
     
    3132import org.openstreetmap.josm.tools.Utils;
    3233
    33 import com.github.tomakehurst.wiremock.WireMockServer;
    3434import com.github.tomakehurst.wiremock.client.WireMock;
    3535
     
    4343     * mocked tile server
    4444     */
    45     @BasicWiremock
    46     WireMockServer tileServer;
     45    private WireMockRuntimeInfo wireMockRuntimeInfo;
    4746
    4847    @BeforeEach
    49     void clearCache() throws Exception {
     48    void clearCache() {
    5049        getCache().clear();
     50    }
     51
     52    @BeforeEach
     53    void setup(WireMockRuntimeInfo wireMockRuntimeInfo) {
     54        this.wireMockRuntimeInfo = wireMockRuntimeInfo;
    5155    }
    5256
     
    126130
    127131        @Override
    128         public String getTileUrl(int zoom, int tilex, int tiley) throws IOException {
     132        public String getTileUrl(int zoom, int tilex, int tiley) {
    129133            return url;
    130134        }
     
    219223    void testNoCacheHeaders() throws IOException {
    220224        long testStart = System.currentTimeMillis();
    221         tileServer.stubFor(
     225        wireMockRuntimeInfo.getWireMock().register(
    222226                WireMock.get(WireMock.urlEqualTo("/test"))
    223227                .willReturn(WireMock.aResponse()
     
    226230                );
    227231
    228         TestCachedTileLoaderJob job = submitJob(new MockTile(tileServer.url("/test")), "test", false);
     232        TestCachedTileLoaderJob job = submitJob(new MockTile(wireMockRuntimeInfo.getHttpBaseUrl() + "/test"), "test", false);
    229233        assertExpirationAtLeast(testStart + TMSCachedTileLoaderJob.MINIMUM_EXPIRES.get(), job);
    230234        assertArrayEquals("mock entry".getBytes(StandardCharsets.UTF_8), job.get().getContent());
    231         job = submitJob(new MockTile(tileServer.url("/test")), "test", false); // submit another job for the same tile
     235        job = submitJob(new MockTile(wireMockRuntimeInfo.getHttpBaseUrl() + "/test"), "test", false); // submit another job for the same tile
    232236        // only one request to tile server should be made, second should come from cache
    233         tileServer.verify(1, WireMock.getRequestedFor(WireMock.urlEqualTo("/test")));
     237        wireMockRuntimeInfo.getWireMock().verifyThat(1, WireMock.getRequestedFor(WireMock.urlEqualTo("/test")));
    234238        assertArrayEquals("mock entry".getBytes(StandardCharsets.UTF_8), job.get().getContent());
    235239    }
     
    257261    private void noCacheHeadersMinimumExpires(int minimumExpires) throws IOException {
    258262        long testStart = System.currentTimeMillis();
    259         tileServer.stubFor(
     263        wireMockRuntimeInfo.getWireMock().register(
    260264                WireMock.get(WireMock.urlEqualTo("/test"))
    261265                .willReturn(WireMock.aResponse()
     
    263267                        )
    264268                );
    265         TestCachedTileLoaderJob job = submitJob(new MockTile(tileServer.url("/test")), "test", minimumExpires, false);
     269        TestCachedTileLoaderJob job = submitJob(new MockTile(wireMockRuntimeInfo.getHttpBaseUrl() + "/test"), "test", minimumExpires, false);
    266270        assertExpirationAtLeast(testStart + minimumExpires, job);
    267271        assertArrayEquals("mock entry".getBytes(StandardCharsets.UTF_8), job.get().getContent());
    268         job = submitJob(new MockTile(tileServer.url("/test")), "test", false); // submit another job for the same tile
     272        job = submitJob(new MockTile(wireMockRuntimeInfo.getHttpBaseUrl() + "/test"), "test", false); // submit another job for the same tile
    269273        // only one request to tile server should be made, second should come from cache
    270         tileServer.verify(1, WireMock.getRequestedFor(WireMock.urlEqualTo("/test")));
     274        wireMockRuntimeInfo.getWireMock().verifyThat(1, WireMock.getRequestedFor(WireMock.urlEqualTo("/test")));
    271275        assertArrayEquals("mock entry".getBytes(StandardCharsets.UTF_8), job.get().getContent());
    272276    }
     
    280284        long testStart = System.currentTimeMillis();
    281285        long expires = TMSCachedTileLoaderJob.MINIMUM_EXPIRES.get() / 2;
    282         tileServer.stubFor(
     286        wireMockRuntimeInfo.getWireMock().register(
    283287                WireMock.get(WireMock.urlEqualTo("/test"))
    284288                .willReturn(WireMock.aResponse()
     
    287291                        )
    288292                );
    289         TestCachedTileLoaderJob job = submitJob(new MockTile(tileServer.url("/test")), "test", false);
     293        TestCachedTileLoaderJob job = submitJob(new MockTile(wireMockRuntimeInfo.getHttpBaseUrl() + "/test"), "test", false);
    290294        assertExpirationAtLeast(testStart + TMSCachedTileLoaderJob.MINIMUM_EXPIRES.get(), job);
    291295        assertArrayEquals("mock entry".getBytes(StandardCharsets.UTF_8), job.get().getContent());
    292         job = submitJob(new MockTile(tileServer.url("/test")), "test", false); // submit another job for the same tile
     296        job = submitJob(new MockTile(wireMockRuntimeInfo.getHttpBaseUrl() + "/test"), "test", false); // submit another job for the same tile
    293297        // only one request to tile server should be made, second should come from cache
    294         tileServer.verify(1, WireMock.getRequestedFor(WireMock.urlEqualTo("/test")));
     298        wireMockRuntimeInfo.getWireMock().verifyThat(1, WireMock.getRequestedFor(WireMock.urlEqualTo("/test")));
    295299        assertArrayEquals("mock entry".getBytes(StandardCharsets.UTF_8), job.get().getContent());
    296300    }
     
    312316        long testStart = System.currentTimeMillis();
    313317        long expires = TMSCachedTileLoaderJob.MAXIMUM_EXPIRES.get() * 2;
    314         tileServer.stubFor(
     318        wireMockRuntimeInfo.getWireMock().register(
    315319                WireMock.get(WireMock.urlEqualTo("/test"))
    316320                .willReturn(WireMock.aResponse()
     
    319323                        )
    320324                );
    321         TestCachedTileLoaderJob job = submitJob(new MockTile(tileServer.url("/test")), "test", false);
     325        TestCachedTileLoaderJob job = submitJob(new MockTile(wireMockRuntimeInfo.getHttpBaseUrl() + "/test"), "test", false);
    322326        // give 1 second margin
    323327        assertExpirationAtMost(testStart + TMSCachedTileLoaderJob.MAXIMUM_EXPIRES.get() + TimeUnit.SECONDS.toMillis(1), job);
    324328
    325329        assertArrayEquals("mock entry".getBytes(StandardCharsets.UTF_8), job.get().getContent());
    326         job = submitJob(new MockTile(tileServer.url("/test")), "test", false); // submit another job for the same tile
     330        job = submitJob(new MockTile(wireMockRuntimeInfo.getHttpBaseUrl() + "/test"), "test", false); // submit another job for the same tile
    327331        // only one request to tile server should be made, second should come from cache
    328         tileServer.verify(1, WireMock.getRequestedFor(WireMock.urlEqualTo("/test")));
     332        wireMockRuntimeInfo.getWireMock().verifyThat(1, WireMock.getRequestedFor(WireMock.urlEqualTo("/test")));
    329333        assertArrayEquals("mock entry".getBytes(StandardCharsets.UTF_8), job.get().getContent());
    330334    }
  • trunk/test/unit/org/openstreetmap/josm/data/imagery/WMSEndpointTileSourceTest.java

    r19052 r19155  
    1111import java.util.Collections;
    1212
     13import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
     14import org.junit.jupiter.api.BeforeEach;
    1315import org.junit.jupiter.api.Test;
    1416import org.openstreetmap.gui.jmapviewer.interfaces.TemplatedTileSource;
     
    2224import org.openstreetmap.josm.testutils.annotations.Projection;
    2325
    24 import com.github.tomakehurst.wiremock.WireMockServer;
    2526import com.github.tomakehurst.wiremock.client.WireMock;
    2627
     
    2930@Projection
    3031class WMSEndpointTileSourceTest implements TileSourceTest {
    31     @BasicWiremock
    32     WireMockServer tileServer;
     32    WireMockRuntimeInfo tileServer;
     33    @BeforeEach
     34    void setup(WireMockRuntimeInfo wireMockRuntimeInfo) {
     35        this.tileServer = wireMockRuntimeInfo;
     36    }
    3337
    3438    private void basicMock() {
    3539        final byte[] response = assertDoesNotThrow(() -> Files.readAllBytes(
    3640                Paths.get(TestUtils.getTestDataRoot() + "wms/geofabrik-osm-inspector.xml")));
    37         tileServer.stubFor(
     41        tileServer.getWireMock().register(
    3842                WireMock.get(WireMock.urlEqualTo("/capabilities?SERVICE=WMS&REQUEST=GetCapabilities"))
    3943                        .willReturn(WireMock.aResponse().withBody(response))
     
    4549        this.basicMock();
    4650        final ImageryInfo info = new ImageryInfo("WMSEndpointTileSourceTest");
    47         info.setExtendedUrl(tileServer.url("/capabilities"));
     51        info.setExtendedUrl(tileServer.getHttpBaseUrl() + "/capabilities");
    4852        info.setDefaultLayers(Collections.singletonList(new DefaultLayer(ImageryType.WMS_ENDPOINT,
    4953                "single_node_in_way", "default", null)));
     
    6064    void testDefaultLayerSetInMaps() throws Exception {
    6165
    62         tileServer.stubFor(
     66        tileServer.getWireMock().register(
    6367                WireMock.get(WireMock.urlEqualTo("/capabilities?SERVICE=WMS&REQUEST=GetCapabilities"))
    6468                .willReturn(
     
    6872                );
    6973
    70         tileServer.stubFor(WireMock.get(WireMock.urlEqualTo("/other/maps")).willReturn(WireMock.aResponse().withBody(
     74        tileServer.getWireMock().register(WireMock.get(WireMock.urlEqualTo("/other/maps")).willReturn(WireMock.aResponse().withBody(
    7175                "<?xml version='1.0' encoding='UTF-8'?>\n" +
    7276                "<imagery xmlns=\"http://josm.openstreetmap.de/maps-1.0\">\n" +
     
    7680                "<type>wms_endpoint</type>\n" +
    7781                "<category>qa</category>\n" +
    78                 "<url><![CDATA[" + tileServer.url("/capabilities") + "]]></url>\n" +
     82                "<url><![CDATA[" + tileServer.getHttpBaseUrl() + "/capabilities]]></url>\n" +
    7983                "<icon>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAAB5UlEQVQ4y4WTwWsTURDG" +
    8084                "fy8W1yYmXZOqtGJJFyGw6KF7CEigwYuS0kthrYUi4i0iORS9BU9hQdA/ILcixVBrwENKLz1FUBB0wWOwYFAqxUNYTZq6BfM8yC5d05iBObz3vfnmm3kz4sqDh/zP" +
     
    9599                )));
    96100
    97         Config.getPref().putList("imagery.layers.sites", Collections.singletonList(tileServer.url("/other/maps")));
     101        Config.getPref().putList("imagery.layers.sites", Collections.singletonList(tileServer.getHttpBaseUrl() + "/other/maps"));
    98102        ImageryLayerInfo.instance.loadDefaults(true, null, false);
    99103        assertEquals(1, ImageryLayerInfo.instance.getDefaultLayers().size());
     
    110114    @Test
    111115    void testCustomHeadersServerSide() throws IOException {
    112         tileServer.stubFor(
     116        tileServer.getWireMock().register(
    113117                WireMock.get(WireMock.urlEqualTo("/capabilities?SERVICE=WMS&REQUEST=GetCapabilities"))
    114118                .willReturn(
     
    118122                );
    119123
    120         tileServer.stubFor(WireMock.get(WireMock.urlEqualTo("/other/maps")).willReturn(WireMock.aResponse().withBody(
     124        tileServer.getWireMock().register(WireMock.get(WireMock.urlEqualTo("/other/maps")).willReturn(WireMock.aResponse().withBody(
    121125                "<?xml version='1.0' encoding='UTF-8'?>\n" +
    122126                "<imagery xmlns=\"http://josm.openstreetmap.de/maps-1.0\">\n" +
     
    129133                "        <country-code>NO</country-code>\n" +
    130134                "        <description lang=\"en\">Historic Norwegian orthophotos and maps, courtesy of Geovekst and Norkart.</description>\n" +
    131                 "        <url><![CDATA[" + tileServer.url("/capabilities?SERVICE=WMS&REQUEST=GetCapabilities") + "]]></url>\n" +
     135                "        <url><![CDATA[" + tileServer.getHttpBaseUrl() + "/capabilities?SERVICE=WMS&REQUEST=GetCapabilities]]></url>\n" +
    132136                "        <custom-http-header header-name=\"X-WAAPI-TOKEN\" header-value=\"b8e36d51-119a-423b-b156-d744d54123d5\" />\n" +
    133137                "        <attribution-text>© Geovekst</attribution-text>\n" +
     
    141145                )));
    142146
    143         Config.getPref().putList("imagery.layers.sites", Collections.singletonList(tileServer.url("/other/maps")));
     147        Config.getPref().putList("imagery.layers.sites", Collections.singletonList(tileServer.getHttpBaseUrl() + "/other/maps"));
    144148        ImageryLayerInfo.instance.loadDefaults(true, null, false);
    145149        ImageryInfo wmsImageryInfo = ImageryLayerInfo.instance.getDefaultLayers().get(0);
     
    150154        assertEquals("b8e36d51-119a-423b-b156-d744d54123d5", tileSource.getHeaders().get("X-WAAPI-TOKEN"));
    151155        assertTrue(wmsImageryInfo.isGeoreferenceValid());
    152         tileServer.verify(
     156        tileServer.getWireMock().verifyThat(
    153157                WireMock.getRequestedFor(WireMock.urlEqualTo("/capabilities?SERVICE=WMS&REQUEST=GetCapabilities"))
    154158                .withHeader("X-WAAPI-TOKEN", WireMock.equalTo("b8e36d51-119a-423b-b156-d744d54123d5")));
  • trunk/test/unit/org/openstreetmap/josm/data/imagery/WMTSTileSourceTest.java

    r19077 r19155  
    2323import java.util.concurrent.TimeUnit;
    2424
     25import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
    2526import org.junit.jupiter.api.Disabled;
    2627import org.junit.jupiter.api.Test;
     
    4546import org.openstreetmap.josm.tools.ReflectionUtils;
    4647
    47 import com.github.tomakehurst.wiremock.WireMockServer;
    4848import com.github.tomakehurst.wiremock.client.WireMock;
    4949
     
    5656@Timeout(value = 5, unit = TimeUnit.MINUTES)
    5757class WMTSTileSourceTest {
    58     @BasicWiremock
    59     WireMockServer tileServer;
    60 
    6158    private final ImageryInfo testImageryTMS = new ImageryInfo("test imagery", "http://localhost", "tms", null, null);
    6259    private final ImageryInfo testImageryPSEUDO_MERCATOR = getImagery(TestUtils.getTestDataRoot() + "wmts/getcapabilities-pseudo-mercator.xml");
     
    367364
    368365    @Test
    369     void testDefaultLayer() throws Exception {
     366    void testDefaultLayer(WireMockRuntimeInfo wireMockRuntimeInfo) throws Exception {
    370367        // https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/1.0.0/WMTSCapabilities.xml
    371368        // do not use withFileBody as it needs different directory layout :(
    372369
    373         tileServer.stubFor(
     370        wireMockRuntimeInfo.getWireMock().register(
    374371                WireMock.get("/getcapabilities.xml")
    375372                .willReturn(
     
    381378                );
    382379
    383         tileServer.stubFor(
     380        wireMockRuntimeInfo.getWireMock().register(
    384381                WireMock.get("/other/maps")
    385382                .willReturn(
     
    392389                "<type>wmts</type>\n" +
    393390                "<category>photo</category>\n" +
    394                 "<url><![CDATA[" + tileServer.url("/getcapabilities.xml") + "]]></url>\n" +
     391                "<url><![CDATA[" + wireMockRuntimeInfo.getHttpBaseUrl() + "/getcapabilities.xml]]></url>\n" +
    395392                "<default-layers>" +
    396393                "<layer name=\"GEOGRAPHICALGRIDSYSTEMS.MAPS\" />" +
     
    400397                )));
    401398
    402         Config.getPref().putList("imagery.layers.sites", Collections.singletonList(tileServer.url("/other/maps")));
     399        Config.getPref().putList("imagery.layers.sites", Collections.singletonList(wireMockRuntimeInfo.getHttpBaseUrl() + "/other/maps"));
    403400        ImageryLayerInfo.instance.loadDefaults(true, null, false);
    404401
Note: See TracChangeset for help on using the changeset viewer.