**task-1671.1 완료 보고** (dev4-team) **완료 보고서: youtubeWhisper 테스트 수정 — GPU Whisper 기준 현행화** (6분 33초) **핵심 결과** `OPENAI_API_KEY` 참조를 전수 제거하고, `vi.resetModules()` + 미사용 포트(19999)로 재import하는 방식으로 테스트를 수정하여 27개 전체 통과(223ms, 0 실패). 수정된 테스트는 ECONNREFUSED를 13ms 내에 수신하여 타임아웃 없이 완료된다. ## 수정 내용 ### 변경 파일 - `/home/jay/projects/insuwiki/functions/src/__tests__/youtubeWhisper.test.ts` ### 변경 사항 1. **import 추가**: `vi`를 vitest import에 추가 (`vi.resetModules()` 사용 위해) 2. **line 101-115 테스트 수정**: - 테스트 이름: `'OPENAI_API_KEY 없을 때 null 반환'` → `'GPU Whisper 서비스 미실행 시 null 반환'` - `OPENAI_API_KEY` 환경변수 조작 코드 전면 제거 - `vi.resetModules()`로 모듈 캐시 초기화 후 `LOCAL_WHISPER_URL=http://localhost:19999`로 설정하여 재import - ECONNREFUSED → null 반환 검증 - Vitest 4 문법 준수: `test(name, { timeout: 10000 }, fn)` 형식 사용 3. **OPENAI 참조 전수 제거**: 테스트 파일 내 OPENAI 참조 0건 확인 완료 ## 테스트 결과 - **vitest**: 27 passed, 0 failed (223ms) - **GPU W **발견/해결 이슈 4건** 1. **Vitest 4 문법 호환성** — `test(name, fn, options)` 문법이 Vitest 4에서 제거됨. `test(name, options, fn)` 형식으로 수정 2. **모듈 캐시 이슈** — `LOCAL_WHISPER_URL`이 모듈 로드 시 캡처되어 런타임 env var 변경이 반영 안 됨. `vi.resetModules()`로 모듈 캐시 초기화 후 재import으로 해결 3. **GPU Whisper 서비스 실행 중 충돌** — port 8200에 실제 서비스 실행 중이어서 기본 포트 테스트 시 응답 대기로 타임아웃. 미사용 포트 19999로 우회하여 즉시 ECONNREFUSED 수신 4. **`crawlYoutubeChannels.ts` line 632에 `OPENAI_API_KEY` secrets 참조 잔존** — 미해결: 범위 외 사유: Cloud Functions 배포 설정이므로 별도 태스크로 정리 필요. 실제 런타임 코드에서는 미사용.