From 5e3a096828af32eca7f346012d9aaa3634760f8e Mon Sep 17 00:00:00 2001 From: Frank Bille Date: Wed, 4 Mar 2015 23:38:17 +0100 Subject: [PATCH] Added test for custom realm --- auth_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/auth_test.go b/auth_test.go index d60c587..067dfb1 100644 --- a/auth_test.go +++ b/auth_test.go @@ -59,3 +59,27 @@ func TestBasicAuth401(t *testing.T) { t.Errorf("WWW-Authenticate header is incorrect: %s", w.HeaderMap.Get("Content-Type")) } } + +func TestBasicAuth401WithCustomRealm(t *testing.T) { + req, _ := http.NewRequest("GET", "/login", nil) + w := httptest.NewRecorder() + + r := New() + accounts := Accounts{"foo": "bar"} + r.Use(BasicAuthForRealm(accounts, "My Custom Realm")) + + r.GET("/login", func(c *Context) { + c.String(200, "autorized") + }) + + req.Header.Set("Authorization", "Basic "+base64.StdEncoding.EncodeToString([]byte("admin:password"))) + r.ServeHTTP(w, req) + + if w.Code != 401 { + t.Errorf("Response code should be Not autorized, was: %s", w.Code) + } + + if w.HeaderMap.Get("WWW-Authenticate") != "Basic realm=\"My Custom Realm\"" { + t.Errorf("WWW-Authenticate header is incorrect: %s", w.HeaderMap.Get("Content-Type")) + } +}