func TestAuthenticateTokenValidated(t *testing.T) { tokenRegistry := &test.AccessTokenRegistry{ Err: nil, AccessToken: &oapi.OAuthAccessToken{ ObjectMeta: kapi.ObjectMeta{CreationTimestamp: util.Time{time.Now()}}, ExpiresIn: 600, // 10 minutes UserName: "******", UserUID: string("bar"), }, } userRegistry := usertest.NewUserRegistry() userRegistry.Get["foo"] = &userapi.User{ObjectMeta: kapi.ObjectMeta{UID: "bar"}} tokenAuthenticator := NewTokenAuthenticator(tokenRegistry, userRegistry) userInfo, found, err := tokenAuthenticator.AuthenticateToken("token") if !found { t.Error("Did not find a token!") } if err != nil { t.Errorf("Unexpected error: %v", err) } if userInfo == nil { t.Error("Did not get a user!") } }
func TestAuthenticateTokenOtherGetError(t *testing.T) { tokenRegistry := &test.AccessTokenRegistry{Err: errors.New("get error")} userRegistry := usertest.NewUserRegistry() tokenAuthenticator := NewTokenAuthenticator(tokenRegistry, userRegistry) userInfo, found, err := tokenAuthenticator.AuthenticateToken("token") if found { t.Error("Found token, but it should be missing!") } if err == nil { t.Error("Expected error is missing!") } if err.Error() != tokenRegistry.Err.Error() { t.Errorf("Expected error %v, but got error %v", tokenRegistry.Err, err) } if userInfo != nil { t.Errorf("Unexpected user: %v", userInfo) } }
func TestAuthenticateTokenNotFound(t *testing.T) { tokenRegistry := &test.AccessTokenRegistry{Err: apierrs.NewNotFound("AccessToken", "token")} userRegistry := usertest.NewUserRegistry() tokenAuthenticator := NewTokenAuthenticator(tokenRegistry, userRegistry) userInfo, found, err := tokenAuthenticator.AuthenticateToken("token") if found { t.Error("Found token, but it should be missing!") } if err == nil { t.Error("Expected not found error") } if !apierrs.IsNotFound(err) { t.Error("Expected not found error") } if userInfo != nil { t.Errorf("Unexpected user: %v", userInfo) } }
func TestAuthenticateTokenExpired(t *testing.T) { tokenRegistry := &test.AccessTokenRegistry{ Err: nil, AccessToken: &oapi.OAuthAccessToken{ ObjectMeta: kapi.ObjectMeta{CreationTimestamp: util.Time{time.Now().Add(-1 * time.Hour)}}, ExpiresIn: 600, // 10 minutes }, } userRegistry := usertest.NewUserRegistry() tokenAuthenticator := NewTokenAuthenticator(tokenRegistry, userRegistry) userInfo, found, err := tokenAuthenticator.AuthenticateToken("token") if found { t.Error("Found token, but it should be missing!") } if err != ErrExpired { t.Errorf("Unexpected error: %v", err) } if userInfo != nil { t.Errorf("Unexpected user: %v", userInfo) } }