Files
weichenandCursor 016c3a9791 test(docs): Phase 1 completion gates, PG integration tests, and report
Add disabled-user 401, admin roles/sessions handler tests, optional PG store
integration, cross-project 403 fixture, and update the Phase 1 test report to
reflect completion status.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 02:50:22 +00:00

33 lines
888 B
Go

package auth_test
import (
"context"
"testing"
"chat-agent-system/internal/auth"
"chat-agent-system/internal/config"
)
func TestService_DisabledUserRevokesSession(t *testing.T) {
cfg := &config.Config{Env: "dev", AdminUsername: "admin", AdminPassword: "admin123"}
store := auth.NewMemoryStore(cfg)
sessions := auth.NewMemorySessionStore()
svc := auth.NewService(store, sessions, cfg)
ctx := context.Background()
sess, err := svc.Login(ctx, "zhanggong", "123456")
if err != nil {
t.Fatalf("login: %v", err)
}
if _, err := svc.GetUserByToken(ctx, sess.Token); err != nil {
t.Fatalf("token should work before disable: %v", err)
}
if _, err := svc.UpdateUserStatus(ctx, 2, auth.StatusDisabled); err != nil {
t.Fatalf("disable: %v", err)
}
if _, err := svc.GetUserByToken(ctx, sess.Token); err == nil {
t.Fatal("expected disabled user token to be rejected")
}
}