package auth_test import ( "context" "testing" "chat-agent-system/internal/auth" "chat-agent-system/internal/config" ) func TestMemoryStore_DevEnvSeedsDemoUsers(t *testing.T) { cfg := &config.Config{Env: "dev", AdminPassword: "admin-test-pass-999"} store := auth.NewMemoryStore(cfg) ctx := context.Background() user, err := store.GetUserByUsername(ctx, "zhanggong") if err != nil { t.Fatalf("expected zhanggong in dev env: %v", err) } if user.RoleID != "role-tech-lead" { t.Fatalf("unexpected role: %s", user.RoleID) } } func TestMemoryStore_MainEnvNoSeedUsers(t *testing.T) { cfg := &config.Config{ Env: "main", AdminPassword: "secure-main-admin-pass-xyz", } store := auth.NewMemoryStore(cfg) ctx := context.Background() if _, err := store.GetUserByUsername(ctx, "zhanggong"); err == nil { t.Fatal("main env must not seed zhanggong demo user") } if _, err := store.GetUserByUsername(ctx, "guest"); err == nil { t.Fatal("main env must not seed guest demo user") } admin, err := store.GetUserByUsername(ctx, cfg.AdminUsername) if err != nil && cfg.AdminUsername == "" { admin, err = store.GetUserByUsername(ctx, "admin") } if err != nil { t.Fatalf("admin account should still exist: %v", err) } if admin.RoleID != "role-admin" { t.Fatalf("expected role-admin, got %s", admin.RoleID) } }