Docs: [3.0.0] 전체 문서 업데이트 — YouTube Data API + n8n Discord 전송 구조 반영
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 25m15s
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 25m15s
- README: 아키텍처, 환경변수, API 응답 형식 업데이트 - n8n-setup: RSS → YouTube Data API playlistItems 전환, 노드별 상세 설정 - development: discord.py 제거 반영, API 응답 형식 추가 - operations: CI/CD 자동 배포 설명, DISCORD_WEBHOOK_URL 제거 - testing: DISCORD_WEBHOOK_URL 더미값 제거 - .env.example: DISCORD_WEBHOOK_URL 제거 - tests/test_discord.py 삭제 (모듈 삭제됨) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,25 +10,10 @@ pip install pytest pytest-asyncio
|
||||
|
||||
```bash
|
||||
# 환경변수 더미값 설정 (config.py 로드용)
|
||||
ANTHROPIC_API_KEY=test DISCORD_WEBHOOK_URL=https://test pytest -v
|
||||
ANTHROPIC_API_KEY=test pytest -v
|
||||
```
|
||||
|
||||
## 테스트 구조
|
||||
|
||||
### `tests/test_discord.py`
|
||||
|
||||
Discord 메시지 전송 모듈(`app/discord.py`)에 대한 유닛 테스트.
|
||||
|
||||
| 테스트 | 설명 |
|
||||
|--------|------|
|
||||
| `test_extract_video_id` | 다양한 YouTube URL 형식에서 비디오 ID를 올바르게 추출하는지 확인 (parametrize 5건) |
|
||||
| `test_parse_summary_bold_format` | `**한줄 요약**:` 볼드 형식의 요약 파싱 검증 |
|
||||
| `test_parse_summary_heading_format` | `## 한줄 요약` 헤딩 형식의 요약 파싱 검증 |
|
||||
| `test_parse_summary_empty` | 파싱 불가한 텍스트에 대해 빈 dict 반환 확인 |
|
||||
| `test_send_to_discord_embed_structure` | 임베드에 제목, URL, 썸네일, 필드, 푸터, 타임스탬프가 올바르게 구성되는지 확인 |
|
||||
| `test_send_to_discord_fallback_on_unparsable` | 파싱 실패 시 전체 텍스트가 description에 그대로 들어가는지 확인 |
|
||||
|
||||
## 참고
|
||||
|
||||
- 테스트는 외부 API를 호출하지 않습니다 (`httpx.AsyncClient`를 mock 처리).
|
||||
- `ANTHROPIC_API_KEY`, `DISCORD_WEBHOOK_URL`은 pydantic-settings가 필수로 요구하므로 더미값을 환경변수로 전달해야 합니다.
|
||||
- `ANTHROPIC_API_KEY`는 pydantic-settings가 필수로 요구하므로 더미값을 환경변수로 전달해야 합니다.
|
||||
|
||||
Reference in New Issue
Block a user