Tuesday, September 27, 2022
HomeCrypto Miningis a software that may assist launch a mock server primarily based...

is a software that may assist launch a mock server primarily based on an API contract

When our Golang developer, Alexander Melentyev, was engaged on one in all our shopper’s tasks, he needed to work on integrations with the associate’s API. In the course of the integration, we didn’t wish to pull the true API, so there was a necessity use mock knowledge to check API. The associate had an openAPI specification, on the idea of which it was potential to generate a server utilizing swagger-codegen, however such instruments have a nuance—they generate stubs, which means that in the event you comply with the “deal with” from the specification, you’ll get an empty response, and you will have to jot down it your self. Normally, that is time-consuming, and on this case, we didn’t have the mandatory time. So the concept got here as much as launch a server primarily based on the specification, which might give examples described within the specification when going by means of the “deal with”.


We began in search of instruments that may do one thing comparable. We discovered a prism open-source answer written in NodeJS and wished to implement an analogous concept in Go. So, we talked with QA specialists and located {that a} software akin to a Golang mock server for testing would even be helpful for them, in order that they might not have to jot down all the pieces by hand. With its assist, QA specialists might merely take a specification from a associate and simply run all the pieces with a single command—saving a number of time and assets.

So Alexander created dummy, a really helpful and in-demand software that may assist launch a mock server primarily based on an API contract, which helps folks see how the API will work earlier than it is even constructed. You possibly can run it domestically with the dummy server command to run your API on an HTTP server which you can work together with.

Easy methods to use dummy?

Utilizing dummy is straightforward: you simply want to put in it, then you must use the server command and cross the trail to the specification into it. Each hyperlinks and file paths are supported. It’s helpful when you must combine with an actual API, with out creating an additional load. Additionally, the software is appropriate for testing, so that you don’t have to jot down a mock API—you possibly can simply use dummy.

Set up:

go set up github.com/neotoolkit/dummy/cmd/dummy@newest


Run it domestically with the dummy s command to run your API on a HTTP server you possibly can work together with.

dummy s openapi.yml
dummy s https://uncooked.githubusercontent.com/neotoolkit/dummy/fundamental/examples/docker/openapi.yml


If there’s a want for dynamic knowledge throughout integration, you should utilize the built-in faker. Within the specification for the fields, you must add a customized discipline x-faker and cross the required knowledge sort to it. For instance, if you must dynamically generate a reputation, you must set the next: x-faker: firstname

You is likely to be questioning, why not use mills like swagger-codegen? It’s as a result of swagger-codegen generates a server, which means that you must make a number of actions as an alternative of 1. The server shall be generated, and it is possible for you to to go to the addresses which are described within the documentation, however the response shall be empty. In reality, you’ll not obtain any integration, as a result of there shall be no knowledge within the response. And in dummy, if any examples are described within the specification, then they’ll come within the response.

Plans for the longer term

At present, solely OpenAPI is supported, however plans for the longer term embody including help for GraphQL, RAML and gRPC. Our work on open-source tasks—and the truth that each month we select a number of OSS tasks to sponsor—exhibits our initiative and understanding of what builders love and want. Attain out to us through the shape beneath if you must develop an open-source answer or are in search of a staff of execs to construct a challenge from scratch!



Please enter your comment!
Please enter your name here

Most Popular

Recent Comments