github.com/devcamcar/cli@v0.0.0-20181107134215-706a05759d18/common/common_test.go (about)

     1  package common
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestValidateImageName(t *testing.T) {
     8  	testCases := []struct {
     9  		name        string
    10  		expectedErr string
    11  	}{
    12  		{name: "docker.io/sally/img:0.0.1", expectedErr: ""},
    13  		{name: "sally/img:0.0.1", expectedErr: ""},
    14  		{name: "img:0.0.1", expectedErr: "image name must have a dockerhub owner or private registry. Be sure to set FN_REGISTRY env var, pass in --registry or configure your context file"},
    15  		{name: "owner/img", expectedErr: "image name must have a tag"},
    16  	}
    17  	for _, c := range testCases {
    18  		t.Run(c.name, func(t *testing.T) {
    19  			errString := ""
    20  			if err := ValidateFullImageName(c.name); err != nil {
    21  				errString = err.Error()
    22  			}
    23  			if c.expectedErr != errString {
    24  				t.Fatalf("expected %s but got %s", c.expectedErr, errString)
    25  			}
    26  		})
    27  	}
    28  }