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  }