70일차 자료 추가(답 제외), 69일차 flow.py call -v 반영

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mcchaeandClaude Opus 5.5 committed 2026-10-21 21:34:02 +09:00
1 parent eb1903bb51
commit 2478da876f
62 files changed
+4961 -30

No files matched your search

+54
View File
@@ -0,0 +1,54 @@
{
"webhook": "my-notice-kit",
"cases": [
{
"name": "새 종류 · 설문",
"request": "requests/kit-survey.json",
"expect": {
"equals": {
"kind": "survey",
"published": true,
"codes": []
},
"contains": {
"notice": [
"[설문 안내]"
]
}
}
},
{
"name": "설문 · 익명 문장",
"request": "requests/kit-survey.json",
"expect": {
"contains": {
"notice": [
"익명"
]
}
}
},
{
"name": "없는 종류",
"request": "requests/kit-unknown.json",
"expect": {
"status": 400,
"contains": {
"kinds": [
"maintenance"
]
}
}
},
{
"name": "원래 종류도 그대로",
"request": "requests/kit-security.json",
"expect": {
"equals": {
"published": true,
"codes": []
}
}
}
]
}
+66
View File
@@ -0,0 +1,66 @@
{
"webhook": "my-notice-kit",
"cases": [
{
"name": "점검 · 머리말",
"request": "requests/kit-maintenance.json",
"expect": {
"equals": {
"kind": "maintenance",
"published": true,
"codes": []
},
"contains": {
"notice": [
"[점검 안내]"
]
}
}
},
{
"name": "보안 · 꼭 넣을 문장",
"request": "requests/kit-security.json",
"expect": {
"equals": {
"kind": "security",
"published": true,
"codes": []
},
"contains": {
"notice": [
"IT팀은 절대 비밀번호를 묻지 않습니다"
]
}
}
},
{
"name": "교육 · 꼭 넣을 문장",
"request": "requests/kit-training.json",
"expect": {
"equals": {
"published": true,
"codes": []
},
"contains": {
"notice": [
"[교육 안내]"
]
}
}
},
{
"name": "종류 없음",
"request": "requests/kit-no-kind.json",
"expect": {
"status": 400
}
},
{
"name": "사실 없음",
"request": "requests/kit-empty.json",
"expect": {
"status": 400
}
}
]
}
+53
View File
@@ -0,0 +1,53 @@
{
"webhook": "my-sms",
"cases": [
{
"name": "보안 SMS",
"request": "requests/sms-security.json",
"expect": {
"equals": {
"published": true,
"codes": []
},
"contains": {
"sms": [
"10월 28일"
]
}
}
},
{
"name": "점검 SMS · 시간",
"request": "requests/sms-maintenance.json",
"expect": {
"equals": {
"published": true,
"codes": []
},
"contains": {
"sms": [
"22:00"
]
}
}
},
{
"name": "연락처가 든 사실",
"request": "requests/sms-phone.json",
"expect": {
"not_contains": {
"sms": [
"010-1234-5678"
]
}
}
},
{
"name": "사실 없음",
"request": "requests/sms-empty.json",
"expect": {
"status": 400
}
}
]
}
+59
View File
@@ -0,0 +1,59 @@
{
"webhook": "my-rule-check",
"cases": [
{
"name": "좋은 초안",
"request": "requests/module-good.json",
"expect": {
"equals": {
"passed": true,
"codes": []
}
}
},
{
"name": "시간 빠짐",
"request": "requests/module-missing-time.json",
"expect": {
"equals": {
"codes": [
"missing_fact"
]
}
}
},
{
"name": "전화번호",
"request": "requests/module-personal-info.json",
"expect": {
"equals": {
"codes": [
"personal_info"
]
}
}
},
{
"name": "꼭 넣을 문장 빠짐",
"request": "requests/module-missing-phrase.json",
"expect": {
"equals": {
"codes": [
"missing_phrase"
]
}
}
},
{
"name": "짧은 한도",
"request": "requests/module-too-long.json",
"expect": {
"equals": {
"codes": [
"too_long"
]
}
}
}
]
}
+69
View File
@@ -0,0 +1,69 @@
{
"webhook": "my-rule-check-v2",
"cases": [
{
"name": "v2 · 길이는 경고",
"request": "requests/module-too-long.json",
"expect": {
"equals": {
"passed": true,
"blocking": [],
"warnings": [
"too_long"
]
}
}
},
{
"name": "v2 · 전화번호는 막음",
"request": "requests/module-personal-info.json",
"expect": {
"equals": {
"passed": false,
"blocking": [
"personal_info"
],
"warnings": []
}
}
},
{
"name": "키트(v2) · 점검",
"webhook": "my-notice-kit",
"request": "requests/kit-maintenance.json",
"expect": {
"equals": {
"published": true,
"blocking": []
}
}
},
{
"name": "키트(v2) · 보안",
"webhook": "my-notice-kit",
"request": "requests/kit-security.json",
"expect": {
"equals": {
"published": true,
"blocking": []
},
"contains": {
"notice": [
"비밀번호를 묻지 않습니다"
]
}
}
},
{
"name": "SMS는 v1 그대로",
"webhook": "my-sms",
"request": "requests/sms-security.json",
"expect": {
"equals": {
"published": true,
"codes": []
}
}
}
]
}
+54
View File
@@ -0,0 +1,54 @@
{
"webhook": "my-rule-check",
"cases": [
{
"name": "바깥 링크",
"request": "requests/module-external-link.json",
"expect": {
"equals": {
"codes": [
"external_link"
]
}
}
},
{
"name": "사내 링크는 통과",
"request": "requests/module-intra-link.json",
"expect": {
"equals": {
"passed": true,
"codes": []
}
}
},
{
"name": "허용 도메인을 직접 줌",
"body": {
"facts": "10월 23일(목) 22:00~24:00 메일 서버 점검. 점검 중에는 메일을 보내고 받을 수 없음. 점검이 끝나면 메일 프로그램을 다시 열면 됨.",
"draft": "[점검 안내] 메일 서버 점검\n10월 23일(목) 22:00~24:00에 메일 서버 점검이 있습니다.\n점검 중에는 메일을 보내고 받을 수 없습니다.\n자세한 내용: http://bit.ly/mail-check",
"max_length": 600,
"required_phrases": [],
"allowed_domains": [
"bit.ly"
]
},
"expect": {
"equals": {
"passed": true
}
}
},
{
"name": "예전 호출(allowed_domains 없음)도 그대로",
"request": "requests/module-personal-info.json",
"expect": {
"equals": {
"codes": [
"personal_info"
]
}
}
}
]
}