diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2019-06-20 09:54:44 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2019-06-20 09:54:44 +0200 |
commit | a22f03a4b4d054f12118c7c1d03ac8ec4ccfea56 (patch) | |
tree | 6454ea6098151e06161cb1b8b0e63c717bc01c67 /controller-api | |
parent | 76c3454dcc9b691149ebfc3910d0b7674f202b15 (diff) |
Test and fix parsing, and rename to MavenRepository
Diffstat (limited to 'controller-api')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/MavenRepository.java (renamed from controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Repository.java) | 2 | ||||
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java | 5 | ||||
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMavenRepository.java (renamed from controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRepository.java) | 4 | ||||
-rw-r--r-- | controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/maven/MetadataTest.java | 56 |
4 files changed, 61 insertions, 6 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Repository.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/MavenRepository.java index 41a13d41814..ef667bac8c5 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Repository.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/MavenRepository.java @@ -5,7 +5,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.maven; * * @author jonmv */ -public interface Repository { +public interface MavenRepository { Metadata getMetadata(ArtifactId id); diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java index e837eaf875e..fd84a05db6a 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/maven/Metadata.java @@ -31,12 +31,11 @@ public class Metadata { /** Creates a new Metadata object from the given XML document. */ public static Metadata fromXml(String xml) { - Element root = XML.getDocument(xml).getDocumentElement(); - Element metadata = XML.getChild(root, "metadata"); + Element metadata = XML.getDocument(xml).getDocumentElement(); ArtifactId id = new ArtifactId(XML.getValue(XML.getChild(metadata, "groupId")), XML.getValue(XML.getChild(metadata, "artifactId"))); List<Version> versions = new ArrayList<>(); - for (Element version : XML.getChildren(XML.getChild(metadata, "versioning"), "versions")) + for (Element version : XML.getChildren(XML.getChild(XML.getChild(metadata, "versioning"), "versions"))) versions.add(Version.fromString(XML.getValue(version))); return new Metadata(id, versions); diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRepository.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMavenRepository.java index 9a93cd94aaa..2a8b47af777 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRepository.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMavenRepository.java @@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.stubs; import com.yahoo.component.Version; import com.yahoo.vespa.hosted.controller.api.integration.maven.ArtifactId; import com.yahoo.vespa.hosted.controller.api.integration.maven.Metadata; -import com.yahoo.vespa.hosted.controller.api.integration.maven.Repository; +import com.yahoo.vespa.hosted.controller.api.integration.maven.MavenRepository; import java.util.List; @@ -12,7 +12,7 @@ import java.util.List; * * @author jonmv */ -public class MockRepository implements Repository { +public class MockMavenRepository implements MavenRepository { @Override public Metadata getMetadata(ArtifactId id) { diff --git a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/maven/MetadataTest.java b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/maven/MetadataTest.java new file mode 100644 index 00000000000..17d0694538c --- /dev/null +++ b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/maven/MetadataTest.java @@ -0,0 +1,56 @@ +package com.yahoo.vespa.hosted.controller.api.integration.maven; + +import com.yahoo.component.Version; +import org.junit.Assert; +import org.junit.Test; + +import java.net.URI; +import java.nio.file.Path; + +import static org.junit.Assert.assertEquals; + +public class MetadataTest { + + @Test + public void testParsing() { + Metadata metadata = Metadata.fromXml(metadataXml); + assertEquals("com.yahoo.vespa", metadata.id().groupId()); + assertEquals("tenant-base", metadata.id().artifactId()); + assertEquals(Version.fromString("6.297.80"), metadata.versions().get(0)); + assertEquals(Version.fromString("7.61.10"), metadata.versions().get(metadata.versions().size() - 1)); + } + + private static final String metadataXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + + "<metadata>\n" + + " <groupId>com.yahoo.vespa</groupId>\n" + + " <artifactId>tenant-base</artifactId>\n" + + " <versioning>\n" + + " <latest>7.61.10</latest>\n" + + " <release>7.61.10</release>\n" + + " <versions>\n" + + " <version>6.297.80</version>\n" + + " <version>6.300.15</version>\n" + + " <version>6.301.8</version>\n" + + " <version>6.303.29</version>\n" + + " <version>6.304.14</version>\n" + + " <version>6.305.35</version>\n" + + " <version>6.328.65</version>\n" + + " <version>6.329.64</version>\n" + + " <version>6.330.51</version>\n" + + " <version>7.3.19</version>\n" + + " <version>7.18.17</version>\n" + + " <version>7.20.129</version>\n" + + " <version>7.21.18</version>\n" + + " <version>7.22.18</version>\n" + + " <version>7.38.38</version>\n" + + " <version>7.39.5</version>\n" + + " <version>7.40.41</version>\n" + + " <version>7.41.15</version>\n" + + " <version>7.57.40</version>\n" + + " <version>7.60.51</version>\n" + + " <version>7.61.10</version>\n" + + " </versions>\n" + + " <lastUpdated>20190619054245</lastUpdated>\n" + + " </versioning>\n" + + "</metadata>\n"; +} |