API Simulator’s Blog


API Simulator 0.5.1 Release

This release improves various aspects of working with API Simulator and running the example simulations. API Simulator v0.5.1 Release Changes Removed the separate startup and shutdown scripts for Linux and Windows. Now it is just one script – apisimulator/apisimulator.bat – with ‘start’ and ‘stop’ arguments. Improvements to the apisimulator, apisimulator.bat, apiclient, and apiclient.bat scripts. Improved handling of command line arguments for API Simulator. Renamed the default raw output file for HTTP from output.raw to response.http. Moved the test inputs for the example simulations from a separate ‘input’ sub-directory under ‘examples’ to a ‘tests’ sub-directory in the respective example simulation folders. […]


Running Docker Containers with Non-root Users or Random User IDs

By default, Docker containers run as root. Using root is dangerous and it may not be available in all environments. “Best practices for writing Dockerfiles” recommend that “…If a service can run without privileges, use USER to change to a non-root user”. There is a twist to this – for better security, some aPaaS (Application Platform-as-a-Service) like OpenShift use by default a user with random UID when running an image. That leads us to the question – how can one build more secure Docker images so the containers can run as a concrete non-root user and with a random non-root […]


Docker Container Image for API Simulator v0.5.0

Following the recently released v0.5.0 of API Simulator, we built, tested, and published a new version of API Simulator’s Docker container image. The new Docker image creates a user group called (of course) apisimulator and adds a user named apisimulator to it. With proper change of file ownership also handled in the Docker image, that allows you to start the container and have API Simulator run as a user different than root. As before the image is based on the official openjdk repository image for JRE 8 update 111, which itself contains the lightweight Alpine Linux. Please visit Docker Hub […]


API Simulator 0.5.0 Release

API Simulator v0.5.0 Release Changes Enhanced and more precise request URI matching. Modified existing examples to use the new enhanced URI matching. Decoding the URI parts (e.g. ‘+’ to space, %HEX to actual UTF-8 character, etc.) now happens at the time of parsing the input instead of during parameter matching. Added out-of-the-box support for JSON, XML, and URL encoding of placeholder values. Defect fixes and internal refactorings. Below are a few details about the changes in this release.   Request URI matching was flexible before. For example, it supported URI path pattern matching. Matching a request URI is now even […]


API Simulator 0.4.0 Release

API Simulator v0.4.0 Release Changes Support for JavaScript as scripting language is now built-in. Support for Groovy is out-of-the-box, too, and the Groovy JARs are still part of the distro. Added the ability to forward unmatched requests to their actual destination and pass the actual responses back to the calling client instead of returning a default simulated output. That includes handling HTTPS tunneling (HTTP CONNECT). Added in API Recorder detection and avoidance of infinite loop in the special case when the proxied destination address is one API Recorder is listening on. Made the jump and upgraded Netty to v4.1.6. Various […]


Docker Container Image for API Simulator v0.3.0

Following the recently released v0.3.0 of API Simulator, we built, tested, and published a new version of API Simulator’s Docker container image. This time we based our image on the new official openjdk repository image for JRE 8 update 111, which itself contains the lightweight Alpine Linux. Please visit Docker Hub for more info on how to use the image.   Happy Simulations, The API Simulator Team


API Simulator 0.3.0 Release

The biggest feature in the release is the new support for external parameters. Previously, it was possible to configure and use default parameters and parameters extracted from the HTTP request. This release introduces the concept of parameters providers. Through providers, API Simulator now can use parameters from external data sources. This feature makes it even easier to model flexible API simulations by using elements of Test Data Management (TDM). The API Simulator distro includes support for parameters from CSV (comma-separated values) files and RDBMS (Relational Database Management Systems). API Simulator loads CSV files into an in-memory database for fast access. […]


Announcing API Simulation Modeler (beta)!

Do you still write code to mock APIs? Do you still muddle through configuration files? It is a good day for all of you, developers and testers, who have been creating and configuring API simulations “by hand” – API Simulation Modeler is here! A browser-based tool, API Simulation Modeler gives you visual point-and-click interface to model static and dynamic simulations. Download them and they are yours to run with the API Simulator in your environments. There is more work to do on the API Simulation Modeler. We are confident, though, that even in its current state it will prove to […]


More Docs Available Online

It was somewhat overdue but today we published new docs online to provide you with more info on how to take advantage of API Simulator and the tools it comes with. They cover API Recorder, API Client, and something exciting we have been diligently working on – API Simulation Modeler. API Simulation Modeler is a browser-based UI that will make creating and configuring API simulations and their simlets pretty easy. With no coding and no muddling with configuration files! Check back soon!


API Simulator in Docker Container

Docker containers have gained a lot of popularity. Here is why API Simulator in a Docker container is a compelling combination, especially if your organization already uses Docker. A simple way to explain Docker is that it is a container technology for Linux that allows the packaging of an application and its dependencies from the OS (Operating System) and up into a single unit (called “image”), and to deploy and run them in isolation of other processes on the same host. This provides for consistency and speed in deploying the application on multiple hosts in the same environment or across […]