{ "name": "Auth API Flow Test", "description": "인증 API 전체 플로우 테스트 - 로그인, 프로필 조회, 토큰 갱신, 로그아웃", "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": "1. 로그인", "description": "access_token, refresh_token 획득", "method": "POST", "endpoint": "/login", "body": { "user_id": "{{user_id}}", "user_pwd": "{{user_pwd}}" }, "expect": { "status": [200], "jsonPath": { "$.access_token": "@isString", "$.refresh_token": "@isString" } }, "extract": { "access_token": "$.access_token", "refresh_token": "$.refresh_token" } }, { "id": "get_profile", "name": "2. 프로필 조회", "description": "access_token으로 현재 사용자 정보 조회", "method": "GET", "endpoint": "/users/me", "headers": { "Authorization": "Bearer {{login.access_token}}" }, "expect": { "status": [200], "jsonPath": { "$.success": true, "$.data.id": "@isNumber" } }, "extract": { "user_id": "$.data.id", "user_name": "$.data.name" } }, { "id": "refresh_token", "name": "3. 토큰 갱신", "description": "refresh_token으로 새 access_token 발급", "method": "POST", "endpoint": "/refresh", "body": { "refresh_token": "{{login.refresh_token}}" }, "expect": { "status": [200], "jsonPath": { "$.access_token": "@isString" } }, "extract": { "new_access_token": "$.access_token" } }, { "id": "verify_new_token", "name": "4. 새 토큰으로 프로필 조회", "description": "갱신된 토큰으로 API 호출 가능 확인", "method": "GET", "endpoint": "/users/me", "headers": { "Authorization": "Bearer {{refresh_token.new_access_token}}" }, "expect": { "status": [200], "jsonPath": { "$.success": true } } }, { "id": "logout", "name": "5. 로그아웃", "description": "새 access_token으로 로그아웃", "method": "POST", "endpoint": "/logout", "headers": { "Authorization": "Bearer {{refresh_token.new_access_token}}" }, "expect": { "status": [200], "jsonPath": { "$.success": true } } }, { "id": "verify_logout", "name": "6. 로그아웃 확인", "description": "로그아웃 후 토큰 무효화 확인", "method": "GET", "endpoint": "/users/me", "headers": { "Authorization": "Bearer {{refresh_token.new_access_token}}" }, "expect": { "status": [401] }, "continueOnFailure": true } ] }