72일차 자료 추가(답 제외)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
aaf77d4e18
commit
febde9757c
63 files changed
+12260
No files matched your search
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"cases": [
|
||||
{
|
||||
"name": "FAQ · 접수 시간 따로",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"contains": {
|
||||
"timings": [
|
||||
"faq_ms"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 조회 시간",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"contains": {
|
||||
"timings": [
|
||||
"ticket_ms"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "가장 오래 걸린 단계",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"contains": {
|
||||
"slowest_step": [
|
||||
"classify",
|
||||
"answer",
|
||||
"review"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 현황도 같은 모양",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"contains": {
|
||||
"answer": [
|
||||
"처리 중"
|
||||
],
|
||||
"slowest_step": [
|
||||
"classify",
|
||||
"answer",
|
||||
"review"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"cases": [
|
||||
{
|
||||
"name": "예산 안 (넉넉한 예산)",
|
||||
"body": {
|
||||
"question": "VPN 접속이 자꾸 끊겨요. 어떻게 하나요?",
|
||||
"user": "이준호",
|
||||
"no_cache": true,
|
||||
"budget_ms": 60000
|
||||
},
|
||||
"expect": {
|
||||
"equals": {
|
||||
"over_budget": false,
|
||||
"budget_ms": 60000
|
||||
},
|
||||
"contains": {
|
||||
"llm_ms": [
|
||||
"0",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9"
|
||||
],
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예산 넘음 (0.5초 예산)",
|
||||
"body": {
|
||||
"question": "VPN 접속이 자꾸 끊겨요. 어떻게 하나요?",
|
||||
"user": "이준호",
|
||||
"no_cache": true,
|
||||
"budget_ms": 500
|
||||
},
|
||||
"expect": {
|
||||
"equals": {
|
||||
"over_budget": true,
|
||||
"budget_ms": 500
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예산을 안 주면 3초",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"budget_ms": 3000
|
||||
},
|
||||
"contains": {
|
||||
"llm_ms": [
|
||||
"0",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 현황도 같은 모양",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"budget_ms": 3000,
|
||||
"category": "ticket"
|
||||
},
|
||||
"contains": {
|
||||
"llm_ms": [
|
||||
"0",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9"
|
||||
],
|
||||
"slowest_step": [
|
||||
"classify",
|
||||
"answer",
|
||||
"review"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"cases": [
|
||||
{
|
||||
"name": "VPN FAQ · 단계별 시간",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"route": "자동 답변",
|
||||
"category": "faq"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
],
|
||||
"timings": [
|
||||
"answer_ms"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "VPN FAQ · 전체 시간 · LLM 호출 수",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"contains": {
|
||||
"timings": [
|
||||
"total_ms"
|
||||
],
|
||||
"steps": [
|
||||
"answer"
|
||||
],
|
||||
"llm_calls": [
|
||||
"1",
|
||||
"2",
|
||||
"3"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 현황",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"category": "ticket"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"처리 중"
|
||||
],
|
||||
"timings": [
|
||||
"answer_ms"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "빈 질문",
|
||||
"request": "requests/empty-question.json",
|
||||
"expect": {
|
||||
"status": 400
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"before": [
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"body": {
|
||||
"question": "워밍업: 프린터 출력이 안 돼요",
|
||||
"user": "이준호",
|
||||
"no_cache": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"name": "VPN · LLM 한 번 · 2.5초 안",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"llm_calls": 1,
|
||||
"cached": false
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
},
|
||||
"max_seconds": 2.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "비밀번호 · LLM 한 번",
|
||||
"body": {
|
||||
"question": "비밀번호를 잊어버렸어요. 재설정은 어떻게 하나요?",
|
||||
"user": "한지훈",
|
||||
"no_cache": true
|
||||
},
|
||||
"expect": {
|
||||
"equals": {
|
||||
"llm_calls": 1
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"비밀번호 찾기",
|
||||
"휴대폰"
|
||||
]
|
||||
},
|
||||
"max_seconds": 2.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 현황 · LLM 한 번",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"llm_calls": 1
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"처리 중"
|
||||
]
|
||||
},
|
||||
"max_seconds": 2.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "규칙으로 모르면 분류 + 답 두 번",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"llm_calls": 2
|
||||
}
|
||||
},
|
||||
"body": {
|
||||
"question": "회의실 화면 공유가 안 되는데 누구에게 물어보나요?",
|
||||
"user": "이준호",
|
||||
"no_cache": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "빈 질문은 LLM 없이",
|
||||
"request": "requests/empty-question.json",
|
||||
"expect": {
|
||||
"status": 400,
|
||||
"max_seconds": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/cache-clear",
|
||||
"body": {}
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"name": "처음 묻는 VPN (캐시 없음)",
|
||||
"request": "requests/faq-vpn.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": false
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "다른 말로 묻는 VPN → FAQ 번호 캐시",
|
||||
"body": {
|
||||
"question": "VPN 연결이 계속 끊어지는데요",
|
||||
"user": "최유진"
|
||||
},
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": true,
|
||||
"cache_by": "faq",
|
||||
"llm_calls": 0
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
},
|
||||
"max_seconds": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "같은 말은 질문 캐시",
|
||||
"request": "requests/faq-vpn-again.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": true,
|
||||
"cache_by": "question",
|
||||
"llm_calls": 0
|
||||
},
|
||||
"max_seconds": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "no_cache면 FAQ 번호 캐시도 안 씀",
|
||||
"body": {
|
||||
"question": "VPN 연결이 계속 끊어지는데요",
|
||||
"user": "최유진",
|
||||
"no_cache": true
|
||||
},
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": false
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "다른 FAQ는 따로 (프린터 처음)",
|
||||
"request": "requests/faq-printer.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": false
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"대기열",
|
||||
"전원"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 현황은 캐시 안 함",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": false
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"처리 중"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/cache-clear",
|
||||
"body": {}
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"name": "예제 1 · 프린터 FAQ는 규칙으로",
|
||||
"request": "requests/faq-printer.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"category": "faq"
|
||||
},
|
||||
"contains": {
|
||||
"steps": [
|
||||
"rule"
|
||||
],
|
||||
"answer": [
|
||||
"대기열",
|
||||
"전원"
|
||||
]
|
||||
},
|
||||
"not_contains": {
|
||||
"steps": [
|
||||
"classify"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예제 1 · 접수 번호는 규칙으로",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"category": "ticket"
|
||||
},
|
||||
"contains": {
|
||||
"steps": [
|
||||
"rule"
|
||||
],
|
||||
"answer": [
|
||||
"처리 중"
|
||||
]
|
||||
},
|
||||
"not_contains": {
|
||||
"steps": [
|
||||
"classify"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예제 1 · 없는 접수 번호",
|
||||
"request": "requests/ticket-missing.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"category": "ticket"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"찾지 못",
|
||||
"확인되지",
|
||||
"없습니다",
|
||||
"존재하지"
|
||||
]
|
||||
},
|
||||
"not_contains": {
|
||||
"answer": [
|
||||
"처리 중",
|
||||
"처리 완료",
|
||||
"접수됨",
|
||||
"반려"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예제 1 · 규칙으로 모르면 LLM이 분류",
|
||||
"expect": {
|
||||
"contains": {
|
||||
"steps": [
|
||||
"classify"
|
||||
]
|
||||
}
|
||||
},
|
||||
"body": {
|
||||
"question": "회의실 화면 공유가 안 되는데 누구에게 물어보나요?",
|
||||
"user": "이준호",
|
||||
"no_cache": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예제 2 · 처음 묻는 VPN",
|
||||
"request": "requests/faq-vpn.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": false
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예제 2 · 같은 질문 (띄어쓰기·대소문자 다름)",
|
||||
"request": "requests/faq-vpn-again.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": true,
|
||||
"llm_calls": 0
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
},
|
||||
"max_seconds": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예제 2 · no_cache면 캐시 안 씀",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예제 2 · 접수 현황은 캐시 안 함 (1)",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "예제 2 · 접수 현황은 캐시 안 함 (2)",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"cached": false
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"처리 중"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"webhook": "my-health",
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"name": "평소",
|
||||
"request": "requests/health.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"status": "ok",
|
||||
"checks.llm": true,
|
||||
"checks.faq": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FAQ 오류",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "error"
|
||||
}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"request": "requests/health.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"status": "degraded",
|
||||
"checks.faq": false,
|
||||
"checks.data_api": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FAQ 느림 (8초) · 점검은 빨리 끝남",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "slow",
|
||||
"slow_seconds": 8
|
||||
}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"request": "requests/health.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"status": "degraded",
|
||||
"checks.faq": false
|
||||
},
|
||||
"max_seconds": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "LLM 멈춤",
|
||||
"before": [
|
||||
{
|
||||
"llm": "down"
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"llm": "up"
|
||||
}
|
||||
],
|
||||
"request": "requests/health.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"status": "degraded",
|
||||
"checks.llm": false,
|
||||
"checks.faq": true
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/cache-clear",
|
||||
"body": {}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
},
|
||||
{
|
||||
"url": "http://localhost:8800/cache-clear",
|
||||
"body": {}
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"name": "평소",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"route": "자동 답변"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FAQ 느림 · 처음 한 번은 기다린 뒤 담당자",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "slow",
|
||||
"slow_seconds": 8
|
||||
}
|
||||
}
|
||||
],
|
||||
"body": {
|
||||
"question": "비밀번호를 잊어버렸어요",
|
||||
"user": "한지훈",
|
||||
"no_cache": true
|
||||
},
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "담당자 연결",
|
||||
"reason": "data_api_down"
|
||||
},
|
||||
"max_seconds": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FAQ 느림 · 다음 질문은 기다리지 않음 (차단기 열림)",
|
||||
"body": {
|
||||
"question": "프린터 출력이 안 돼요",
|
||||
"user": "최유진",
|
||||
"no_cache": true
|
||||
},
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "담당자 연결",
|
||||
"reason": "breaker_open"
|
||||
},
|
||||
"max_seconds": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FAQ가 돌아오고 차단기를 비우면 평소대로",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
},
|
||||
{
|
||||
"url": "http://localhost:8800/cache-clear",
|
||||
"body": {}
|
||||
}
|
||||
],
|
||||
"body": {
|
||||
"question": "프린터 출력이 안 돼요",
|
||||
"user": "최유진",
|
||||
"no_cache": true
|
||||
},
|
||||
"expect": {
|
||||
"equals": {
|
||||
"route": "자동 답변"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"대기열",
|
||||
"전원"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/cache-clear",
|
||||
"body": {}
|
||||
},
|
||||
{
|
||||
"llm": "down"
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"llm": "up"
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"name": "VPN · FAQ 원문으로",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "간단 답변"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 현황 · 상태 그대로",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "간단 답변"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"처리 중"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "모르는 질문 · 담당자",
|
||||
"request": "requests/off-topic.json",
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "담당자 연결"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "빈 질문",
|
||||
"request": "requests/empty-question.json",
|
||||
"expect": {
|
||||
"status": 400
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/cache-clear",
|
||||
"body": {}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"name": "평소 접수 현황",
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"route": "자동 답변",
|
||||
"category": "ticket"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"처리 중"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 API 500 · 접수 질문은 담당자",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"tickets": "error"
|
||||
}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"request": "requests/ticket-own.json",
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "담당자 연결",
|
||||
"reason": "tickets_down"
|
||||
},
|
||||
"not_contains": {
|
||||
"answer": [
|
||||
"처리 중",
|
||||
"처리 완료",
|
||||
"접수됨",
|
||||
"반려"
|
||||
]
|
||||
},
|
||||
"max_seconds": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "접수 API 500 · FAQ 질문은 그대로 답",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"tickets": "error"
|
||||
}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "자동 답변",
|
||||
"category": "faq"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"인증서"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "없는 접수 번호는 그대로 (404는 고장이 아님)",
|
||||
"request": "requests/ticket-missing.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"route": "자동 답변",
|
||||
"category": "ticket"
|
||||
},
|
||||
"contains": {
|
||||
"answer": [
|
||||
"찾지 못",
|
||||
"확인되지",
|
||||
"없습니다",
|
||||
"존재하지"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"name": "평소",
|
||||
"request": "requests/faq-vpn-nocache.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"route": "자동 답변"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FAQ가 느릴 때 (8초)",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "slow",
|
||||
"slow_seconds": 8
|
||||
}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"body": {
|
||||
"question": "비밀번호를 잊어버렸어요",
|
||||
"user": "한지훈",
|
||||
"no_cache": true
|
||||
},
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "담당자 연결"
|
||||
},
|
||||
"max_seconds": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FAQ가 오류일 때 (500)",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "error"
|
||||
}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"body": {
|
||||
"question": "비밀번호를 잊어버렸어요",
|
||||
"user": "한지훈",
|
||||
"no_cache": true
|
||||
},
|
||||
"expect": {
|
||||
"status": 200,
|
||||
"equals": {
|
||||
"route": "담당자 연결"
|
||||
},
|
||||
"max_seconds": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "캐시에 있으면 FAQ가 멈춰도 답",
|
||||
"before": [
|
||||
{
|
||||
"url": "http://localhost:8800/cache-clear",
|
||||
"body": {}
|
||||
},
|
||||
{
|
||||
"webhook": "my-helpdesk",
|
||||
"request": "requests/faq-printer.json"
|
||||
},
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "error"
|
||||
}
|
||||
}
|
||||
],
|
||||
"after": [
|
||||
{
|
||||
"url": "http://localhost:8800/admin/fault",
|
||||
"body": {
|
||||
"faq": "ok",
|
||||
"tickets": "ok"
|
||||
}
|
||||
}
|
||||
],
|
||||
"request": "requests/faq-printer.json",
|
||||
"expect": {
|
||||
"equals": {
|
||||
"route": "자동 답변",
|
||||
"cached": true
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user