diff options
Diffstat (limited to 'workhorse/backend_test.go')
-rw-r--r-- | workhorse/backend_test.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/workhorse/backend_test.go b/workhorse/backend_test.go new file mode 100644 index 00000000000..c15947a75ad --- /dev/null +++ b/workhorse/backend_test.go @@ -0,0 +1,41 @@ +package main + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestParseAuthBackendFailure(t *testing.T) { + failures := []string{ + "", + "ftp://localhost", + "https://example.com", + } + + for _, example := range failures { + t.Run(example, func(t *testing.T) { + _, err := parseAuthBackend(example) + require.Error(t, err) + }) + } +} + +func TestParseAuthBackend(t *testing.T) { + successes := []struct{ input, host, scheme string }{ + {"http://localhost:8080", "localhost:8080", "http"}, + {"localhost:3000", "localhost:3000", "http"}, + {"http://localhost", "localhost", "http"}, + {"localhost", "localhost", "http"}, + } + + for _, example := range successes { + t.Run(example.input, func(t *testing.T) { + result, err := parseAuthBackend(example.input) + require.NoError(t, err) + + require.Equal(t, example.host, result.Host, "host") + require.Equal(t, example.scheme, result.Scheme, "scheme") + }) + } +} |