Download pact-jvm-consumer-groovy-v3_2.10 JAR file with all dependencies
pact-jvm-consumer-groovy-v3_2.10 from group au.com.dius (version 2.2.15)
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.
0 downloads
Artifact pact-jvm-consumer-groovy-v3_2.10
Group au.com.dius
Version 2.2.15
Last update 17. September 2015
Tags: maven using wrapped usercode test contenttype validate getorder confirmed given file confirmation expectations kafka messageservice central 000000 topic groovy defined pairs 2015 available create pactbuilder pactmessagebuilder serviceconsumer then will closure valuedecoder each build messages 10000004 version tests dependencies messageconsumer publish "null" define defining correctly works produced artifact contentsasbytes eventstream library exists assert successful orderid same consumer type been handled dependency would request v3_2 value orderconfirmed status messagehandler class haspactwith here much that pact generated gradle example case handlemessage this call withcontent referenceid have expectation withmetadata from 22t10 response messageandmetadata order json path interactions with application gets your timesent origin audit provides testcompile message expectstoreceive invoke service specification usage messageproducer implementing uses group orderrepository pacts dius step handler changes
Organization not specified
URL https://github.com/DiUS/pact-jvm
License Apache 2
Dependencies amount 7
Dependencies pact-jvm-consumer-groovy_2.10, scala-library, groovy-all, json4s-native_2.10, pact-jvm-model-v3_2.10, slf4j-api, json4s-jackson_2.10,
There are maybe transitive dependencies!
Group au.com.dius
Version 2.2.15
Last update 17. September 2015
Tags: maven using wrapped usercode test contenttype validate getorder confirmed given file confirmation expectations kafka messageservice central 000000 topic groovy defined pairs 2015 available create pactbuilder pactmessagebuilder serviceconsumer then will closure valuedecoder each build messages 10000004 version tests dependencies messageconsumer publish "null" define defining correctly works produced artifact contentsasbytes eventstream library exists assert successful orderid same consumer type been handled dependency would request v3_2 value orderconfirmed status messagehandler class haspactwith here much that pact generated gradle example case handlemessage this call withcontent referenceid have expectation withmetadata from 22t10 response messageandmetadata order json path interactions with application gets your timesent origin audit provides testcompile message expectstoreceive invoke service specification usage messageproducer implementing uses group orderrepository pacts dius step handler changes
Organization not specified
URL https://github.com/DiUS/pact-jvm
License Apache 2
Dependencies amount 7
Dependencies pact-jvm-consumer-groovy_2.10, scala-library, groovy-all, json4s-native_2.10, pact-jvm-model-v3_2.10, slf4j-api, json4s-jackson_2.10,
There are maybe transitive dependencies!
Page 1 from 1 (items total 1)