Index: trunk/test/data/__files/api/0.6/capabilities
===================================================================
--- trunk/test/data/__files/api/0.6/capabilities	(revision 17194)
+++ trunk/test/data/__files/api/0.6/capabilities	(revision 17194)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<osm version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
+  <api>
+    <version minimum="0.6" maximum="0.6"/>
+    <area maximum="0.25"/>
+    <note_area maximum="25"/>
+    <tracepoints per_page="5000"/>
+    <waynodes maximum="2000"/>
+    <changesets maximum_elements="10000"/>
+    <timeout seconds="300"/>
+    <status database="online" api="online" gpx="online"/>
+  </api>
+  <policy>
+    <imagery>
+      <blacklist regex=".*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*"/>
+    </imagery>
+  </policy>
+</osm>
Index: trunk/test/data/__files/api/0.6/node/266187/history
===================================================================
--- trunk/test/data/__files/api/0.6/node/266187/history	(revision 17194)
+++ trunk/test/data/__files/api/0.6/node/266187/history	(revision 17194)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<osm version="0.6" generator="CGImap 0.8.3 (4163645 spike-08.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
+ <node id="266187" visible="true" version="1" changeset="749" timestamp="2005-11-20T10:48:57Z" user="nickw" uid="94" lat="50.9083027" lon="-1.6724797"/>
+ <node id="266187" visible="true" version="2" changeset="172099" timestamp="2008-02-21T12:39:31Z" user="njd27" uid="1030" lat="50.9081170" lon="-1.6726391"/>
+ <node id="266187" visible="true" version="3" changeset="5407199" timestamp="2010-08-05T11:30:13Z" user="Sailor Steve" uid="196654" lat="50.9082088" lon="-1.6725014"/>
+ <node id="266187" visible="true" version="4" changeset="6833565" timestamp="2011-01-01T22:51:19Z" user="monxton" uid="260682" lat="50.9080637" lon="-1.6727160"/>
+ <node id="266187" visible="true" version="5" changeset="65565982" timestamp="2018-12-17T23:38:05Z" user="robbieonsea" uid="76617" lat="50.9080637" lon="-1.6727160">
+  <tag k="lcn_ref" v="55"/>
+ </node>
+</osm>
Index: trunk/test/data/__files/api/0.6/relation/49/history
===================================================================
--- trunk/test/data/__files/api/0.6/relation/49/history	(revision 17194)
+++ trunk/test/data/__files/api/0.6/relation/49/history	(revision 17194)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<osm version="0.6" generator="CGImap 0.8.3 (1991881 spike-07.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
+ <relation id="49" visible="true" version="1" changeset="123982" timestamp="2006-09-30T14:29:46Z">
+  <member type="way" ref="3466406" role=""/>
+  <member type="way" ref="8128290" role=""/>
+  <tag k="type" v="multipolygon"/>
+ </relation>
+ <relation id="49" visible="true" version="2" changeset="486501" timestamp="2007-11-12T16:49:06Z" user="dmgroom" uid="1164">
+  <member type="way" ref="8128290" role=""/>
+  <tag k="type" v="multipolygon"/>
+ </relation>
+ <relation id="49" visible="false" version="3" changeset="486501" timestamp="2007-11-12T16:49:26Z" user="dmgroom" uid="1164"/>
+</osm>
Index: trunk/test/data/__files/api/0.6/way/3058844/history
===================================================================
--- trunk/test/data/__files/api/0.6/way/3058844/history	(revision 17194)
+++ trunk/test/data/__files/api/0.6/way/3058844/history	(revision 17194)
@@ -0,0 +1,421 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<osm version="0.6" generator="CGImap 0.8.3 (3930316 spike-08.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
+ <way id="3058844" visible="true" version="1" changeset="99256" timestamp="2006-08-31T16:54:30Z" user="nickw" uid="94">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="266187"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="266190"/>
+  <nd ref="266191"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="created_by" v="osmeditor2"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="2" changeset="172099" timestamp="2008-02-21T12:39:31Z" user="njd27" uid="1030">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="266187"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="266190"/>
+  <nd ref="266191"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="created_by" v="Potlatch 0.7b"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="3" changeset="309205" timestamp="2008-03-12T17:48:11Z" user="Nick Austin" uid="14020">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="266187"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="266191"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="created_by" v="Potlatch 0.7b"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="4" changeset="1173423" timestamp="2009-05-13T10:45:16Z" user="roswellgrey" uid="110174">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="395251120"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="266191"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="created_by" v="Potlatch 0.7b"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="5" changeset="5948999" timestamp="2010-10-03T21:37:46Z" user="Mezzanine" uid="93583">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="395251120"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="266191"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="6" changeset="6833565" timestamp="2011-01-01T22:51:38Z" user="monxton" uid="260682">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="266191"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="7" changeset="6833565" timestamp="2011-01-01T23:42:47Z" user="monxton" uid="260682">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="8" changeset="8809615" timestamp="2011-07-23T20:07:21Z" user="Pathfinder Dave" uid="370019">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="1371513879"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="9" changeset="11718753" timestamp="2012-05-27T18:49:10Z" user="PealRinger" uid="100597">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="1371513879"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="1767934611"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="10" changeset="12235334" timestamp="2012-07-15T20:10:52Z" user="robbieonsea" uid="76617">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="1371513879"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="1767934611"/>
+  <nd ref="266192"/>
+  <tag k="bicycle" v="yes"/>
+  <tag k="foot" v="yes"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="horse" v="yes"/>
+  <tag k="maxspeed" v="40 mph"/>
+  <tag k="motorcar" v="yes"/>
+ </way>
+ <way id="3058844" visible="true" version="11" changeset="13846597" timestamp="2012-11-12T13:17:23Z" user="Andy Street" uid="2098">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="1371513879"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="1767934611"/>
+  <nd ref="266192"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="maxspeed" v="40 mph"/>
+ </way>
+ <way id="3058844" visible="true" version="12" changeset="13931788" timestamp="2012-11-19T13:26:31Z" user="untitled" uid="397946">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="1371513879"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="2021497483"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="266190"/>
+  <nd ref="1767934611"/>
+  <nd ref="266192"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="maxspeed" v="40 mph"/>
+ </way>
+ <way id="3058844" visible="true" version="13" changeset="13936243" timestamp="2012-11-19T19:40:44Z" user="untitled" uid="397946">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="1371513879"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="2021497483"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="2022023552"/>
+  <nd ref="266190"/>
+  <nd ref="1767934611"/>
+  <nd ref="266192"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="maxspeed" v="40 mph"/>
+ </way>
+ <way id="3058844" visible="true" version="14" changeset="26368284" timestamp="2014-10-27T16:58:54Z" user="Andy Street" uid="2098">
+  <nd ref="266181"/>
+  <nd ref="266182"/>
+  <nd ref="266183"/>
+  <nd ref="1371513879"/>
+  <nd ref="16487194"/>
+  <nd ref="266184"/>
+  <nd ref="266185"/>
+  <nd ref="16487195"/>
+  <nd ref="16487196"/>
+  <nd ref="16798790"/>
+  <nd ref="266186"/>
+  <nd ref="16487197"/>
+  <nd ref="16487198"/>
+  <nd ref="16487200"/>
+  <nd ref="2021497483"/>
+  <nd ref="395251121"/>
+  <nd ref="266187"/>
+  <nd ref="1077652547"/>
+  <nd ref="1077652572"/>
+  <nd ref="266188"/>
+  <nd ref="266189"/>
+  <nd ref="251784234"/>
+  <nd ref="2022023552"/>
+  <nd ref="266190"/>
+  <nd ref="1767934611"/>
+  <nd ref="266192"/>
+  <tag k="access" v="yes"/>
+  <tag k="carriageway" v="single"/>
+  <tag k="highway" v="unclassified"/>
+  <tag k="lanes" v="2"/>
+  <tag k="lit" v="no"/>
+  <tag k="maxspeed" v="40 mph"/>
+  <tag k="maxspeed:type" v="GB:limit"/>
+  <tag k="oneway" v="no"/>
+  <tag k="sidewalk" v="no"/>
+  <tag k="surface" v="asphalt"/>
+ </way>
+</osm>
Index: trunk/test/data/__files/api/capabilities
===================================================================
--- trunk/test/data/__files/api/capabilities	(revision 17194)
+++ trunk/test/data/__files/api/capabilities	(revision 17194)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<osm version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
+  <api>
+    <version minimum="0.6" maximum="0.6"/>
+    <area maximum="0.25"/>
+    <note_area maximum="25"/>
+    <tracepoints per_page="5000"/>
+    <waynodes maximum="2000"/>
+    <changesets maximum_elements="10000"/>
+    <timeout seconds="300"/>
+    <status database="online" api="online" gpx="online"/>
+  </api>
+  <policy>
+    <imagery>
+      <blacklist regex=".*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*"/>
+    </imagery>
+  </policy>
+</osm>
Index: trunk/test/data/__files/osm_api/0.6/capabilities
===================================================================
--- trunk/test/data/__files/osm_api/0.6/capabilities	(revision 17193)
+++ 	(revision )
@@ -1,18 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<osm version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
-  <api>
-    <version minimum="0.6" maximum="0.6"/>
-    <area maximum="0.25"/>
-    <note_area maximum="25"/>
-    <tracepoints per_page="5000"/>
-    <waynodes maximum="2000"/>
-    <changesets maximum_elements="10000"/>
-    <timeout seconds="300"/>
-    <status database="online" api="online" gpx="online"/>
-  </api>
-  <policy>
-    <imagery>
-      <blacklist regex=".*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*"/>
-    </imagery>
-  </policy>
-</osm>
Index: trunk/test/functional/org/openstreetmap/josm/io/OsmServerHistoryReaderTest.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/io/OsmServerHistoryReaderTest.java	(revision 17193)
+++ 	(revision )
@@ -1,64 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.io;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
-import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
-import org.openstreetmap.josm.data.osm.history.History;
-import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
-import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
-import org.openstreetmap.josm.spi.preferences.Config;
-
-/**
- * History fetching tests. This test operates with production API.
- */
-public class OsmServerHistoryReaderTest {
-
-    /**
-     * Setup tests.
-     */
-    @BeforeClass
-    public static void init() {
-        JOSMFixture.createUnitTestFixture().init();
-        Config.getPref().put("osm-server.url", Config.getUrls().getDefaultOsmApiUrl());
-    }
-
-    /**
-     * Tests node history fetching.
-     * @throws OsmTransferException if any error occurs
-     */
-    @Test
-    public void testNode() throws OsmTransferException {
-        OsmServerHistoryReader reader = new OsmServerHistoryReader(OsmPrimitiveType.NODE, 266187);
-        HistoryDataSet ds = reader.parseHistory(NullProgressMonitor.INSTANCE);
-        History h = ds.getHistory(266187, OsmPrimitiveType.NODE);
-        assertTrue("NumVersions", h.getNumVersions() >= 4);
-    }
-
-    /**
-     * Tests way history fetching.
-     * @throws OsmTransferException if any error occurs
-     */
-    @Test
-    public void testWay() throws OsmTransferException {
-        OsmServerHistoryReader reader = new OsmServerHistoryReader(OsmPrimitiveType.WAY, 3058844);
-        HistoryDataSet ds = reader.parseHistory(NullProgressMonitor.INSTANCE);
-        History h = ds.getHistory(3058844, OsmPrimitiveType.WAY);
-        assertTrue("NumVersions", h.getNumVersions() >= 13);
-    }
-
-    /**
-     * Tests relation history fetching.
-     * @throws OsmTransferException if any error occurs
-     */
-    @Test
-    public void testRelation() throws OsmTransferException {
-        OsmServerHistoryReader reader = new OsmServerHistoryReader(OsmPrimitiveType.RELATION, 49);
-        HistoryDataSet ds = reader.parseHistory(NullProgressMonitor.INSTANCE);
-        History h = ds.getHistory(49, OsmPrimitiveType.RELATION);
-        assertTrue("NumVersions", h.getNumVersions() >= 3);
-    }
-}
Index: trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTaskTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTaskTest.java	(revision 17193)
+++ trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTaskTest.java	(revision 17194)
@@ -58,5 +58,5 @@
     @Test
     public void testNominalUrl() {
-        ApiUrlTestTask task = new ApiUrlTestTask(PARENT, wireMockRule.url("/__files/osm_api"));
+        ApiUrlTestTask task = new ApiUrlTestTask(PARENT, wireMockRule.url("/__files/api"));
         task.run();
         assertTrue(task.isSuccess());
Index: trunk/test/unit/org/openstreetmap/josm/io/CapabilitiesTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/CapabilitiesTest.java	(revision 17193)
+++ trunk/test/unit/org/openstreetmap/josm/io/CapabilitiesTest.java	(revision 17194)
@@ -24,5 +24,5 @@
     public void testCapabilities() throws Exception {
         final Capabilities capabilities;
-        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("__files/osm_api/0.6/capabilities")) {
+        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("__files/api/0.6/capabilities")) {
             capabilities = Capabilities.CapabilitiesParser.parse(new InputSource(inputStream));
         }
Index: trunk/test/unit/org/openstreetmap/josm/io/OsmServerHistoryReaderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/OsmServerHistoryReaderTest.java	(revision 17194)
+++ trunk/test/unit/org/openstreetmap/josm/io/OsmServerHistoryReaderTest.java	(revision 17194)
@@ -0,0 +1,84 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.io;
+
+import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.TestUtils;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
+import org.openstreetmap.josm.data.osm.history.History;
+import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
+import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
+import org.openstreetmap.josm.spi.preferences.Config;
+
+import com.github.tomakehurst.wiremock.junit.WireMockRule;
+
+/**
+ * Unit tests of {@link OsmServerHistoryReader} class.
+ */
+public class OsmServerHistoryReaderTest {
+
+    /**
+     * HTTP mock.
+     */
+    @Rule
+    public WireMockRule wireMockRule = new WireMockRule(options().dynamicPort().usingFilesUnderDirectory(TestUtils.getTestDataRoot()));
+
+    /**
+     * Setup tests.
+     */
+    @Before
+    public void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+        Config.getPref().put("osm-server.url", wireMockRule.url("/__files/api"));
+    }
+
+    /**
+     * Tests node history fetching.
+     * @throws OsmTransferException if any error occurs
+     */
+    @Test
+    public void testNode() throws OsmTransferException {
+        OsmServerHistoryReader reader = new OsmServerHistoryReader(OsmPrimitiveType.NODE, 266187);
+        HistoryDataSet ds = reader.parseHistory(NullProgressMonitor.INSTANCE);
+        History h = ds.getHistory(266187, OsmPrimitiveType.NODE);
+        assertEquals(5, h.getNumVersions());
+        assertEquals(1, h.getLatest().getNumKeys());
+        assertEquals(65565982, h.getLatest().getChangesetId());
+        assertEquals(1545089885000L, h.getLatest().getTimestamp().getTime());
+    }
+
+    /**
+     * Tests way history fetching.
+     * @throws OsmTransferException if any error occurs
+     */
+    @Test
+    public void testWay() throws OsmTransferException {
+        OsmServerHistoryReader reader = new OsmServerHistoryReader(OsmPrimitiveType.WAY, 3058844);
+        HistoryDataSet ds = reader.parseHistory(NullProgressMonitor.INSTANCE);
+        History h = ds.getHistory(3058844, OsmPrimitiveType.WAY);
+        assertEquals(14, h.getNumVersions());
+        assertEquals(10, h.getLatest().getNumKeys());
+        assertEquals(26368284, h.getLatest().getChangesetId());
+        assertEquals(1414429134000L, h.getLatest().getTimestamp().getTime());
+    }
+
+    /**
+     * Tests relation history fetching.
+     * @throws OsmTransferException if any error occurs
+     */
+    @Test
+    public void testRelation() throws OsmTransferException {
+        OsmServerHistoryReader reader = new OsmServerHistoryReader(OsmPrimitiveType.RELATION, 49);
+        HistoryDataSet ds = reader.parseHistory(NullProgressMonitor.INSTANCE);
+        History h = ds.getHistory(49, OsmPrimitiveType.RELATION);
+        assertEquals(3, h.getNumVersions());
+        assertEquals(0, h.getLatest().getNumKeys());
+        assertEquals(486501, h.getLatest().getChangesetId());
+        assertEquals(1194886166000L, h.getLatest().getTimestamp().getTime());
+    }
+}
