Skip to content
Snippets Groups Projects
Commit 29701d98 authored by Christian Pointner's avatar Christian Pointner
Browse files

test for delete session

parent b2adec62
No related branches found
No related tags found
No related merge requests found
......@@ -214,6 +214,7 @@ func TestAuthBearerToken(t *testing.T) {
{"Bearer invalid", http.StatusUnauthorized},
{"Bearer invalid:", http.StatusUnauthorized},
{"Bearer unknown:secret", http.StatusUnauthorized},
{"Bearer " + s.id + ":invalid", http.StatusUnauthorized},
{"Bearer " + s.getToken(), http.StatusOK},
}
......@@ -302,3 +303,49 @@ func TestAuthWaitForLogin(t *testing.T) {
}
}
}
func TestAuthDeleteSession(t *testing.T) {
cfg := &Config{}
if err := Init(cfg, nil, nil, nil); err != nil {
t.Fatalf("unexpected error: %v", err)
}
if auth.sessions == nil {
t.Fatalf("authentication should be enabled but Init created no session manager")
}
s, err := NewSession()
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if err = auth.sessions.insert(s); err != nil {
t.Fatalf("unexpected error: %v", err)
}
router := mux.NewRouter()
InstallHTTPHandler(router)
req, err := http.NewRequest("DELETE", "/session", nil)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
rr := httptest.NewRecorder()
router.ServeHTTP(rr, req)
if rr.Code != http.StatusUnauthorized {
t.Fatalf("unexpected reponse code: %d (%s)", rr.Code, http.StatusText(rr.Code))
}
if req, err = http.NewRequest("DELETE", "/session", nil); err != nil {
t.Fatalf("unexpected error: %v", err)
}
req.Header.Set("Authorization", "Bearer "+s.getToken())
rr = httptest.NewRecorder()
router.ServeHTTP(rr, req)
if rr.Code != http.StatusOK {
t.Fatalf("unexpected reponse code: %d (%s)", rr.Code, http.StatusText(rr.Code))
}
if len(auth.sessions.sessions) != 0 {
t.Fatalf("session wasn't removed from session manager")
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment