MockService
The lightweight service for creating a standalone mock, written in pure Kotlin with Netty container.
The service allows getting config file dynamically for runtime generating controllers to handle outside requests.
Default endpoint for uploading file is localhost:8079/config. The path could be changed in application.yml file.
Example of yaml config file:
endpoints:
- request:
uri: "/hello/{}"
method: POST
response:
successCode: 201
headers:
Content-Type: "application/json;charset=utf-8"
Connection: "keep-alive"
Custom-Header: "custom-header"
body: >
[{
"id": 1,
"type": "cat",
"age": 23,
"color": "red",
"name": "Barsic"
}]
delay: 2s
- request:
uri: "/hello/{}/cat"
method: POST
response:
errorCode: 403
errorMessage: Forbidden
delay: 100ms
The service also supports similar config file in json format.
With {} you can specify path variables in URI. Moreover, you can specify return body, headers or status code.
Body is presented as json format or as simple string. If body won't be specified, so server return 200 OK answer.
The service supplies to return custom success codes (by default is 200) or error code with description message.
You have opportunity to set delay in seconds or milliseconds before response will send back.