...

Source file src/edge-infra.dev/pkg/tools/hack/containers/push_test.go

Documentation: edge-infra.dev/pkg/tools/hack/containers

     1  package containers
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestParseRef(t *testing.T) {
    11  	tcs := map[string]struct {
    12  		in       string
    13  		expected string
    14  		error    bool
    15  		isFile   bool
    16  	}{
    17  		"rules_docker output": {
    18  			"2023/12/12 05:40:43 Successfully pushed Docker image to localhost:21700/lumperctl@sha256:48c902505622f3ecdd8ab80f3f98f8f946d31e10c0d50d85e95ae20df602109d",
    19  			"localhost:21700/lumperctl@sha256:48c902505622f3ecdd8ab80f3f98f8f946d31e10c0d50d85e95ae20df602109d",
    20  			false,
    21  			false,
    22  		},
    23  		"space padded output": {
    24  			"			us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/lumperctl@sha256:48c902505622f3ecdd8ab80f3f98f8f946d31e10c0d50d85e95ae20df602109d",
    25  			"us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/lumperctl@sha256:48c902505622f3ecdd8ab80f3f98f8f946d31e10c0d50d85e95ae20df602109d",
    26  			false,
    27  			false,
    28  		},
    29  		"empty": {
    30  			"",
    31  			"",
    32  			true,
    33  			false,
    34  		},
    35  		"output is already ref": {
    36  			"us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/lumperctl@sha256:48c902505622f3ecdd8ab80f3f98f8f946d31e10c0d50d85e95ae20df602109d",
    37  			"us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/lumperctl@sha256:48c902505622f3ecdd8ab80f3f98f8f946d31e10c0d50d85e95ae20df602109d",
    38  			false,
    39  			false,
    40  		},
    41  		"rules_oci existing logs": {
    42  			in:       "testdata/existing.txt",
    43  			expected: "us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/lumperctl@sha256:933dfb273691e3fe7a82a84039b161eb20a040970b65b426639ca48e6afaeafd",
    44  			error:    false,
    45  			isFile:   true,
    46  		},
    47  		"rules_oci new image logs": {
    48  			in:       "testdata/new.txt",
    49  			expected: "us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/lumperctl@sha256:fde8b0067cd2780aee14b3d900b25fb22d7ca1904c5a2f0e260361d570810669",
    50  			error:    false,
    51  			isFile:   true,
    52  		},
    53  	}
    54  
    55  	for name, tc := range tcs {
    56  		t.Run(name, func(t *testing.T) {
    57  			input := tc.in
    58  			if tc.isFile {
    59  				text, err := os.ReadFile(tc.in)
    60  				assert.NoErrorf(t, err, "TestParseRef: failed to read testdata file")
    61  				input = string(text)
    62  			}
    63  
    64  			ref, err := parseRef(input)
    65  			if tc.error {
    66  				assert.Error(t, err)
    67  			} else {
    68  				assert.NoError(t, err)
    69  			}
    70  
    71  			assert.Equal(t, tc.expected, ref.String())
    72  		})
    73  	}
    74  }
    75  

View as plain text