# 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, 로그/리포트에 미노출.
- 실서버 데이터 변경 없음(읽기 + 미인증 프로브).
