
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
github.com/smeshkov/go-mock-server
Light weight mock server written in Go.
Supported features:
For MacOS:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/smeshkov/gomock/master/_bin/install.sh)"
For Linux:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/smeshkov/gomock/master/_bin/install.sh)" linux
For Windows:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/smeshkov/gomock/master/_bin/install.sh)" windows
Create JSON file with your mocks and start mock server by running gomock -mock /path/to/your/mock.json
.
mock.json
defines mocks - handlers which will serve provided mocks.
Use gomock --help
for more information.
mock.json
example:
{
"port": 8080,
"endpoints": [
{
"methods": [ "GET" ],
"status": 200,
"path": "/users",
"jsonPath": "./users.json"
},
{
"path": "/user/1",
"json": {
"id": 1,
"name": "name",
"address": "address"
},
"allowCors": [ "example.com" ]
},
{
"methods": ["POST"],
"path": "/error",
"delay": 100,
"status": 400,
"json": {
"message": "failed"
}
},
{
"methods": [ "POST" ],
"path": "/api/*",
"delay": 200,
"url": "http://localhost:8090"
}
]
}
Mock JSON configuration properties:
port
- optional (defaults to 8080);endpoints
- an array of endpoints to configure;Endpoint object in endpoints
list:
methods
- list of allowed methods, optional defaults to "GET";path
- URL path to the mocked endpoint, if not set, then defaults to catch all;delay
- delay in milliseconds on the server side;status
- HTTP response status code, optional defaults to 200;json
- one way of defining response payload, will output given JSON;jsonPath
- another way of defining response payload, will read file from the given path (can be relative to the root mock JSON file) and write its contents to response;proxy
- proxies requests to the given address;static
- serves static files;errors
- helps to setup sampled errors, with the randomised error codes;allowCors
- list of allowed domains for CORS;dynamic
- allows to configure dynamic read/write behaviour, i.e. values can be stored and retrieved from the inetrnal store.mock.json
is the default name for a mock configuration file, it can be renamed and set via -mock
option, e.g. ./gomock -mock api.json
You can store and retrieve values in your mocks by using dynamic
property.
For writes use dynamic.write.json
:
{
"port": 8080,
"endpoints": [
{
"methods": [ "POST" ],
"path": "/note",
"dynamic": {
"write": {
"json": {
"name": "note",
"key": "/id", // path to an entity's key inside the incoming request JSON from the client ("id" field in this case)
"value": "." // path to an entity's value inside the incoming request JSON from the client (root in this case)
}
}
}
}
]
}
For reads use dynamic.read.json
:
{
"port": 8080,
"endpoints": [
{
"methods": [ "GET" ],
"path": "/note/{noteID:[a-zA-Z0-9-]+}", // uses Gorilla Mux paths
"dynamic": {
"read": {
"json": {
"name": "note",
"keyParam": "noteID", // path to an entity's key inside the incoming request path from the client ("noteID" param in this case)
}
}
}
}
]
}
See CHANGELOG.md
See CONTRIBUTING.md
Released under the Apache License 2.0.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.