Specmatic Arazzo is a NO-CODE workflow mocking and testing tool that allows users to efficiently author, validate, test, and mock workflows, leveraging Arazzo API Specifications This repository serves as a hands-on companion to the video demonstration below, We recommend setting up the project locally and following along with the video tutorial to get the full interactive experience of working with Specmatic Arazzo
git clone https://github.com/specmatic/specmatic-arazzo-async-sample
cd specmatic-arazzo-async-sampleTo launch the stack, execute the following command to build and start the containers:
docker compose up --buildThis builds and starts:
- Order API at http://localhost:3000
- Location API at http://localhost:3001
- Kafka at localhost:9092
Launch the Specmatic Docker Extension, populate the directory field with the path to the specmatic-arazzo-async-sample directory, as illustrated in the image below and hit Launch
- Author, validate, test, and mock OpenAPI and AsyncAPI workflow with Specmatic Arazzo, without single line of code.
- Model workflows using Arazzo API Specifications and run them via Specmatic Studio’s drag‑and‑drop UI.
- Test two microservices Order API, Location API and exercise async messaging via Arazzo with AsyncAPI over Kafka end‑to‑end.
This project includes below services:
- Backend Services (developed using FastAPI, SQLModel, and SQLite)
- Kafka Broker
{
"PlaceOrder": {
"DEFAULT": {
"CreateOrder": {
"orderRequestId": "1234567890"
},
"GetUserDetails": {
"email": "test@specmatic.io",
"password": "specmatic",
"internalToken": "API-TOKEN"
}
},
"GetProducts.IsArrayEmpty": {
"$failureMessage": "Expected not to find any products for random@specmatic.io, as they belong to B Zone",
"GetUserDetails": {
"email": "random@specmatic.io",
"password": "user"
}
}
}
}
