Pulling a Mock API from WireMock Cloud
The CLI allows you to pull down a Mock API from WireMock Cloud. This is required if you want to run a Mock API locally via the local runner. Mock APIs can be pulled down by running the following command:https://app.wiremock.cloud/mock-apis/33eye3l9/stubs/1e0d7dc0-06a0-49a2-81a7-f5d6a40bfa3d
,
the ID is 33eye3l9
.
This will create a .wiremock
directory in the current working dir, and populate it with the necessary files to be able
to run the identified Mock API.
You can pass a --wiremock-dir
argument to override the default .wiremock
directory.
Inside the .wiremock
directory you will find the WireMock environment file which contains all the Mock APIs you have
pulled down. This is a yaml
file in the following format:
type
field specifies the type of the Mock API you have just pulled down. This field allows the 4 Mock API types
supported by WireMock Cloud:
- REST
- gRPC
- GraphQL
- Unstructured
port
field specifies the port that the local mock api will run on.
The path
field specifies the path to the Mock API directory. This is where all the files relating to the Mock API
will be stored. If the Mock API contains any stubs, they will be stored in the stub-mappings.yaml
file along with
the OpenAPI specification if the Mock API is a REST Mock API and the GraphQL schema if the Mock API is a GraphQL Mock API.
Re-pulling Mock APIs defined in the WireMock environment file
If you have modified your Mock APIs in WireMock Cloud, you can re-pull them by running thepull mock-api
command
again. This will overwrite any changes you have made locally. To do this you can run the same command as beforespecifying the Mock API Id:
pull mock-api
command specifying the <service-id>
from your local WireMock environment file:
For example, if your WireMock environment file contains the following:
<service-id>
:
pull mock-api
command without any mock API Id or service Id and specifying the --all
flag:
--into=<service-id>
flag can be used to pull data into an existing service in the WireMock environment file. In
this case, only stub mappings and API documents will be updated; service settings in wiremock.yaml will remain unchanged.
Pushing a Mock API to WireMock Cloud
As well as pulling down Mock APIs, you can push them back up to the WireMock Cloud. This is useful if you have made any changes to your stubs or api definition documents locally and want those changes to be reflected in the WireMock Cloud. To push a Mock API to WireMock Cloud, run the following command:cloud_id
from the WireMock environment file.
This can be overridden by specifying the --to=cloud:<cloud-id>
flag. If you want to push the local Mock API to a
new Mock API, you can specify the --to=cloud:new
flag.
As with the pull
command, you can pass a --wiremock-dir
argument to override the default .wiremock
directory.
It is important to note that pushing a local Mock API to WireMock Cloud will overwrite the existing Mock API. This
means that any stubs added or modified or changes made to the api definition documents (OpenApi document or GraphQL
schema) will be lost when you push the local Mock API via the CLI. This feature is to be used with care.