Introduce @AutoConfigureContractVerifierMessaging

as a new autoconfig switch for test cases (instead of relying on
plain autoconfiguration).

Fixes gh-33
This commit is contained in:
Dave Syer
2016-07-14 13:38:16 +01:00
parent 6f0030bf58
commit 0522cbb4d6
16 changed files with 89 additions and 39 deletions

View File

@@ -26,6 +26,7 @@ import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging;
import org.springframework.test.annotation.DirtiesContext
import org.springframework.test.context.ContextConfiguration
@@ -41,6 +42,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion
// Context configuration would end up in base class
@ContextConfiguration(classes = [CamelMessagingApplication], loader = SpringBootContextLoader)
@DirtiesContext
@AutoConfigureContractVerifierMessaging
public class CamelMessagingApplicationSpec extends Specification {
// ALL CASES

View File

@@ -24,6 +24,7 @@ import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging;
import org.springframework.test.annotation.DirtiesContext
import org.springframework.test.context.ContextConfiguration
@@ -35,6 +36,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion
// Context configuration would end up in base class
@ContextConfiguration(classes = [IntegrationMessagingApplication], loader = SpringBootContextLoader)
@DirtiesContext
@AutoConfigureContractVerifierMessaging
public class IntegrationMessagingApplicationSpec extends Specification {
// ALL CASES

View File

@@ -25,6 +25,7 @@ import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging;
import org.springframework.test.annotation.DirtiesContext
import org.springframework.test.context.ContextConfiguration
@@ -40,6 +41,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion
// Context configuration would end up in base class
@ContextConfiguration(classes = [SpringMessagingApplication], loader = SpringBootContextLoader)
@DirtiesContext
@AutoConfigureContractVerifierMessaging
public class SpringApplicationSpec extends Specification {
// ALL CASES

View File

@@ -24,6 +24,7 @@ import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging;
import org.springframework.test.annotation.DirtiesContext
import org.springframework.test.context.ContextConfiguration
@@ -38,6 +39,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion
// Context configuration would end up in base class
@ContextConfiguration(classes = [StreamMessagingApplication], loader = SpringBootContextLoader)
@DirtiesContext
@AutoConfigureContractVerifierMessaging
public class StreamMessagingApplicationSpec extends Specification {
// ALL CASES

View File

@@ -2,13 +2,11 @@ package com.example.sink;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.example.sink.ContractVerifierSampleStreamSinkApplication;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = ContractVerifierSampleStreamSinkApplication.class)
@SpringBootTest
public class ContractVerifierSampleStreamSinkApplicationTests {
@Test

View File

@@ -29,7 +29,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
* @author Marius Bogoevici
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = ContractVerifierSampleStreamSinkApplication.class, webEnvironment = WebEnvironment.NONE, properties = "spring.cloud.stream.bindings.input.destination=sensor-data")
@SpringBootTest(webEnvironment = WebEnvironment.NONE, properties = "spring.cloud.stream.bindings.input.destination=sensor-data")
@AutoConfigureStubRunner
public class MessageConsumedTests {

View File

@@ -2,13 +2,11 @@ package com.example.source;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.example.source.ContractVerifierSampleStreamSourceApplication;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = ContractVerifierSampleStreamSourceApplication.class)
@SpringBootTest
public class ContractVerifierSampleStreamSourceApplicationTests {
@Test

View File

@@ -18,12 +18,9 @@ package com.example.source;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.IntegrationTest;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.example.source.ContractVerifierSampleStreamSourceApplication;
/**
* Base class for sensor autogenerated tests (used by Spring Cloud Contract).
*
@@ -32,8 +29,7 @@ import com.example.source.ContractVerifierSampleStreamSourceApplication;
* @author Marius Bogoevici
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = ContractVerifierSampleStreamSourceApplication.class)
@IntegrationTest("spring.cloud.stream.bindings.output.destination=sensor-data")
@SpringBootTest(classes = ContractVerifierSampleStreamSourceApplication.class, properties="spring.cloud.stream.bindings.output.destination=sensor-data")
public abstract class SensorSourceTestBase {
@Autowired