From e9721b757ae5da4dad4f68c5eb721f348cfe935a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miloslav=20Trma=C4=8D?= <mitr@redhat.com>
Date: Wed, 9 Jan 2019 19:00:59 +0100
Subject: [PATCH] Remove imageParts.transport
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It is only ever set to DefaulTransport, and all of the code
is docker/reference-specific anyway, so there's no point in
making this a variable.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
---
 libpod/image/parts.go      |  2 --
 libpod/image/parts_test.go | 27 +++++++++++++--------------
 libpod/image/pull.go       |  4 ++--
 3 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/libpod/image/parts.go b/libpod/image/parts.go
index cf774030b7..b7c5d12526 100644
--- a/libpod/image/parts.go
+++ b/libpod/image/parts.go
@@ -10,7 +10,6 @@ import (
 // imageParts describes the parts of an image's name
 type imageParts struct {
 	unnormalizedRef reference.Named // WARNING: Did not go through docker.io[/library] normalization
-	transport       string
 	registry        string
 	name            string
 	tag             string
@@ -74,7 +73,6 @@ func decompose(input string) (imageParts, error) {
 		name:            imageName,
 		tag:             tag,
 		isTagged:        isTagged,
-		transport:       DefaultTransport,
 	}, nil
 }
 
diff --git a/libpod/image/parts_test.go b/libpod/image/parts_test.go
index 3ff175f0e3..733e8e8552 100644
--- a/libpod/image/parts_test.go
+++ b/libpod/image/parts_test.go
@@ -10,50 +10,49 @@ func TestDecompose(t *testing.T) {
 	const digestSuffix = "@sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
 
 	for _, c := range []struct {
-		input                          string
-		transport, registry, name, tag string
-		isTagged, hasRegistry          bool
-		assembled                      string
+		input                 string
+		registry, name, tag   string
+		isTagged, hasRegistry bool
+		assembled             string
 	}{
-		{"#", "", "", "", "", false, false, ""}, // Entirely invalid input
+		{"#", "", "", "", false, false, ""}, // Entirely invalid input
 		{ // Fully qualified docker.io, name-only input
-			"docker.io/library/busybox", "docker://", "docker.io", "library/busybox", "latest", false, true,
+			"docker.io/library/busybox", "docker.io", "library/busybox", "latest", false, true,
 			"docker.io/library/busybox:latest",
 		},
 		{ // Fully qualified example.com, name-only input
-			"example.com/ns/busybox", "docker://", "example.com", "ns/busybox", "latest", false, true,
+			"example.com/ns/busybox", "example.com", "ns/busybox", "latest", false, true,
 			"example.com/ns/busybox:latest",
 		},
 		{ // Unqualified single-name input
-			"busybox", "docker://", "", "busybox", "latest", false, false,
+			"busybox", "", "busybox", "latest", false, false,
 			"busybox:latest",
 		},
 		{ // Unqualified namespaced input
-			"ns/busybox", "docker://", "", "ns/busybox", "latest", false, false,
+			"ns/busybox", "", "ns/busybox", "latest", false, false,
 			"ns/busybox:latest",
 		},
 		{ // name:tag
-			"example.com/ns/busybox:notlatest", "docker://", "example.com", "ns/busybox", "notlatest", true, true,
+			"example.com/ns/busybox:notlatest", "example.com", "ns/busybox", "notlatest", true, true,
 			"example.com/ns/busybox:notlatest",
 		},
 		{ // name@digest
 			// FIXME? .tag == "none"
-			"example.com/ns/busybox" + digestSuffix, "docker://", "example.com", "ns/busybox", "none", false, true,
+			"example.com/ns/busybox" + digestSuffix, "example.com", "ns/busybox", "none", false, true,
 			// FIXME: this drops the digest and replaces it with an incorrect tag.
 			"example.com/ns/busybox:none",
 		},
 		{ // name:tag@digest
-			"example.com/ns/busybox:notlatest" + digestSuffix, "docker://", "example.com", "ns/busybox", "notlatest", true, true,
+			"example.com/ns/busybox:notlatest" + digestSuffix, "example.com", "ns/busybox", "notlatest", true, true,
 			// FIXME: This drops the digest
 			"example.com/ns/busybox:notlatest",
 		},
 	} {
 		parts, err := decompose(c.input)
-		if c.transport == "" {
+		if c.assembled == "" {
 			assert.Error(t, err, c.input)
 		} else {
 			assert.NoError(t, err, c.input)
-			assert.Equal(t, c.transport, parts.transport, c.input)
 			assert.Equal(t, c.registry, parts.registry, c.input)
 			assert.Equal(t, c.name, parts.name, c.input)
 			assert.Equal(t, c.tag, parts.tag, c.input)
diff --git a/libpod/image/pull.go b/libpod/image/pull.go
index d09ddd5991..342ee6f175 100644
--- a/libpod/image/pull.go
+++ b/libpod/image/pull.go
@@ -290,7 +290,7 @@ func (ir *Runtime) pullGoalFromPossiblyUnqualifiedName(inputName string) (*pullG
 		} else {
 			imageName = decomposedImage.assemble()
 		}
-		srcRef, err := alltransports.ParseImageName(fmt.Sprintf("%s%s", decomposedImage.transport, imageName))
+		srcRef, err := alltransports.ParseImageName(fmt.Sprintf("%s%s", DefaultTransport, imageName))
 		if err != nil {
 			return nil, errors.Wrapf(err, "unable to parse '%s'", inputName)
 		}
@@ -322,7 +322,7 @@ func (ir *Runtime) pullGoalFromPossiblyUnqualifiedName(inputName string) (*pullG
 		if hasShaInInputName(inputName) {
 			imageName = fmt.Sprintf("%s/%s", registry, inputName)
 		}
-		srcRef, err := alltransports.ParseImageName(fmt.Sprintf("%s%s", decomposedImage.transport, imageName))
+		srcRef, err := alltransports.ParseImageName(fmt.Sprintf("%s%s", DefaultTransport, imageName))
 		if err != nil {
 			return nil, errors.Wrapf(err, "unable to parse '%s'", inputName)
 		}