...

Source file src/edge-infra.dev/pkg/f8n/warehouse/forwarder/name_test.go

Documentation: edge-infra.dev/pkg/f8n/warehouse/forwarder

     1  package forwarder
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/google/go-containerregistry/pkg/name"
     8  	"github.com/stretchr/testify/assert"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  var (
    13  	digest    = "sha256:deadb33fdeadb33fdeadb33fdeadb33fdeadb33fdeadb33fdeadb33fdeadb33f"
    14  	base      = "us-east1-docker.pkg.dev"
    15  	projectID = "ret-edge-infragang0"
    16  )
    17  
    18  func TestParseRef(t *testing.T) {
    19  	tcs := map[string]struct {
    20  		repository string
    21  		image      string
    22  	}{
    23  		"only registry and package as repository": {"warehouse", "cert-manager"},
    24  		"nested repository":                       {"warehouse", "dev/swim/prometheus-operator"},
    25  	}
    26  
    27  	for n, tc := range tcs {
    28  		t.Run(n, func(t *testing.T) {
    29  			ref, err := name.ParseReference(fmt.Sprintf(
    30  				"%s/%s/%s/%s@%s", base, projectID, tc.repository, tc.image, digest,
    31  			))
    32  			require.NoError(t, err)
    33  			t.Log(ref)
    34  
    35  			registry, repository, image := parseRef(ref)
    36  
    37  			assert.Equal(t, base, registry)
    38  			assert.Equal(t, tc.image, image)
    39  			assert.Equal(t, tc.repository, repository)
    40  		})
    41  	}
    42  }
    43  

View as plain text