MVN

au.com.dius : pact-jvm-consumer-groovy-v3_2.10

Maven & Gradle

Sep 17, 2015
1k stars

pact-jvm-consumer-groovy-v3_2.10 · pact-jvm-consumer-groovy-v3 =========================== Groovy DSL for Pact JVM implementing V3 specification changes. ##Dependency The library is available on maven central using: * group-id = `au.com.dius` * artifact-id = `pact-jvm-consumer-groovy-v3_2.11` * version-id = `2.2.x` or `3.0.x` ##Usage Add the `pact-jvm-consumer-groovy-v3` library to your test class path. This provides a `PactMessageBuilder` class for you to use to define your pacts. If you are using gradle for your build, add it to your `build.gradle`: dependencies { testCompile 'au.com.dius:pact-jvm-consumer-groovy-v3_2.11:2.2.12' } ## Consumer test for a message consumer The `PactMessageBuilder` class provides a DSL for defining your message expectations. It works in much the same way as the `PactBuilder` class for Request-Response interactions. ### Step 1 - define the message expectations Create a test that uses the `PactMessageBuilder` to define a message expectation, and then call `run`. This will invoke the given closure with a message for each one defined in the pact. ```groovy def eventStream = new PactMessageBuilder().call { serviceConsumer 'messageConsumer' hasPactWith 'messageProducer' given 'order with id 10000004 exists' expectsToReceive 'an order confirmation message' withMetaData(type: 'OrderConfirmed') // Can define any key-value pairs here withContent(contentType: 'application/json') { type 'OrderConfirmed' audit { userCode 'messageService' } origin 'message-service' referenceId '10000004-2' timeSent: '2015-07-22T10:14:28+00:00' value { orderId '10000004' value '10.000000' fee '10.00' gst '15.00' } } } ``` ### Step 2 - call your message handler with the generated messages This example tests a message handler that gets messages from a Kafka topic. In this case the Pact message is wrapped as a Kafka `MessageAndMetadata`. ```groovy eventStream.run { Message message -> messageHandler.handleMessage(new MessageAndMetadata('topic', 1, new kafka.message.Message(message.contentsAsBytes()), 0, null, valueDecoder)) } ``` ### Step 3 - validate that the message was handled correctly ```groovy def order = orderRepository.getOrder('10000004') assert order.status == 'confirmed' assert order.value == 10.0 ``` ### Step 4 - Publish the pact file If the test was successful, a pact file would have been produced with the message from step 1.

<dependency>
    <groupId>au.com.dius</groupId>
    <artifactId>pact-jvm-consumer-groovy-v3_2.10</artifactId>
    <version>2.2.15</version>
</dependency>
Copy
pom.xml
Table Of Contents

Latest Version

Choose a version of au.com.dius : pact-jvm-consumer-groovy-v3_2.10 to add to Maven or Gradle - Latest Versions:

  • Latest Stable: 2.2.15

All Versions

Choose a version of au.com.dius : pact-jvm-consumer-groovy-v3_2.10 to add to Maven or Gradle - All Versions:

Version Vulnerabilities Updated
2.2.x
pact-jvm-consumer-groovy-v3_2.10-2.2.15
pact-jvm-consumer-groovy-v3_2.10-2.2.14
pact-jvm-consumer-groovy-v3_2.10-2.2.13
pact-jvm-consumer-groovy-v3_2.10-2.2.12
pact-jvm-consumer-groovy-v3_2.10-2.2.11

How to add a dependency to Maven

Add the following au.com.dius : pact-jvm-consumer-groovy-v3_2.10 maven dependency to the pom.xml file with your favorite IDE (IntelliJ / Eclipse / Netbeans):

<dependency>
    <groupId>au.com.dius</groupId>
    <artifactId>pact-jvm-consumer-groovy-v3_2.10</artifactId>
    <version>2.2.15</version>
</dependency>

How to add a dependency to Gradle

Gradle Groovy DSL: Add the following au.com.dius : pact-jvm-consumer-groovy-v3_2.10 gradle dependency to your build.gradle file:

implementation 'au.com.dius:pact-jvm-consumer-groovy-v3_2.10:2.2.15'

Gradle Kotlin DSL: Add the following au.com.dius : pact-jvm-consumer-groovy-v3_2.10 gradle kotlin dependency to your build.gradle.kts file:

implementation("au.com.dius:pact-jvm-consumer-groovy-v3_2.10:2.2.15")

How to add a dependency to SBT Scala

SBT Scala: Add the following au.com.dius : pact-jvm-consumer-groovy-v3_2.10 sbt scala dependency to your build.sbt file:

libraryDependencies += "au.com.dius" % "pact-jvm-consumer-groovy-v3_2.10" % "2.2.15"

Advertisement

Dependencies from Group

Apr 29, 2020
31 usages
1k stars
Nov 04, 2018
27 usages
1k stars
Nov 04, 2018
18 usages
1k stars
Apr 29, 2020
13 usages
1k stars
Apr 29, 2020
12 usages
1k stars

Discover Dependencies

May 27, 2016
13 usages
231 stars
Aug 07, 2015
124 stars
Aug 03, 2015
20 stars
Aug 03, 2015
20 stars
Aug 09, 2015
0 stars
May 23, 2016
3 usages
36 stars
May 23, 2016
5 usages
36 stars
May 31, 2016
706 stars