https://github.com/you54f/pact-asyncapi-comparator
compare Message-Pact files against AsyncAPI descriptions
https://github.com/you54f/pact-asyncapi-comparator
asyncapi pact testing
Last synced: 5 months ago
JSON representation
compare Message-Pact files against AsyncAPI descriptions
- Host: GitHub
- URL: https://github.com/you54f/pact-asyncapi-comparator
- Owner: YOU54F
- Created: 2024-09-20T19:02:58.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-30T18:28:55.000Z (almost 2 years ago)
- Last Synced: 2026-01-16T23:54:06.677Z (6 months ago)
- Topics: asyncapi, pact, testing
- Language: JavaScript
- Homepage:
- Size: 287 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pact-asyncapi-comparator
> A WIP comparator CLI tool, used to determine if Message-Pact interactions, are a valid subset of a given AsyncAPI document.
For an OpenAPI flavoured version, please see https://github.com/pactflow/swagger-mock-validator
## Usage
```
npx pact-asyncapi-comparator
```
## Supported Contract Types
### Pact
Supports `Message-Pact` interactions, in the following formats
- [X] V3 Asynchronous Messages
- [X] V4 Asynchronous Messages
- [ ] V4 Synchronous Messages
Note: V4 Pact files may contain mixed interactions, HTTP interactions are filtered.
### AsyncAPI
- [X] AsyncAPI 2.x
- [X] AsyncAPI 3.x
- [ ] [Bindings](https://github.com/asyncapi/bindings)
- [ ] AMQP binding
- [ ] AMQP 1.0 binding
- [ ] Google Cloud Pub/Sub binding
- [ ] HTTP binding
- [ ] IBM MQ binding
- [ ] JMS binding
- [ ] Kafka binding
- [ ] MQTT binding
- [ ] MQTT5 binding
- [ ] NATS binding
- [ ] Pulsar
- [ ] Redis binding
- [ ] SNS binding
- [ ] Solace binding
- [ ] SQS binding
- [ ] STOMP binding
- [ ] WebSockets binding
## Features
- [X] Input Validation
- [X] Check Pact or AsyncAPI is valid
- [X] Cross comparison
- [X] Check Pact message is a subset of AsyncAPI description
- [X] Check Content-Type if specified in Pact or AsyncAPI
- [X] application/json
## Issues
Users may encounter issues, and are advised to raise an issue, along with the Pact & AsyncAPI file used for comparison.
If you are unable to provide your own, please provide a reproducible example using public data.
If you are unable to provide a reproduction, you are advised to fork the repository and attempt a fix yourself.