github.com/simonferquel/app@v0.6.1-0.20181012141724-68b7cccf26ac/internal/packager/extract_test.go (about) 1 package packager 2 3 import ( 4 "testing" 5 6 "github.com/docker/distribution/reference" 7 "gotest.tools/assert" 8 is "gotest.tools/assert/cmp" 9 ) 10 11 func TestImageAppNameFromRef(t *testing.T) { 12 refs := []struct { 13 ref string 14 appName string 15 imageName string 16 }{ 17 {ref: "foo", appName: "foo.dockerapp", imageName: "docker.io/library/foo.dockerapp"}, 18 {ref: "foo.dockerapp", appName: "foo.dockerapp", imageName: "docker.io/library/foo.dockerapp"}, 19 {ref: "foo:0.2.0", appName: "foo.dockerapp", imageName: "docker.io/library/foo.dockerapp:0.2.0"}, 20 {ref: "foo.dockerapp:0.2.0", appName: "foo.dockerapp", imageName: "docker.io/library/foo.dockerapp:0.2.0"}, 21 {ref: "namespace/foo", appName: "foo.dockerapp", imageName: "docker.io/namespace/foo.dockerapp"}, 22 {ref: "namespace/bar.dockerapp", appName: "bar.dockerapp", imageName: "docker.io/namespace/bar.dockerapp"}, 23 {ref: "namespace/bar:0.2.0", appName: "bar.dockerapp", imageName: "docker.io/namespace/bar.dockerapp:0.2.0"}, 24 {ref: "namespace/bar.dockerapp:0.2.0", appName: "bar.dockerapp", imageName: "docker.io/namespace/bar.dockerapp:0.2.0"}, 25 {ref: "gcr.io/namespace/baz", appName: "baz.dockerapp", imageName: "gcr.io/namespace/baz.dockerapp"}, 26 {ref: "gcr.io/namespace/baz.dockerapp", appName: "baz.dockerapp", imageName: "gcr.io/namespace/baz.dockerapp"}, 27 {ref: "gcr.io/namespace/baz:0.2.0", appName: "baz.dockerapp", imageName: "gcr.io/namespace/baz.dockerapp:0.2.0"}, 28 {ref: "gcr.io/namespace/baz.dockerapp:0.2.0", appName: "baz.dockerapp", imageName: "gcr.io/namespace/baz.dockerapp:0.2.0"}, 29 } 30 for _, r := range refs { 31 ref, err := reference.ParseNormalizedNamed(r.ref) 32 assert.NilError(t, err) 33 assert.Assert(t, is.Equal(imageNameFromRef(ref), r.imageName)) 34 assert.Assert(t, is.Equal(appNameFromRef(ref), r.appName)) 35 } 36 }