package forwarder import ( "fmt" "testing" "github.com/google/go-containerregistry/pkg/name" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) var ( digest = "sha256:deadb33fdeadb33fdeadb33fdeadb33fdeadb33fdeadb33fdeadb33fdeadb33f" base = "us-east1-docker.pkg.dev" projectID = "ret-edge-infragang0" ) func TestParseRef(t *testing.T) { tcs := map[string]struct { repository string image string }{ "only registry and package as repository": {"warehouse", "cert-manager"}, "nested repository": {"warehouse", "dev/swim/prometheus-operator"}, } for n, tc := range tcs { t.Run(n, func(t *testing.T) { ref, err := name.ParseReference(fmt.Sprintf( "%s/%s/%s/%s@%s", base, projectID, tc.repository, tc.image, digest, )) require.NoError(t, err) t.Log(ref) registry, repository, image := parseRef(ref) assert.Equal(t, base, registry) assert.Equal(t, tc.image, image) assert.Equal(t, tc.repository, repository) }) } }