From bfc6e4f5dc1647c04554b10466a2382466289860 Mon Sep 17 00:00:00 2001 From: Evans Mungai Date: Fri, 22 Sep 2023 18:31:49 +0100 Subject: [PATCH] Add missing file --- pkg/oci/pull_test.go | 66 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 pkg/oci/pull_test.go diff --git a/pkg/oci/pull_test.go b/pkg/oci/pull_test.go new file mode 100644 index 000000000..560e93794 --- /dev/null +++ b/pkg/oci/pull_test.go @@ -0,0 +1,66 @@ +package oci + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_parseURI(t *testing.T) { + tests := []struct { + name string + uri string + imageName string + wantUri string + wantErr bool + }{ + { + name: "happy path", + uri: "oci://registry.replicated.com/app-slug/unstable", + imageName: "replicated-preflight", + wantUri: "registry.replicated.com/app-slug/unstable/replicated-preflight:latest", + }, + { + name: "no path in uri", + uri: "oci://registry.replicated.com", + imageName: "replicated-preflight", + wantUri: "registry.replicated.com/replicated-preflight:latest", + }, + { + name: "hostname with port", + uri: "oci://localhost:5000/some/path", + imageName: "replicated-preflight", + wantUri: "localhost:5000/some/path/replicated-preflight:latest", + }, + { + name: "uri with tags", + uri: "oci://localhost:5000/some/path:tag", + imageName: "replicated-preflight", + wantUri: "localhost:5000/some/path/replicated-preflight:tag", + }, + { + name: "empty uri", + wantErr: true, + }, + { + name: "invalid uri", + uri: "registry.replicated.com/app-slug/unstable", + imageName: "replicated-preflight", + wantErr: true, + }, + { + name: "invalid uri", + uri: "https://registry.replicated.com/app-slug/unstable", + imageName: "replicated-preflight", + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := parseURI(tt.uri, tt.imageName) + require.Equalf(t, tt.wantErr, err != nil, "parseURI() error = %v, wantErr %v", err, tt.wantErr) + assert.Equalf(t, tt.wantUri, got, "parseURI() = %v, want %v", got, tt.wantUri) + }) + } +}