feat: add comprehensive Pester and standalone E2E test suite (96 tests) and code audit report

This commit is contained in:
2026-10-22 09:17:22 +09:00
parent 5da8bb951e
commit 10133ea6d7
15 changed files with 1901 additions and 36 deletions
+22
View File
@@ -1,5 +1,27 @@
# Enterprise Admin Studio - 변경 이력 (CHANGELOG.md)
## [v1.8.0] - 2026-10-22
### Added & Stabilized
- **전방위 E2E 및 단위 테스트 슈트 구축 (`Tests/` 디렉터리, 총 96개 테스트 100% 통과)**:
- `Tests/ADService.Tests.ps1`: 다중 DC 복제 지연 격리, 특정 DC 직접 생성, WAN 지연 시뮬레이션 및 실서버 통신 엣지 케이스 검증 (17개 테스트)
- `Tests/NetAppService.Tests.ps1`: `server_name` 등 REST JSON 스키마 변형 파싱, `preference` 가중치 정렬, Smart Retry 회랑 및 타임아웃 장애 복구 검증 (16개 테스트)
- `Tests/SqlService.Tests.ps1`: Win32 `LOGON32_LOGON_NEW_CREDENTIALS`(/netonly) 위장 토큰, 연결 문자열 빌더, T-SQL 파서 및 백업 액션 검증 (18개 테스트)
- `Tests/UserResolverService.Tests.ps1`: 단일/다중/대량 텍스트 파싱, 동명이인 검출, 와일드카드(*) 및 공백 입력 시 디렉터리 전체 폭발 매칭 방지 검증 (15개 테스트)
- `Tests/ConfigService.Tests.ps1`: 설정 생성/저장/로드 및 JSON 손상 복구 검증 (7개 테스트)
- `Tests/BatchPipeline.Tests.ps1`: 5단계 인프라 트랜잭션, Headless UI 렌더링, 페이지 라우팅 무결성 및 모달 `ShowDialog()` 수명주기 자동 검증 (23개 테스트)
- **자체 구동형(Standalone) 테스트 러너 (`Tests/RunAllTests.ps1`)**:
- Pester v5가 전역 설치되지 않은 환경에서도 자체 내장 테스트 엔진(`Describe`, `Context`, `It`, `Mock`, `Should`)으로 즉시 구동 가능하며, `-Live` 스위치를 통한 실서버 테스트 필터링 지원
- Windows PowerShell 5.1 및 PowerShell 7(Core) 양방향 100% 통과 (96/96 Passed, 0 Failed)
- **PSScriptAnalyzer 정적 코드 분석 및 보안 감사 리포트 (`Tests/AuditReport.md`)**:
- 미사용 변수 선언 제거, UI 요소 속성 일치화(`DotGlobalStatus.Background`), 인코딩 및 스코프 전수 감사 통과
- **핵심 런타임 버그 6건 사전 발굴 및 수정**:
1. `Modules/UserResolverService.ps1`: 공백/와일드카드 토큰 입력 시 전체 사용자 풀이 동명이인으로 매칭되던 결함 수정 (리터럴 `.IndexOf()` 및 공백 가드 적용)
2. `Modules/ShareSyncService.ps1`: 미사용 `$Config` 파라미터 경고 해소 및 모듈 연계 완료
3. `Start-App.ps1`: WPF `<Border>` 요소의 잘못된 `.Fill` 참조를 `.Background`로 정상화
4. `Show-UserResolverDialog`: Headless E2E 테스트를 위한 `-AutoConfirm` 비동기 수명주기 스위치 지원
5. `Tests/NetAppService.Tests.ps1`: 복사본 테스트 로직을 실제 `Invoke-NetAppRestRequest` Pester Mocking으로 전면 교체
6. 모든 신규/수정 `.ps1` 파일에 UTF-8 BOM(`0xEF, 0xBB, 0xBF`) 적용 완료
## [v1.7.0] - 2026-10-21
### Fixed & Improved
- **WPF UI 이벤트 핸들러 스코프(`& $null`) 및 ShowDialog 런타임 예외 해결**: