// testManagerLogin login the same user by uid 3 times to get 3 different tokens. // Then use them to test the Logout method. func testManagerLogin(t *testing.T, mngr authmodel.Manager, uid string) { token, err := mngr.Login(uid, time.Minute) if err != nil { t.Fatal("cannot login:"******"cannot get logged user:"******"loged user and user returned not the same") } token2, err := mngr.Login(uid, time.Minute) if err != nil { t.Fatal("cannot login:"******"cannot get logged user:"******"loged user and user returned not the same") } token3, err := mngr.Login(uid, time.Minute) if err != nil { t.Fatal("cannot login:"******"cannot get logged user:"******"loged user and user returned not the same") } if token == token2 || token2 == token3 || token == token3 { t.Fatal("token must not be the same") } err = mngr.Logout(token, false) if err != nil { t.Fatal("cannot logout user:"******"logout don't work") } err = mngr.Logout(token2, true) if err != nil { t.Fatal("cannot logout user:"******"logout didn't work") } u, err = mngr.GetUser(token3) if err == nil || u != nil { t.Fatal("logout all user's session didn't work") } }