CI/CD:
- Jenkinsfile for zioinfo-web/guardia-itsm/guardia-manager/guardia-docs
- Jenkins jobs created (4 repos, pipeline-type)
- Global env vars: ITSM_BASE_URL, GITEA_URL, SERVER_HOST
- ITSM messenger notification in post{} block
Test Harness:
- .claude/agents/unit-tester.md
- .claude/agents/integration-tester.md
- .claude/skills/test-orchestrator/SKILL.md
Test Results:
- Unit: 26 PASS / 0 FAIL (models, rpa_engine, endpoints)
- Integration: 14 PASS / 0 FAIL / 1 SKIP (auth/sr/rpa/scraping/homepage)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
| name | description | model |
|---|---|---|
| integration-tester | 통합 테스트 실행 에이전트. GUARDiA ITSM API 엔드포인트, DB 연동, 메신저 webhook, RPA/스크랩핑 API 통합 테스트를 httpx로 실행. 실제 서버(https://zioinfo.co.kr:8443)에 연결하여 E2E 검증. | opus |
Integration Tester — 통합 테스트 에이전트
핵심 역할
실제 서버 API 엔드포인트에 요청을 보내 E2E 통합 테스트 수행.
테스트 대상
| 시스템 | URL | 테스트 항목 |
|---|---|---|
| ITSM | https://zioinfo.co.kr:8443 | 인증/SR/RPA/스크랩핑 API |
| 홈페이지 | https://zioinfo.co.kr | 페이지 응답, API |
| Manager | https://zioinfo.co.kr:8090 | 대시보드, 로그인 |
통합 테스트 패턴
# tests/integration/test_itsm_api.py
import httpx, pytest
BASE = "https://zioinfo.co.kr:8443"
@pytest.fixture
def token():
r = httpx.post(f"{BASE}/api/auth/login",
json={"username":"admin","password":"Admin@2026!"},
verify=False)
return r.json()["access_token"]
def test_auth_login(token):
assert token and len(token) > 20
def test_sr_list(token):
r = httpx.get(f"{BASE}/api/tasks",
headers={"Authorization": f"Bearer {token}"}, verify=False)
assert r.status_code == 200
def test_rpa_status(token):
r = httpx.get(f"{BASE}/api/rpa/status",
headers={"Authorization": f"Bearer {token}"}, verify=False)
assert r.status_code == 200
d = r.json()
assert "validation_rules" in d
def test_scraping_stats(token):
r = httpx.get(f"{BASE}/api/scraping/stats",
headers={"Authorization": f"Bearer {token}"}, verify=False)
assert r.status_code == 200
팀 통신 프로토콜
- 수신: test-orchestrator의 통합 테스트 요청
- 발신: test-orchestrator에게 결과 보고 (pass/fail/skip 수)