Consumer Driven Contracts

 in Practice

Working with Pact

Warszawa 27-06-2025 @ <Pansa>

Andrzej Goławski

Consumer Driven Contracts

Consumer Driven Contracts

Pact

Benefits:

  • Early detection of integration errors
  • Team independence
  • Can I deploy mechanism

Features:

  • Open Source – strong community support
  • Support for multiple programming languages (Java, Groovy, Python, Go, JavaScript)
  • Support for various communication types (REST, gRPC, GraphQL, Async)
  • Relatively easy to use - once the initial setup is done
  • Integration with CI/CD pipelines and version control systems

Pact

Consumer process

Pact

Provider process

Pact

Consumer process async

Pact

Provider process async

@SpringBootTest
@Testcontainers

Approach to testing

@DataJpaTest
@WebMvcTest
@Import
@Configuration

Approach to testing

Consumer - Rest

Consumer - Rest

Consumer - Rest

Consumer - Rest

Consumer - Rest

Pact Broker

Pact Broker

Pact Broker

​mvn pact:publish

Provider - Rest

Provider - Rest

Provider - Rest

Provider - Rest

Provider - Rest

Provider - Rest

Provider - Rest

Consumer- Async

Consumer- Async

Consumer- Async

Consumer- Async

Consumer- Async

Producer- Async

Producer- Async

Producer- Async

?

Thank you

Consumer Driven Contracts

By andipansa

Consumer Driven Contracts

  • 17