{ "name": "계정 관리 플로우", "description": "이용 약관 조회/동의 → 계정 일시 정지 → 회원 탈퇴 플로우 테스트", "version": "1.0", "config": { "baseUrl": "", "timeout": 30000, "stopOnFailure": true }, "variables": { "user_id": "{{$env.FLOW_TESTER_USER_ID}}", "user_pwd": "{{$env.FLOW_TESTER_USER_PWD}}" }, "steps": [ { "id": "login", "name": "로그인", "method": "POST", "endpoint": "/api/v1/login", "body": { "user_id": "{{user_id}}", "user_pwd": "{{user_pwd}}" }, "expect": { "status": [200], "jsonPath": { "$.access_token": "@isString" } }, "extract": { "token": "$.access_token" } }, { "id": "get_agreements", "name": "이용 약관 목록 조회", "method": "GET", "endpoint": "/api/v1/account/agreements", "headers": { "Authorization": "Bearer {{login.token}}" }, "expect": { "status": [200], "jsonPath": { "$.success": true } }, "extract": { "agreements": "$.data" } }, { "id": "update_agreements", "name": "이용 약관 동의 상태 수정", "method": "PUT", "endpoint": "/api/v1/account/agreements", "headers": { "Authorization": "Bearer {{login.token}}" }, "body": { "agreements": [ { "type": "terms", "agreed": true }, { "type": "privacy", "agreed": true }, { "type": "marketing", "agreed": false } ] }, "expect": { "status": [200], "jsonPath": { "$.success": true } } }, { "id": "verify_agreements", "name": "약관 동의 상태 확인", "method": "GET", "endpoint": "/api/v1/account/agreements", "headers": { "Authorization": "Bearer {{login.token}}" }, "expect": { "status": [200], "jsonPath": { "$.success": true } } }, { "id": "suspend_account", "name": "계정 일시 정지", "description": "계정을 일시 정지 상태로 변경", "method": "POST", "endpoint": "/api/v1/account/suspend", "headers": { "Authorization": "Bearer {{login.token}}" }, "body": { "reason": "테스트용 일시 정지", "duration_days": 30 }, "expect": { "status": [200], "jsonPath": { "$.success": true } }, "continueOnFailure": true }, { "id": "withdraw_account", "name": "회원 탈퇴 (테스트 스킵)", "description": "회원 탈퇴 API - 실제 실행 시 계정 삭제됨 (주의)", "method": "POST", "endpoint": "/api/v1/account/withdraw", "headers": { "Authorization": "Bearer {{login.token}}" }, "body": { "reason": "서비스 불만족", "feedback": "테스트용 피드백입니다" }, "expect": { "status": [200, 400, 422], "jsonPath": { "$.success": "@isBoolean" } }, "continueOnFailure": true, "skip": true, "skipReason": "실제 탈퇴 실행 방지 - 수동 테스트 필요" } ] }