Martin Konir
05/21/2025, 10:35 AMBACKWARD
compatibility type).
Could you help clarify the main business cases for using both Pact and Schema Registry together? Specifically:
• If we are already using the Schema Registry to enforce message structure and compatibility, does Pact contract testing become redundant?
• Or does Pact provide additional value beyond schema validation?
• If we decided to write contract tests for a Apache Pulsar messaging system, does Pact have any sort of integration - is it ready for that? (I wasn't able to find the necessary materials on this topic - everything is kafka centered 😅).
Thank you very much for your insights!Martin Konir
05/22/2025, 2:33 PMMatt (pactflow.io / pact-js / pact-go)
If we decided to write contract tests for a Apache Pulsar messaging system, does Pact have any sort of integration - is it ready for that? (I wasn’t able to find the necessary materials on this topic - everything is kafka centeredshort answer is I’m not sure - Kafka is the most popular system in this area, so we use it as guidance. As you can imagine, there are a LOT of these types of tools so we can’t document all of them. But in general, Pact treats them the same (we abstract the protocol, and focus on the content/payload). 👉 This is the main workshop for what is called “Message Pact” https://docs.pact.io/university/message-pact-async/00_1_Intro (and related video) -- I think we have some articles specifically on the benefits of Kafka, but I’m struggling today to find what I want. I’m pretty sure somebody at confluent wrote a good blog on this (I know they’re using Pact internally somewhere). I know Phil from Mettle was using the Avro with Kafka (he might mention it in ). He was a fan of the ability to get feedback locally. My recollections: 1. The schema registry is runtime, so you need to deploy before you can find out (this might be OK) a. It probably does much of what you need, otherwise 2. The additional features of the CI/CD tooling (e.g.
can-i-deploy,
deployment info and generalised workflow across protocols) with the broker are other stated benefits
Some additional articles/pointers
• Old AMA on messages/kafka: https://docs.pact.io/help/amas#ukeu
• General talk on non-REST services: https://pactflow.io/blog/contract-testing-for-grpc-and-protobufs/
• Some guidance for Java https://docs.pact.io/recipes/kafka#kafka-json-consumer