ts-jest[config] (WARN) The "ts-jest" config option "isolatedModules" is deprecated and will be removed in v30.0.0. Please use "isolatedModules: true" in /home/madsc/work/insuniverse-temp/.worktrees/admin-rbac/insuniverse-server/tsconfig.json instead, see https://www.typescriptlang.org/tsconfig/#isolatedModules console.log MOK Key 파일 경로가 잘 못 되었습니다. at mobileok_Key_Manager.keyInit (libs/utils/mok_Key_Manager_v1.0.3.js:1:1273) at Function.from () console.log MOK Key 파일 또는 MOK Key 파일 비밀번호가 잘 못 되었습니다. at mobileok_Key_Manager.keyInit (libs/utils/mok_Key_Manager_v1.0.3.js:1:1804) at Function.from () {"level":30,"time":1793870642902,"reqId":"e566766e-da93-4ba7-9c92-e8199852dde7","request":{"id":"e566766e-da93-4ba7-9c92-e8199852dde7","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":33,"msg":"request completed"} {"level":30,"time":1793870642919,"reqId":"0fd9925d-357c-4b8c-bbc0-36be0d6d9e44","request":{"id":"0fd9925d-357c-4b8c-bbc0-36be0d6d9e44","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":11,"msg":"request completed"} {"level":30,"time":1793870642930,"reqId":"84a52c7f-2426-4343-a345-7c1d2d780ea8","request":{"id":"84a52c7f-2426-4343-a345-7c1d2d780ea8","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":9,"msg":"request completed"} {"level":30,"time":1793870642941,"reqId":"efcde7e8-a01a-4a61-a9a1-a5f225bb979c","request":{"id":"efcde7e8-a01a-4a61-a9a1-a5f225bb979c","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":10,"msg":"request completed"} {"level":30,"time":1793870642955,"reqId":"2a8065cc-c67c-4207-a901-1f7ab8c8e56e","request":{"id":"2a8065cc-c67c-4207-a901-1f7ab8c8e56e","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":13,"msg":"request completed"} {"level":30,"time":1793870642964,"reqId":"25b10afe-1f71-4699-aec9-8b766c00648e","request":{"id":"25b10afe-1f71-4699-aec9-8b766c00648e","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":7,"msg":"request completed"} {"level":30,"time":1793870642972,"reqId":"04a25151-2bcc-43bd-9df2-0240b08d323b","request":{"id":"04a25151-2bcc-43bd-9df2-0240b08d323b","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":6,"msg":"request completed"} {"level":30,"time":1793870642979,"reqId":"91e27fa3-dd7b-481d-a3d0-339596292626","request":{"id":"91e27fa3-dd7b-481d-a3d0-339596292626","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":5,"msg":"request completed"} {"level":30,"time":1793870642985,"reqId":"3ce91b06-6ff8-4b3f-9ba2-8e8eb8b7b9b1","request":{"id":"3ce91b06-6ff8-4b3f-9ba2-8e8eb8b7b9b1","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":5,"msg":"request completed"} {"level":30,"time":1793870642991,"reqId":"c3344277-b385-42d7-adb1-08537e8068e2","request":{"id":"c3344277-b385-42d7-adb1-08537e8068e2","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":5,"msg":"request completed"} {"level":30,"time":1793870643067,"reqId":"4f880119-6417-4ccb-be85-360125a6edbc","request":{"id":"4f880119-6417-4ccb-be85-360125a6edbc","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":75,"msg":"request completed"} {"level":30,"time":1793870643079,"reqId":"879733c0-680a-4947-a11b-7e7a58005bef","request":{"id":"879733c0-680a-4947-a11b-7e7a58005bef","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":10,"msg":"request completed"} {"level":30,"time":1793870643086,"reqId":"56fd52a8-22ea-4151-93ba-8ef7464315a1","request":{"id":"56fd52a8-22ea-4151-93ba-8ef7464315a1","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":6,"msg":"request completed"} {"level":30,"time":1793870643095,"reqId":"4918d85a-f432-473a-be6f-22786abc1b8a","request":{"id":"4918d85a-f432-473a-be6f-22786abc1b8a","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":8,"msg":"request completed"} {"level":30,"time":1793870643105,"reqId":"4ca78234-0111-4802-a558-3d9cf239246d","request":{"id":"4ca78234-0111-4802-a558-3d9cf239246d","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":8,"msg":"request completed"} {"level":30,"time":1793870643119,"reqId":"e8778cea-bf07-4c17-b6ad-85cbb6c8aaed","request":{"id":"e8778cea-bf07-4c17-b6ad-85cbb6c8aaed","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":13,"msg":"request completed"} {"level":30,"time":1793870643126,"reqId":"bb715832-3360-426a-ab09-ba78bccc7cc2","request":{"id":"bb715832-3360-426a-ab09-ba78bccc7cc2","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":6,"msg":"request completed"} {"level":30,"time":1793870643132,"reqId":"ca657159-c7f6-4781-9e34-41e8300cf07c","request":{"id":"ca657159-c7f6-4781-9e34-41e8300cf07c","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":5,"msg":"request completed"} {"level":30,"time":1793870643138,"reqId":"14cc8aec-e6dc-4fa4-a19e-8ca005ab3b2c","request":{"id":"14cc8aec-e6dc-4fa4-a19e-8ca005ab3b2c","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":5,"msg":"request completed"} {"level":30,"time":1793870643145,"reqId":"a4b3a8cf-6e01-403c-9c73-bd2e3bddf12f","request":{"id":"a4b3a8cf-6e01-403c-9c73-bd2e3bddf12f","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":5,"msg":"request completed"} {"level":30,"time":1793870643151,"reqId":"c3a79221-bdf5-432a-999e-88e1bcbfa513","request":{"id":"c3a79221-bdf5-432a-999e-88e1bcbfa513","method":"GET","remoteAddress":"127.0.0.1","remotePort":34892},"response":{"statusCode":200},"responseTime":5,"msg":"request completed"} {"level":30,"time":1793870643178,"reqId":"f57b384e-78b5-47d0-af2d-547e10ea68e5","request":{"id":"f57b384e-78b5-47d0-af2d-547e10ea68e5","method":"GET","remoteAddress":"127.0.0.1","remotePort":34906},"response":{"statusCode":200},"responseTime":26,"msg":"request completed"} FAIL apps/api/src/modules/analyze/analysis-access.mysql.spec.ts (9.465 s) 분석 열람 정책 표 — 실제 AppModule · 실제 MySQL ✕ 4. 가림: 영업 응답 전체에 합성 고객 값이 없고, 기업 응답에는 있다 (321 ms) ○ skipped 1. 정책 표: 신원 × 행 전 칸이 판정 함수와 실제 가드 연쇄에서 표대로다 ○ skipped 1.2 B2C · 고객사 분석은 내부 관리자만 본다 ○ skipped 1.3 분석의 어느 부분까지: 자동차 · 원본 엑셀 · PDF ○ skipped 2. 경로 불변식: 목록 · 판정 · 모든 읽기 경로 · 보조 조회가 같은 답을 낸다 ○ skipped 2.1 노출 변경: 기업 · 조직은 목록에 보이는 행만 바꾼다 3. 상태 변화 ○ skipped 회원을 형제 조직으로 옮기면 다음 요청이 403 이고 목록에서 빠진다 ○ skipped 조직관리자 자격을 풀면 401 이다 ○ skipped 수준 1 로 내리면 상세는 403 E0607 · 목록은 보이고, 수준 0 이면 목록도 403 이다 ○ skipped 삭제 표시하면 403 E0607 이고 목록에서 빠진다 ○ skipped 내부 관리자 계정을 지우고 권한 버전을 올리면 401 이다 5. 자격은 세션 쿠키 하나다 ○ skipped 옛 토큰 발급 경로는 없다 ○ skipped 쿠키가 없으면 옛 경로 전부 401 이다 ○ skipped 옛 토큰만 있으면 헤더든 주소든 거부한다 ○ skipped 범위 밖 쿠키에 남의 토큰을 얹어도 쿠키 판정대로 거부한다 ● 분석 열람 정책 표 — 실제 AppModule · 실제 MySQL › 4. 가림: 영업 응답 전체에 합성 고객 값이 없고, 기업 응답에는 있다 expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 14 - Array [] + Array [ + "/admin/analyze/:oddId/basic: 합성고객이름", + "/admin/analyze/:oddId/basic: 01099990000", + "/admin/analyze/:oddId/basic: 19700102", + "/admin/analyze/:oddId/aggregate: 합성고객이름", + "/admin/analyze/:oddId/aggregate: 01099990000", + "/admin/analyze/:oddId/aggregate: 19700102", + "/admin-view/analyze/:oddId/basic: 합성고객이름", + "/admin-view/analyze/:oddId/basic: 01099990000", + "/admin-view/analyze/:oddId/basic: 19700102", + "/admin-view/analyze/:oddId/aggregate: 합성고객이름", + "/admin-view/analyze/:oddId/aggregate: 01099990000", + "/admin-view/analyze/:oddId/aggregate: 19700102", + ] 722 | if (res.text.includes(v)) leaked.push(`${h.path}: ${v}`); 723 | } > 724 | expect(leaked).toEqual([]); | ^ 725 | const corp = await get('기업관리자(기업1 @2)', `/admin/analyze/2/basic?${QUERY.basic}`); 726 | expect(corp.text).toContain(PII.name); 727 | }, 60000); at Object. (apps/api/src/modules/analyze/analysis-access.mysql.spec.ts:724:20) Test Suites: 1 failed, 1 total Tests: 1 failed, 14 skipped, 15 total Snapshots: 0 total Time: 9.606 s Ran all test suites within paths "apps/api/src/modules/analyze/analysis-access.mysql.spec.ts". Force exiting Jest: Have you considered using `--detectOpenHandles` to detect async operations that kept running after all tests finished?