Smail/backend/session/user_test.go
smail f60d3b0880
Some checks are pending
Security Checks / security (push) Waiting to run
整理前后端与测试构建目录并完善配置和安全引导
统一 frontend、backend、test、test-log 和 out 目录,更新构建、部署及测试入口;纳入配置管理兼容与首次安全引导修复;排除本机配置、密钥和测试产物。
2026-09-05 19:19:52 +08:00

32 lines
904 B
Go

package session
import (
"context"
"testing"
"git.pcux.cn/xuans/Smail/models"
"github.com/alexedwards/scs/v2"
)
func TestUserIdentityRoundTrip(t *testing.T) {
oldInstance := Instance
Instance = scs.New()
t.Cleanup(func() { Instance = oldInstance })
loaded, err := Instance.Load(context.Background(), "")
if err != nil {
t.Fatal(err)
}
user := &models.User{ID: 7, Account: "admin", Name: "Admin", IsAdmin: 1, SessionVersion: 4, SecurityVersion: 3, MustChangePassword: 1}
if err := PutUser(loaded, user); err != nil {
t.Fatal(err)
}
identity, err := GetUser(loaded)
if err != nil {
t.Fatal(err)
}
if identity.ID != user.ID || identity.Account != user.Account || identity.Name != user.Name || identity.IsAdmin != 1 || identity.SessionVersion != 4 || identity.SecurityVersion != 3 || identity.MustChangePassword != 1 {
t.Fatalf("unexpected session identity: %+v", identity)
}
}