{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":1,"numPassedTests":6,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":6,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1792636554011,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":["소속 경합 (격리 MySQL 두 연결)"],"duration":531,"failureDetails":[],"failureMessages":[],"fullName":"소속 경합 (격리 MySQL 두 연결) 소속 경합: 검사 (FOR UPDATE) 와 소속 변경 사이에 다른 연결이 끼어도 범위 밖 쓰기가 일어나지 않는다","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"status":"passed","title":"소속 경합: 검사 (FOR UPDATE) 와 소속 변경 사이에 다른 연결이 끼어도 범위 밖 쓰기가 일어나지 않는다"},{"ancestorTitles":["소속 경합 (격리 MySQL 두 연결)"],"duration":529,"failureDetails":[],"failureMessages":[],"fullName":"소속 경합 (격리 MySQL 두 연결) 소속 경합 잠금 순서: 같은 순서 (회원 → 기업 → 조직) 로 잠그는 두 번째 쓰기는 첫 트랜잭션이 끝날 때까지 기다리고 교착 없이 끝난다","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"status":"passed","title":"소속 경합 잠금 순서: 같은 순서 (회원 → 기업 → 조직) 로 잠그는 두 번째 쓰기는 첫 트랜잭션이 끝날 때까지 기다리고 교착 없이 끝난다"},{"ancestorTitles":["소속 경합 (격리 MySQL 두 연결)"],"duration":516,"failureDetails":[],"failureMessages":[],"fullName":"소속 경합 (격리 MySQL 두 연결) 소속 경합 담당 재배정: 기업 잠금을 기다리는 사이 담당 영업이 바뀌면 판정은 커밋된 담당을 본다","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"status":"passed","title":"소속 경합 담당 재배정: 기업 잠금을 기다리는 사이 담당 영업이 바뀌면 판정은 커밋된 담당을 본다"},{"ancestorTitles":["소속 경합 (격리 MySQL 두 연결)"],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"소속 경합 (격리 MySQL 두 연결) 소속 경합 음성: 잠금을 빼면 검사와 쓰기 사이에 다른 연결의 변경이 끼어 범위 밖 쓰기가 생긴다","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"status":"passed","title":"소속 경합 음성: 잠금을 빼면 검사와 쓰기 사이에 다른 연결의 변경이 끼어 범위 밖 쓰기가 생긴다"},{"ancestorTitles":["소속 경합 (격리 MySQL 두 연결)"],"duration":524,"failureDetails":[],"failureMessages":[],"fullName":"소속 경합 (격리 MySQL 두 연결) 조직 권한 업로드 담당 변경 경합: 기업 잠금을 기다리는 사이 담당이 바뀌면 조직 배정을 쓰지 않는다","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"status":"passed","title":"조직 권한 업로드 담당 변경 경합: 기업 잠금을 기다리는 사이 담당이 바뀌면 조직 배정을 쓰지 않는다"},{"ancestorTitles":["소속 경합 (격리 MySQL 두 연결)"],"duration":21,"failureDetails":[],"failureMessages":[],"fullName":"소속 경합 (격리 MySQL 두 연결) 조직 권한 업로드 담당 변경 경합 · 반사실: 잠금 제거 시 위반 재현 (범위 밖 회원에 조직이 배정된다)","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"status":"passed","title":"조직 권한 업로드 담당 변경 경합 · 반사실: 잠금 제거 시 위반 재현 (범위 밖 회원에 조직이 배정된다)"}],"endTime":1792636556944,"message":"","name":"/home/madsc/work/insuniverse-temp/.worktrees/admin-rbac/insuniverse-server/apps/api/src/modules/fc/agency/agency-fc.race.itspec.ts","startTime":1792636554143,"status":"passed","summary":""}],"wasInterrupted":false}
