summaryrefslogtreecommitdiff
path: root/workhorse/backend_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'workhorse/backend_test.go')
-rw-r--r--workhorse/backend_test.go41
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")
+ })
+ }
+}