Add back the ContractVerifierMessage in an internal package

It's easier to write generated tests with this abstraction, but
it doesn't have to be visible to users.
This commit is contained in:
Dave Syer
2016-07-19 07:21:00 +01:00
parent a3712e77c4
commit 03d8554adb
36 changed files with 446 additions and 191 deletions

View File

@@ -22,9 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.IntegrationTest
import org.springframework.boot.test.context.SpringBootContextLoader
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageExchange
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper;
import org.springframework.messaging.Message;
import org.springframework.test.annotation.DirtiesContext
import org.springframework.test.context.ContextConfiguration
@@ -45,7 +45,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion
public class StreamMessagingApplicationSpec extends Specification {
// ALL CASES
@Inject ContractVerifierMessaging<Message<?>> contractVerifierMessaging
@Inject ContractVerifierMessageExchange<Message<?>> contractVerifierMessaging
ContractVerifierObjectMapper contractVerifierObjectMapper = new ContractVerifierObjectMapper()
def "should work for triggered based messaging"() {
@@ -67,7 +67,7 @@ public class StreamMessagingApplicationSpec extends Specification {
when:
bookReturnedTriggered()
then:
def response = contractVerifierMessaging.receiveMessage('output')
def response = contractVerifierMessaging.receive('output')
response.headers.get('BOOK-NAME') == 'foo'
and:
DocumentContext parsedJson = JsonPath.parse(contractVerifierObjectMapper.writeValueAsString(response.payload))
@@ -105,7 +105,7 @@ public class StreamMessagingApplicationSpec extends Specification {
contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']),
[sample: 'header'], 'input')
then:
def response = contractVerifierMessaging.receiveMessage('output')
def response = contractVerifierMessaging.receive('output')
response.headers.get('BOOK-NAME') == 'foo'
and:
DocumentContext parsedJson = JsonPath.parse(contractVerifierObjectMapper.writeValueAsString(response.payload))