Test your API integration
Ensure you are receiving and responding to order flow as expected
A simple integration test for the API server you set up in Receive order flow. It is a Docker container that can be executed against your running API instance. It will request an indicative quote and firm quote and check that the response is as expected for either the legacy or sponsored endpoints.
Prerequisites
The Docker CLI must be installed.
Pull API integration test container
Execute the following command to pull the container:
docker pull ghcr.io/dflowprotocol/market-maker-api-integration-test:latest
Run tests
To run the Docker image, run the following command:
docker run -e MARKET_MAKER_URL=<URL> mm_api_validator --evm-legacy --evm-sponsored
Options
The following options are available, but only one should be run at a time:
--evm-legacy Run legacy swap API tests
--evm-sponsored Run sponsored swap API tests
Environment variables
The MARKET_MAKER_URL
environment variable can be used to specify the URL of your API instance to test against. This environment variable is required.
This URL should specify the full path for either the legacy or sponsored swap API, e.g. https://api.marketmaker.network/evm/legacy
or https://api.marketmaker.moonbeam.network/evm/sponsored
.
Expected Execution Results
Executing the above command should give the following results, showing all tests passing:
➜ docker run -e MARKET_MAKER_URL=http://host.docker.internal:8084/evm/legacy ghcr.io/dflowprotocol/market-maker-api-integration-test:latest --evm-legacy
yarn run v1.22.19
$ mocha --timeout 1000000 --require source-map-support/register dist/evm_legacy.js
Market Maker URL: http://host.docker.internal:8084/evm/legacy
market_maker
✔ getFirmQuote (778ms)
✔ getIndicativeQuote (288ms)
2 passing (1s)
Done in 1.52s.
Updated 28 days ago