Skip to content

Commit 06273d1

Browse files
committed
Changes for Boot 4.0.0-RC1
Also fixes #284
1 parent 85ad7a3 commit 06273d1

File tree

10 files changed

+34
-14
lines changed

10 files changed

+34
-14
lines changed

spring-cloud-bus-tests/pom.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,22 @@
5050
</dependency>
5151
<dependency>
5252
<groupId>org.testcontainers</groupId>
53-
<artifactId>junit-jupiter</artifactId>
53+
<artifactId>testcontainers-junit-jupiter</artifactId>
5454
<scope>test</scope>
5555
</dependency>
5656
<dependency>
5757
<groupId>org.testcontainers</groupId>
58-
<artifactId>rabbitmq</artifactId>
58+
<artifactId>testcontainers-rabbitmq</artifactId>
5959
<scope>test</scope>
6060
</dependency>
6161
<dependency>
6262
<groupId>org.springframework.boot</groupId>
63-
<artifactId>spring-boot-restclient</artifactId>
63+
<artifactId>spring-boot-resttestclient</artifactId>
64+
<scope>test</scope>
65+
</dependency>
66+
<dependency>
67+
<groupId>org.springframework.boot</groupId>
68+
<artifactId>spring-boot-webtestclient</artifactId>
6469
<scope>test</scope>
6570
</dependency>
6671
</dependencies>

spring-cloud-bus-tests/src/test/java/org/springframework/cloud/bus/BusAmqpIntegrationTests.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,16 @@
2323
import org.junit.jupiter.api.AfterAll;
2424
import org.junit.jupiter.api.BeforeAll;
2525
import org.junit.jupiter.api.Test;
26-
import org.testcontainers.containers.RabbitMQContainer;
2726
import org.testcontainers.junit.jupiter.Container;
2827
import org.testcontainers.junit.jupiter.Testcontainers;
28+
import org.testcontainers.rabbitmq.RabbitMQContainer;
2929

3030
import org.springframework.beans.factory.annotation.Autowired;
3131
import org.springframework.boot.SpringBootConfiguration;
3232
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
3333
import org.springframework.boot.builder.SpringApplicationBuilder;
3434
import org.springframework.boot.test.context.SpringBootTest;
35+
import org.springframework.boot.webtestclient.AutoConfigureWebTestClient;
3536
import org.springframework.cloud.bus.event.EnvironmentChangeRemoteApplicationEvent;
3637
import org.springframework.cloud.stream.binder.ProducerProperties;
3738
import org.springframework.cloud.stream.config.BindingServiceProperties;
@@ -49,6 +50,7 @@
4950
"logging.level.org.springframework.cloud.bus=TRACE", "spring.cloud.bus.id=app:1",
5051
"spring.autoconfigure.exclude=org.springframework.cloud.stream.test.binder.TestSupportBinderAutoConfiguration" })
5152
@Testcontainers
53+
@AutoConfigureWebTestClient
5254
public class BusAmqpIntegrationTests {
5355

5456
@Container

spring-cloud-bus-tests/src/test/java/org/springframework/cloud/bus/ShutdownListenerIntegrationTests.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,17 @@
2121
import org.junit.jupiter.api.AfterAll;
2222
import org.junit.jupiter.api.BeforeAll;
2323
import org.junit.jupiter.api.Test;
24-
import org.testcontainers.containers.RabbitMQContainer;
2524
import org.testcontainers.junit.jupiter.Container;
2625
import org.testcontainers.junit.jupiter.Testcontainers;
26+
import org.testcontainers.rabbitmq.RabbitMQContainer;
2727

2828
import org.springframework.beans.factory.annotation.Autowired;
2929
import org.springframework.boot.SpringBootConfiguration;
3030
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
3131
import org.springframework.boot.builder.SpringApplicationBuilder;
3232
import org.springframework.boot.test.context.SpringBootTest;
3333
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
34+
import org.springframework.boot.webtestclient.AutoConfigureWebTestClient;
3435
import org.springframework.cloud.bus.event.EnvironmentChangeRemoteApplicationEvent;
3536
import org.springframework.context.ApplicationListener;
3637
import org.springframework.context.ConfigurableApplicationContext;
@@ -47,6 +48,7 @@
4748
"spring.cloud.stream.bindings.springCloudBusOutput.producer.errorChannelEnabled=true",
4849
"logging.level.org.springframework.cloud.bus=TRACE", "spring.cloud.bus.id=app:1" })
4950
@Testcontainers
51+
@AutoConfigureWebTestClient
5052
public class ShutdownListenerIntegrationTests {
5153

5254
private static ConfigurableApplicationContext context;

spring-cloud-bus-tests/src/test/java/org/springframework/cloud/bus/jackson/BusJacksonIntegrationTests.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,10 @@
2929
import org.springframework.beans.factory.annotation.Autowired;
3030
import org.springframework.boot.SpringBootConfiguration;
3131
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
32+
import org.springframework.boot.resttestclient.TestRestTemplate;
33+
import org.springframework.boot.resttestclient.autoconfigure.AutoConfigureTestRestTemplate;
3234
import org.springframework.boot.test.context.SpringBootTest;
33-
import org.springframework.boot.web.server.test.LocalServerPort;
34-
import org.springframework.boot.web.server.test.client.TestRestTemplate;
35+
import org.springframework.boot.test.web.server.LocalServerPort;
3536
import org.springframework.cloud.bus.ServiceMatcher;
3637
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
3738
import org.springframework.context.ApplicationEventPublisher;
@@ -48,8 +49,10 @@
4849
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
4950
import static tools.jackson.databind.cfg.DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS;
5051

51-
@SpringBootTest(properties = "spring.jackson.datetime.write-dates-as-timestamps=true", webEnvironment = RANDOM_PORT)
52+
@SpringBootTest(properties = "spring.jackson.datatype.datetime.write-dates-as-timestamps=true",
53+
webEnvironment = RANDOM_PORT)
5254
@DirtiesContext
55+
@AutoConfigureTestRestTemplate
5356
public class BusJacksonIntegrationTests {
5457

5558
@LocalServerPort

spring-cloud-bus/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
</dependency>
8080
<dependency>
8181
<groupId>org.springframework.boot</groupId>
82-
<artifactId>spring-boot-restclient</artifactId>
82+
<artifactId>spring-boot-resttestclient</artifactId>
8383
<scope>test</scope>
8484
</dependency>
8585
</dependencies>

spring-cloud-bus/src/main/java/org/springframework/cloud/bus/event/AckRemoteApplicationEvent.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.cloud.bus.event;
1818

19+
import com.fasterxml.jackson.annotation.JsonCreator;
1920
import com.fasterxml.jackson.annotation.JsonProperty;
2021

2122
/**
@@ -37,6 +38,7 @@ public class AckRemoteApplicationEvent extends RemoteApplicationEvent {
3738
private Class<? extends RemoteApplicationEvent> event;
3839

3940
@SuppressWarnings("unused")
41+
@JsonCreator
4042
private AckRemoteApplicationEvent() {
4143
super();
4244
this.ackDestinationService = null;

spring-cloud-bus/src/main/java/org/springframework/cloud/bus/event/EnvironmentChangeRemoteApplicationEvent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
@SuppressWarnings("serial")
2828
public class EnvironmentChangeRemoteApplicationEvent extends RemoteApplicationEvent {
2929

30-
private final Map<String, String> values;
30+
// Do not make this final or Jackson 3 cannot set it when serializing the object
31+
private Map<String, String> values;
3132

3233
@SuppressWarnings("unused")
3334
private EnvironmentChangeRemoteApplicationEvent() {

spring-cloud-bus/src/main/java/org/springframework/cloud/bus/event/ShutdownRemoteApplicationEvent.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package org.springframework.cloud.bus.event;
1818

19+
import com.fasterxml.jackson.annotation.JsonCreator;
20+
1921
/**
2022
* Event which indicates the application should be shutdown.
2123
*
@@ -24,6 +26,7 @@
2426
public class ShutdownRemoteApplicationEvent extends RemoteApplicationEvent {
2527

2628
@SuppressWarnings("unused")
29+
@JsonCreator
2730
private ShutdownRemoteApplicationEvent() {
2831
// for serializers
2932
}

spring-cloud-bus/src/main/java/org/springframework/cloud/bus/jackson/BusJacksonAutoConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public class BusJacksonAutoConfiguration {
6969
// otherwise RemoteApplicationEventRegistrar will register the bean
7070
@Bean
7171
@ConditionalOnMissingBean(name = "busJsonConverter")
72-
public AbstractMessageConverter busJsonConverter(@Autowired(required = false) ObjectMapper objectMapper) {
72+
public AbstractMessageConverter busJsonConverter(@Autowired(required = false) JsonMapper objectMapper) {
7373
return new BusJacksonMessageConverter(objectMapper);
7474
}
7575

@@ -78,8 +78,8 @@ public AbstractMessageConverter busJsonConverter(@Autowired(required = false) Ob
7878
protected static class CborConfiguration {
7979

8080
@Bean
81-
public AbstractMessageConverter busCborConverter() {
82-
return new BusJacksonMessageConverter(new MimeType("application", "cbor"), CBORMapper.builder().build());
81+
public AbstractMessageConverter busCborConverter(CBORMapper objectMapper) {
82+
return new BusJacksonMessageConverter(new MimeType("application", "cbor"), objectMapper);
8383
}
8484

8585
}

spring-cloud-bus/src/test/java/org/springframework/cloud/bus/RefreshListenerIntegrationTests.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@
2323

2424
import org.springframework.beans.factory.annotation.Autowired;
2525
import org.springframework.boot.autoconfigure.SpringBootApplication;
26+
import org.springframework.boot.resttestclient.TestRestTemplate;
27+
import org.springframework.boot.resttestclient.autoconfigure.AutoConfigureTestRestTemplate;
2628
import org.springframework.boot.test.context.SpringBootTest;
27-
import org.springframework.boot.web.server.test.client.TestRestTemplate;
2829
import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration;
2930
import org.springframework.context.annotation.Import;
3031
import org.springframework.http.HttpStatus;
@@ -43,6 +44,7 @@
4344
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
4445
classes = RefreshListenerIntegrationTests.MyApp.class,
4546
properties = { "management.endpoints.web.exposure.include=*", "spring.application.name=foobar" })
47+
@AutoConfigureTestRestTemplate
4648
public class RefreshListenerIntegrationTests {
4749

4850
@Autowired

0 commit comments

Comments
 (0)