test: 集成测试改用真 LLDAP 容器;修复两处物化缺陷
- 集成测试重构:syncer e2e/materialize、ldaplib 读路径、lldapgql 全改用本地 LLDAP 容器(LDAP 3890 / GraphQL /api/graphql 17170),删旧 OpenLDAP 断言 - 修复 1:ActiveUsers 不填 DepartmentIDs(存于关系表),BuildFromMirror 拿到空成员; 新增 ActiveUsersWithDepts,物化 plan 用之 - 修复 2:deleted 用户重新可见后不回 active,无法重建;RevertToActive 纳入 deleted, 快照 reconcile 对其置回 active + 作废 token - 关键安全回归单测保留并配变异验证:未确认不删、非受管不删、admin 永不移出、 删除最后阶段、绝不碰密码。全量单测+vet+集成全绿
This commit is contained in:
@@ -175,11 +175,11 @@ func TestStateMachine(t *testing.T) {
|
||||
if err := st.ToPendingConfirm("alice"); err == nil {
|
||||
t.Errorf("deleted 状态的用户应无法转 pending_confirm,却成功了")
|
||||
}
|
||||
// deleted 后 revert 不应生效(已物理删除,不能回退,交给「重建」处理)。
|
||||
// 已删除用户重新在飞书可见:revert 置回 active(重新入职/重建)。
|
||||
if err := st.RevertToActive("alice"); err != nil {
|
||||
t.Fatalf("RevertToActive 不应报错: %v", err)
|
||||
}
|
||||
assertState(t, st, "alice", StateDeleted)
|
||||
assertState(t, st, "alice", StateActive)
|
||||
|
||||
// 双确认流程内可回退(重新入职)。
|
||||
if err := st.ReplaceMirror(&MirrorSnapshot{
|
||||
|
||||
Reference in New Issue
Block a user