Mock REST API calls with Mockoon
Did you ever wish you could mock REST API calls?
This post will quickly introduce Mockoon, a free open source solution, to maybe help others in the righteous path of software design and test automation!
Have you already been blocked in your test automation by HTTP calls? Are you interested in developing a frontend application even if the backend is not available?
This is a limitation I often come across but I never found the right way to do it, until now!
Mockoon
As mentionned in Mockoon’s website:
Mockoon is the easiest and quickest way to design and run mock REST APIs. No remote deployment, no account required, free and open-source.
The solution delivers the following artifacts:
– a Graphical User Interface (GUI): mandatory to edit the data json file (defining the REST API mocks)
– a command line tool called mockoon-cli: easy to install and run in a pipeline
– an official Docker image (generated by this Dockerfile): to execute the CLI in a NPM-free system
Key concepts
1/ All the configuration of one Mockoon “environment” is stored in a json file (ideally versioned in git)
2/ Mockoon uses a templating engine (in particular Faker library) to be able to generate random data and use loops
3/ There are samples available on many systems and it’s possible to import the definition from a Swagger/OpenAPI file
Quick start
Here is a short extract with the minimal commands to test the tool.
# installs the command line interface (assuming NPM is installed) npm install -g @mockoon/cli # starts the mocking server by using a sample data file mockoon-cli start --data https://raw.githubusercontent.com/mockoon/mock-samples/main/samples/generate-mock-data.json --port 3000 # lists running mockoon instances mockoon list # makes a call to the mock api curl http://localhost:3000/posts # deletes the running mockoon instances mockoon stop all
From there, you can “create your first mock API with Mockoon” by following the official Getting Started page.
Opening
You can see Mockoon in action in the Continuous Integration (CI) pipeline of rabbids-incubator/servicenow-dotnet-client, an open source project that is making calls to ServiceNow REST API (see gitlab-ci.yml).
That’s all for now, happy mocking and please share your feedback and ask any question you may have in the comment section!
- Install Rancher on Azure Kubernetes Service (AKS) - September 25, 2023
- Automate NeuVector installation and management with Fleet – The GitOps way - August 25, 2023
- AKS startup error: Token refresh failed with invalid client secret error - August 22, 2023