스터디
wiremock. stateful-behaviour
동쪽바다
2020. 8. 4. 17:56
외부 api를 호출할때 응답값이 변경되는 경우가 있는데
wiremock에서도 동일하게 동작하게 구현할 수 있다.
예시)
첫번째 요청
- 요청: /exam/state
- 응답: { state: "NONE" }
이후에 상태값이 변경되어
두번째 요청
- 요청: /exam/state
- 응답: { state: "COMPLETE" }
첫번째 요청(시작상태)은 항상 "requiredScenarioState": "Started" 로 설정되어있어야 한다.
-> 이부분에서 아무리 세팅을해도 호출이 안되어 서칭을 해보니 첫번째 상태에도 "newScenarioState"을 설정하라는 이야기가 있어서 설정해보니 잘 나온다. (https://stackoverflow.com/questions/49474957/how-change-state-in-get-method-with-wiremock)
mappings폴더아래 json파일 생성.
step1.json
{
"scenarioName": "Step",
"requiredScenarioState": "Started",
"newScenarioState": "StepOne",
"request": {
"url": "/exam/state",
"method": "GET",
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json"
},
"jsonBody": {
"state": "NONE"
}
}
}
step2.json
{
"scenarioName": "Step",
"requiredScenarioState": "Started",
"newScenarioState": "StepOne",
"request": {
"url": "/exam/state",
"method": "GET",
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json"
},
"jsonBody": {
"state": "NONE"
}
}
}
TODO :: 샘플코드 github 올리기