ensure basic auth headers are provided Fixes #76. Signed-off-by: Daniel Jones <daniel@cloudcredo.com>
diff --git a/ghttp/handlers.go b/ghttp/handlers.go index d27ad80..8c1668a 100644 --- a/ghttp/handlers.go +++ b/ghttp/handlers.go
@@ -6,6 +6,7 @@ "fmt" "io/ioutil" "net/http" + . "github.com/onsi/gomega" "github.com/onsi/gomega/types" ) @@ -53,6 +54,8 @@ func VerifyBasicAuth(username string, password string) http.HandlerFunc { return func(w http.ResponseWriter, req *http.Request) { auth := req.Header.Get("Authorization") + Ω(auth).ShouldNot(Equal(""), "Authorization header must be specified") + decoded, err := base64.StdEncoding.DecodeString(auth[6:]) Ω(err).ShouldNot(HaveOccurred())
diff --git a/ghttp/test_server_test.go b/ghttp/test_server_test.go index 68ff0d4..793ca4a 100644 --- a/ghttp/test_server_test.go +++ b/ghttp/test_server_test.go
@@ -290,6 +290,15 @@ Ω(failures).Should(HaveLen(1)) }) + It("should require basic auth header", func() { + req, err := http.NewRequest("GET", s.URL()+"/foo", nil) + Ω(err).ShouldNot(HaveOccurred()) + + failures := InterceptGomegaFailures(func() { + http.DefaultClient.Do(req) + }) + Ω(failures).Should(HaveLen(1)) + }) }) Describe("VerifyHeader", func() {