{ "name": "Auth Login Test", "description": "인증 테스트 (로그인, 토큰 갱신, 로그아웃)", "version": "1.0", "config": { "baseUrl": "", "timeout": 30000, "stopOnFailure": false }, "variables": { "user_id": "{{$env.FLOW_TESTER_USER_ID}}", "user_pwd": "{{$env.FLOW_TESTER_USER_PWD}}" }, "steps": [ { "id": "login", "name": "1. 로그인", "method": "POST", "endpoint": "/api/v1/login", "body": { "user_id": "{{user_id}}", "user_pwd": "{{user_pwd}}" }, "expect": { "status": [200], "jsonPath": { "$.access_token": "@isString", "$.user": "@isObject" } }, "extract": { "token": "$.access_token", "refreshToken": "$.refresh_token", "userId": "$.user.id" } }, { "id": "login_invalid", "name": "2. 잘못된 비밀번호 로그인", "method": "POST", "endpoint": "/api/v1/login", "body": { "user_id": "{{user_id}}", "user_pwd": "wrong_password_123" }, "expect": { "status": [401, 422] }, "continueOnFailure": true }, { "id": "refresh_token", "name": "3. 토큰 갱신", "method": "POST", "endpoint": "/api/v1/refresh", "headers": { "Authorization": "Bearer {{login.token}}" }, "body": { "refresh_token": "{{login.refreshToken}}" }, "expect": { "status": [200], "jsonPath": { "$.access_token": "@isString" } }, "extract": { "newToken": "$.access_token" }, "continueOnFailure": true }, { "id": "logout", "name": "4. 로그아웃", "method": "POST", "endpoint": "/api/v1/logout", "headers": { "Authorization": "Bearer {{login.token}}" }, "expect": { "status": [200, 204] }, "continueOnFailure": true } ] }