kintex/tools/test/README.md
zio 95dc76f150 chore: GUARDiA 재사용 패턴 흡수 — 스모크 러너·push·정합/보안/운영 문서
- tools/test/kintex_smoke_test.py: 8021 스모크/회귀 러너(run_full_test 패턴, env-only 시크릿, 비파괴 프로브, CI 게이트)
- scripts/push_kintex.py: push_any_repo 경량 이식(자격증명 env-only)
- docs/GUARDIA_ALIGNMENT.md: 표준 프레임워크 정합 매핑
- docs/SECURITY.md: 보안 불변(외부API·자격증명·워터마크·root 예외)
- docs/OPS_RUNBOOK.md: 헬스체크·재기동·롤백 런북

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 19:54:35 +09:00

40 lines
1.9 KiB
Markdown

# KINTEX 테스트 도구
GUARDiA `scripts/check/run_full_test.py` 패턴을 킨텍스(백엔드 8021)로 경량 이식한 스모크/회귀 러너.
## kintex_smoke_test.py
배포 후 검증·회귀·스모크용. **읽기(GET) + 미인증 로그인 프로브만** 보내며 파괴적 요청은 없다.
검증 항목:
- **배포 게이트**: `GET /health` → 200 + `data.status=UP`
- **인증**: `/api/auth/login` 프로브(라우터 등록) · `/api/auth/workspaces`·`/me`
- **공통·시스템**: `/api/common/menus`·`/api/common/code-groups`·`/api/admin/menus`
- **공통 업무(WISE)**: `/api/work/notices`·`/api/work/stats/worklog`·`/api/work/notifications/unread-count`
- **전시 코어(M2~M5)**: layout·design·utility 라우터 등록
판정: 200/201=OK, 401/403/400/422=라우터 존재·인증필요(정상), 404/501=미등록/미구현(실패).
### 실행 모드
| 모드 | 방법 | 필요 env |
|------|------|----------|
| SSH(기본) | 로컬 PC→서버 SSH→서버 내부 curl | `KINTEX_SSH_HOST`, `KINTEX_SSH_PASSWORD`(또는 `KINTEX_SSH_KEYFILE`) |
| `--local` | 같은 호스트에서 로컬 curl | 없음 |
| `--http` | 도메인 직접 | `KINTEX_BASE`(예 `https://kintex.zioinfo.co.kr`) |
선택 env: `KINTEX_SSH_USER`(기본 root)·`KINTEX_BASE`(기본 `http://127.0.0.1:8021`)·`KINTEX_TEST_EMAIL`/`KINTEX_TEST_PASSWORD`(주어지면 1차 로그인 shape 확인).
```bash
python tools/test/kintex_smoke_test.py # SSH
python tools/test/kintex_smoke_test.py --local # 서버 로컬
KINTEX_BASE=https://kintex.zioinfo.co.kr python tools/test/kintex_smoke_test.py --http
```
결과: `tools/test/_results/latest.json` + 타임스탬프 파일. 종료코드 0=통과, 1=실패(CI 게이트용).
## 보안
- 시크릿 하드코딩 0 — SSH·테스트계정은 env only, 로그/리포트에 미노출.
- 실서버 데이터 변경 없음(읽기 + 미인증 프로브).