From fc5e3a317bacfc6a6e4c93a77486f2be66be0ea7 Mon Sep 17 00:00:00 2001 From: magikstm Date: Thu, 9 Nov 2017 00:09:14 -0500 Subject: [PATCH] Add a test for /login --- caddy/handler_test.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/caddy/handler_test.go b/caddy/handler_test.go index 2c12287..a1bdac5 100644 --- a/caddy/handler_test.go +++ b/caddy/handler_test.go @@ -44,4 +44,42 @@ func Test_ServeHTTP_200(t *testing.T) { if status != 200 { t.Errorf("Expected returned status code to be %d, got %d", 0, status) } +} + +func Test_ServeHTTP_login(t *testing.T) { + //Set the ServeHTTP *http.Request + r, err := http.NewRequest("GET", "/login", nil) + if err != nil { + t.Fatalf("Unable to create request: %v", err) + } + + //Set the ServeHTTP http.ResponseWriter + w := httptest.NewRecorder() + + //Set the CaddyHandler config + configh := login.DefaultConfig() + configh.Backends = login.Options{"simple": {"bob": "secret"}} + loginh, err := login.NewHandler(configh) + if err != nil { + t.Errorf("Expected nil error, got: %v", err) + } + + //Set the CaddyHandler that will use ServeHTTP + h := &CaddyHandler{ + next: httpserver.HandlerFunc(func(w http.ResponseWriter, r *http.Request) (int, error) { + return http.StatusOK, nil // not t.Fatalf, or we will not see what other methods yield + }), + config: login.DefaultConfig(), + loginHandler: loginh, + } + + status, err := h.ServeHTTP(w, r) + + if err != nil { + t.Errorf("Expected nil error, got: %v", err) + } + + if status != 0 { + t.Errorf("Expected returned status code to be %d, got %d", 0, status) + } } \ No newline at end of file