source: josm/trunk/test/unit/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTaskTest.java @ 12557

Last change on this file since 12557 was 12557, checked in by Don-vip, 3 months ago

see #15102 - first batch of HTTP unit tests mocking, using WireMock 2.7.1

  • Property svn:eol-style set to native
File size: 2.3 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions.downloadtasks;
3
4import static org.junit.Assert.assertFalse;
5import static org.junit.Assert.assertNotNull;
6import static org.junit.Assert.assertTrue;
7
8import java.util.concurrent.ExecutionException;
9
10import org.junit.Test;
11import org.openstreetmap.josm.data.gpx.GpxData;
12
13/**
14 * Unit tests for class {@link DownloadGpsTask}.
15 */
16public class DownloadGpsTaskTest extends AbstractDownloadTaskTest {
17
18    /**
19     * Unit test of {@code DownloadGpsTask#acceptsUrl} method.
20     */
21    @Test
22    public void testAcceptsURL() {
23        DownloadGpsTask task = new DownloadGpsTask();
24        assertFalse(task.acceptsUrl(null));
25        assertFalse(task.acceptsUrl(""));
26        assertTrue(task.acceptsUrl("http://api.openstreetmap.org/api/0.6/trackpoints?bbox=0,51.5,0.25,51.75"));
27        assertTrue(task.acceptsUrl("http://api.openstreetmap.org/api/0.6/trackpoints?bbox=0,51.5,0.25,51.75&page=0"));
28        assertTrue(task.acceptsUrl("http://api.openstreetmap.org/trace/5000/data"));
29        assertTrue(task.acceptsUrl("http://www.openstreetmap.org/trace/5000/data"));
30        assertTrue(task.acceptsUrl("http://www.trackmyjourney.co.uk/exportgpx.php?session=S6rZR2Bh6GwX1wpB0C&trk=79292"));
31        assertTrue(task.acceptsUrl("https://www.openstreetmap.org/user/simon04/traces/750057"));
32        assertTrue(task.acceptsUrl("https://www.openstreetmap.org/edit?gpx=750057"));
33        assertTrue(task.acceptsUrl("http://www.openstreetmap.org/edit?gpx=2277313#map=14/-20.7321/-40.5328"));
34        assertTrue(task.acceptsUrl(getRemoteFileUrl()));
35    }
36
37    /**
38     * Unit test of {@code DownloadGpsTask#loadUrl} method with an external file.
39     * @throws ExecutionException if the computation threw an exception
40     * @throws InterruptedException if the current thread was interrupted while waiting
41     */
42    @Test
43    public void testDownloadExternalFile() throws InterruptedException, ExecutionException {
44        mockHttp();
45        DownloadGpsTask task = new DownloadGpsTask();
46        task.loadUrl(false, getRemoteFileUrl(), null).get();
47        GpxData data = task.getDownloadedData();
48        assertNotNull(data);
49        assertFalse(data.waypoints.isEmpty());
50        assertFalse(data.tracks.isEmpty());
51    }
52
53    @Override
54    protected String getRemoteFile() {
55        return "samples/data.gpx";
56    }
57}
Note: See TracBrowser for help on using the repository browser.