|
package common |
|
|
|
import ( |
|
"fmt" |
|
"net/http" |
|
|
|
"github.com/GoAdminGroup/go-admin/modules/auth" |
|
"github.com/GoAdminGroup/go-admin/modules/config" |
|
"github.com/gavv/httpexpect" |
|
) |
|
|
|
func authTest(e *httpexpect.Expect) *http.Cookie { |
|
|
|
printlnWithColor("Auth", "blue") |
|
fmt.Println("============================") |
|
|
|
|
|
|
|
printlnWithColor("login: show", "green") |
|
e.GET(config.Url(config.GetLoginUrl())).Expect().Status(200) |
|
printlnWithColor("login: empty password", "green") |
|
e.POST(config.Url("/signin")).WithJSON(map[string]string{ |
|
"username": "admin", |
|
"password": "", |
|
}).Expect().Status(400) |
|
|
|
|
|
|
|
printlnWithColor("login", "green") |
|
sesID := e.POST(config.Url("/signin")).WithForm(map[string]string{ |
|
"username": "admin", |
|
"password": "admin", |
|
}).Expect().Status(200).Cookie(auth.DefaultCookieKey).Raw() |
|
|
|
|
|
|
|
printlnWithColor("logout: without login", "green") |
|
e.GET(config.Url("/logout")).Expect(). |
|
Status(200) |
|
|
|
|
|
|
|
printlnWithColor("logout", "green") |
|
e.GET(config.Url("/logout")).WithCookie(auth.DefaultCookieKey, sesID.Value).Expect(). |
|
Status(200) |
|
|
|
|
|
|
|
printlnWithColor("login again", "green") |
|
cookie1 := e.POST(config.Url("/signin")).WithForm(map[string]string{ |
|
"username": "admin", |
|
"password": "admin", |
|
}).Expect().Status(200).Cookie(auth.DefaultCookieKey).Raw() |
|
|
|
printlnWithColor("login again:restrict users from logging in at the same time", "green") |
|
cookie2 := e.POST(config.Url("/signin")).WithForm(map[string]string{ |
|
"username": "admin", |
|
"password": "admin", |
|
}).Expect().Status(200).Cookie(auth.DefaultCookieKey).Raw() |
|
|
|
|
|
|
|
printlnWithColor("cookie failure", "green") |
|
e.GET(config.Url("/")). |
|
WithCookie(auth.DefaultCookieKey, cookie1.Value).Expect(). |
|
Status(200). |
|
Body().Contains("login") |
|
|
|
printlnWithColor("login success", "green") |
|
e.GET(config.Url("/")). |
|
WithCookie(auth.DefaultCookieKey, cookie2.Value).Expect(). |
|
Status(200). |
|
Body().Contains("Dashboard") |
|
|
|
return cookie2 |
|
|
|
} |
|
|