diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-10-21 09:36:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-21 09:36:57 +0200 |
commit | b4bcee8ca30b1d03892af747057dbb5de83fa1b8 (patch) | |
tree | 84121c182b479c0c6270a65d2c741106306ef44a /config-provisioning/src/test | |
parent | 5462aa495dfcfb5398666f16750917f4bd90a939 (diff) | |
parent | f46523b4187f6193749d7aef3edaf621341f3f4f (diff) |
Merge pull request #14969 from vespa-engine/mpolden/container-registry
Let zone decide container registry
Diffstat (limited to 'config-provisioning/src/test')
-rw-r--r-- | config-provisioning/src/test/java/com/yahoo/config/provision/DockerImageTest.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/DockerImageTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/DockerImageTest.java new file mode 100644 index 00000000000..ca41f4628cc --- /dev/null +++ b/config-provisioning/src/test/java/com/yahoo/config/provision/DockerImageTest.java @@ -0,0 +1,55 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config.provision; + +import org.junit.Test; + +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +/** + * @author mpolden + */ +public class DockerImageTest { + + @Test + public void parse() { + Map<String, DockerImage> tests = Map.of( + "", DockerImage.EMPTY, + "registry.example.com:9999/vespa/vespa:7.42", new DockerImage("registry.example.com:9999", "vespa/vespa", Optional.of("7.42")), + "registry.example.com/vespa/vespa:7.42", new DockerImage("registry.example.com", "vespa/vespa", Optional.of("7.42")), + "registry.example.com:9999/vespa/vespa", new DockerImage("registry.example.com:9999", "vespa/vespa", Optional.empty()), + "registry.example.com/vespa/vespa", new DockerImage("registry.example.com", "vespa/vespa", Optional.empty()) + ); + tests.forEach((value, expected) -> { + DockerImage parsed = DockerImage.fromString(value); + assertEquals(value, parsed.asString()); + + String untagged = expected.equals(DockerImage.EMPTY) + ? "" + : expected.registry() + "/" + expected.repository(); + assertEquals(untagged, parsed.untagged()); + }); + } + + @Test + public void parse_invalid() { + List<String> tests = List.of( + "registry.example.com", + "registry.example.com/", + "foo", + "foo:1.2.3" + ); + for (var value : tests) { + try { + DockerImage.fromString(value); + fail("Expected failure"); + } catch (IllegalArgumentException ignored) { + } + } + } + +} |