diff options
Diffstat (limited to 'workhorse/internal/config/url_openers_test.go')
-rw-r--r-- | workhorse/internal/config/url_openers_test.go | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/workhorse/internal/config/url_openers_test.go b/workhorse/internal/config/url_openers_test.go deleted file mode 100644 index 6a851cacbb8..00000000000 --- a/workhorse/internal/config/url_openers_test.go +++ /dev/null @@ -1,117 +0,0 @@ -package config - -import ( - "context" - "net/url" - "testing" - - "github.com/stretchr/testify/require" - "gocloud.dev/blob/azureblob" -) - -func TestURLOpeners(t *testing.T) { - cfg, err := LoadConfig(azureConfig) - require.NoError(t, err) - - require.NotNil(t, cfg.ObjectStorageCredentials, "Expected object storage credentials") - - require.NoError(t, cfg.RegisterGoCloudURLOpeners()) - require.NotNil(t, cfg.ObjectStorageConfig.URLMux) - - tests := []struct { - url string - valid bool - }{ - - { - url: "azblob://container/object", - valid: true, - }, - { - url: "azblob://container/object?domain=core.windows.net", - valid: true, - }, - { - url: "azblob://container/object?domain=core.windows.net&domain=test", - valid: false, - }, - { - url: "azblob://container/object?param=value", - valid: false, - }, - { - url: "s3://bucket/object", - valid: false, - }, - } - - for _, test := range tests { - t.Run(test.url, func(t *testing.T) { - ctx := context.Background() - url, err := url.Parse(test.url) - require.NoError(t, err) - - bucket, err := cfg.ObjectStorageConfig.URLMux.OpenBucketURL(ctx, url) - if bucket != nil { - defer bucket.Close() - } - - if test.valid { - require.NotNil(t, bucket) - require.NoError(t, err) - } else { - require.Error(t, err) - } - }) - } -} - -func TestTestURLOpenersForParams(t *testing.T) { - tests := []struct { - name string - currOpts azureblob.Options - query url.Values - wantOpts azureblob.Options - wantErr bool - }{ - { - name: "InvalidParam", - query: url.Values{ - "foo": {"bar"}, - }, - wantErr: true, - }, - { - name: "StorageDomain", - query: url.Values{ - "domain": {"blob.core.usgovcloudapi.net"}, - }, - wantOpts: azureblob.Options{StorageDomain: "blob.core.usgovcloudapi.net"}, - }, - { - name: "duplicate StorageDomain", - query: url.Values{ - "domain": {"blob.core.usgovcloudapi.net", "blob.core.windows.net"}, - }, - wantErr: true, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - o := &azureURLOpener{ - URLOpener: &azureblob.URLOpener{ - Options: test.currOpts, - }, - } - err := setOptionsFromURLParams(test.query, &o.Options) - - if test.wantErr { - require.NotNil(t, err) - } else { - require.Nil(t, err) - require.Equal(t, test.wantOpts, o.Options) - } - }) - } -} |