From 984fd528c0cefedc082bcc5959dac216a7e62d40 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Fri, 15 Jan 2016 07:54:46 -0800 Subject: [PATCH] Correctly extract image name when using custom hub. --- render/mapping.go | 9 +++++---- render/mapping_internal_test.go | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 render/mapping_internal_test.go diff --git a/render/mapping.go b/render/mapping.go index 30e1b1caa..74b3feb81 100644 --- a/render/mapping.go +++ b/render/mapping.go @@ -541,11 +541,12 @@ func MapPod2Service(n RenderableNode, _ report.Networks) RenderableNodes { } func imageNameWithoutVersion(name string) string { - parts := strings.SplitN(name, ":", 2) - if len(parts) == 2 { - return parts[0] + parts := strings.SplitN(name, "/", 3) + if len(parts) == 3 { + name = fmt.Sprintf("%s/%s", parts[1], parts[2]) } - return name + parts = strings.SplitN(name, ":", 2) + return parts[0] } // MapContainerImage2Name maps container images RenderableNodes to diff --git a/render/mapping_internal_test.go b/render/mapping_internal_test.go new file mode 100644 index 000000000..75d2bfc8d --- /dev/null +++ b/render/mapping_internal_test.go @@ -0,0 +1,20 @@ +package render + +import ( + "testing" +) + +func TestDockerImageName(t *testing.T) { + for _, input := range []struct{ in, name string }{ + {"foo/bar", "foo/bar"}, + {"foo/bar:baz", "foo/bar"}, + {"reg:123/foo/bar:baz", "foo/bar"}, + {"docker-registry.domain.name:5000/repo/image1:ver", "repo/image1"}, + {"foo", "foo"}, + } { + name := imageNameWithoutVersion(input.in) + if name != input.name { + t.Fatalf("%s: %s != %s", input.in, name, input.name) + } + } +}