From 8635f8bbf5e4383fb2db6774757157f29195aec1 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Mon, 17 Oct 2022 11:32:19 +0200 Subject: Server + Util: Ensure the base URL already ends with a / --- internal/util/util_test.go | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) (limited to 'internal/util/util_test.go') diff --git a/internal/util/util_test.go b/internal/util/util_test.go index f671251..eb1a9f6 100644 --- a/internal/util/util_test.go +++ b/internal/util/util_test.go @@ -13,24 +13,29 @@ func Test_EnsureValidURL(t *testing.T) { t.Fatal("Got nil error, want: non-nil") } - valid, validErr := EnsureValidURL("valid.com") - if validErr != nil { - t.Fatalf("Got: %v, want: nil", validErr) - } - - afterValid := "https://valid.com" - if valid != afterValid { - t.Fatalf("Got: %v, want: %v", valid, afterValid) - } - - valid, validErr = EnsureValidURL("http://valid.com") - if validErr != nil { - t.Fatalf("Got: %v, want: nil", validErr) - } - - afterValid = "http://valid.com" - if valid != afterValid { - t.Fatalf("Got: %v, want: %v", valid, afterValid) + testCases := map[string]string{ + // Make sure we set https + "example.com/": "https://example.com/", + // Make sure we do not override the scheme if provided + "http://example.com/": "http://example.com/", + // This URL is already valid + "https://example.com/": "https://example.com/", + // Make sure to add a trailing slash (/) + "https://example.com": "https://example.com/", + // Cleanup the path 1 + "https://example.com/////": "https://example.com/", + // Cleanup the path 2 + "https://example.com/..": "https://example.com/", + } + + for k, v := range testCases { + valid, validErr := EnsureValidURL(k) + if validErr != nil { + t.Fatalf("Got: %v, want: nil", validErr) + } + if valid != v { + t.Fatalf("Got: %v, want: %v", valid, v) + } } } -- cgit v1.2.3