Beispiel #1
0
// 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")
	}
}