Skip to content

Commit 22b6864

Browse files
committed
Updated parent and Spring Boot versions, and added support for Spring Boot 3
1 parent d769688 commit 22b6864

File tree

6 files changed

+62
-20
lines changed

6 files changed

+62
-20
lines changed

.github/workflows/maven.yml

+13
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,19 @@ jobs:
4747
- name: Test with Maven
4848
run: mvn test --file pom.xml -B --no-transfer-progress -Pmin-versions
4949

50+
spring-boot-3:
51+
runs-on: ubuntu-latest
52+
steps:
53+
- uses: actions/checkout@v3
54+
- name: Set up JDK 17
55+
uses: actions/setup-java@v3
56+
with:
57+
java-version: '17'
58+
distribution: 'temurin'
59+
cache: 'maven'
60+
- name: Build with Maven
61+
run: mvn compile --file pom.xml -B --no-transfer-progress -Pspring-boot-3
62+
5063
native-module:
5164
runs-on: ubuntu-latest
5265
if: ${{false}} # no module descriptor available

pom.xml

+12-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>com.github.robtimus</groupId>
2424
<artifactId>robtimus-parent</artifactId>
25-
<version>1.4.3</version>
25+
<version>1.5</version>
2626
<relativePath />
2727
</parent>
2828

@@ -67,7 +67,7 @@
6767
<version.httpclient>4.5.13</version.httpclient>
6868
<version.httpmime>4.5.13</version.httpmime>
6969
<version.powermock>2.0.9</version.powermock>
70-
<version.spring-boot>2.7.0</version.spring-boot>
70+
<version.spring-boot>2.7.6</version.spring-boot>
7171

7272
<robtimus.site-index.generate>false</robtimus.site-index.generate>
7373
</properties>
@@ -300,11 +300,20 @@
300300
<properties>
301301
<version.commons-codec>1.10</version.commons-codec>
302302
<version.connect-sdk-java>6.0.0</version.connect-sdk-java>
303-
<version.gson>2.0</version.gson>
303+
<version.gson>2.6</version.gson>
304304
<version.httpclient>4.4</version.httpclient>
305305
<version.httpmime>4.4</version.httpmime>
306306
<version.spring-boot>2.2.0.RELEASE</version.spring-boot>
307307
</properties>
308308
</profile>
309+
310+
<profile>
311+
<id>spring-boot-3</id>
312+
<properties>
313+
<version.java>17</version.java>
314+
<version.spring-boot>3.0.0</version.spring-boot>
315+
<version.slf4j>2.0.4</version.slf4j>
316+
</properties>
317+
</profile>
309318
</profiles>
310319
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkAuthenticatorAutoConfiguration
2+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkClientAutoConfiguration
3+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkCommunicatorAutoConfiguration
4+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkCommunicatorLoggerAutoConfiguration
5+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkConnectionAutoConfiguration
6+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkConnectionsEndpointAutoConfiguration
7+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkHealthIndicatorAutoConfiguration
8+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkLoggingEndpointAutoConfiguration
9+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkMarshallerAutoConfiguration
10+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkMerchantClientAutoConfiguration
11+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkMetaDataProviderAutoConfiguration
12+
com.github.robtimus.connect.sdk.java.springboot.autoconfigure.ConnectSdkSessionAutoConfiguration

src/test/java/com/github/robtimus/connect/sdk/java/springboot/autoconfigure/ConnectSdkConnectionsEndpointAutoConfigurationTest.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ void testNoAutoConfigurationWithMissingClass() throws IOException {
4141
try (FilteredClassLoader classLoader = new FilteredClassLoader(Endpoint.class)) {
4242
contextRunner
4343
.withClassLoader(classLoader)
44-
.withPropertyValues("management.endpoint.connectSdkConnections.enabled=true", "spring.jmx.enabled=true")
44+
.withPropertyValues("management.endpoint.connectSdkConnections.enabled=true", "spring.jmx.enabled=true",
45+
"management.endpoints.jmx.exposure.include=connectSdkConnections")
4546
.run(context -> {
4647
assertThat(context).doesNotHaveBean(ConnectionsEndpoint.class);
4748
});
@@ -52,7 +53,8 @@ void testNoAutoConfigurationWithMissingClass() throws IOException {
5253
void testNoAutoConfigurationWithExistingBean() {
5354
contextRunner
5455
.withUserConfiguration(ExistingBeanProvider.class)
55-
.withPropertyValues("management.endpoint.connectSdkConnections.enabled=true", "spring.jmx.enabled=true")
56+
.withPropertyValues("management.endpoint.connectSdkConnections.enabled=true", "spring.jmx.enabled=true",
57+
"management.endpoints.jmx.exposure.include=connectSdkConnections")
5658
.run(context -> {
5759
assertThat(context).doesNotHaveBean("connectSdkConnectionsEndpoint");
5860
assertThat(context).hasSingleBean(ConnectionsEndpoint.class);
@@ -81,7 +83,8 @@ void testAutoConfigurationWithEnabledEndpoint() {
8183
@Test
8284
void testAutoConfigurationWithAvailableEndpoint() {
8385
contextRunner
84-
.withPropertyValues("management.endpoint.connectSdkConnections.enabled=true", "spring.jmx.enabled=true")
86+
.withPropertyValues("management.endpoint.connectSdkConnections.enabled=true", "spring.jmx.enabled=true",
87+
"management.endpoints.jmx.exposure.include=connectSdkConnections")
8588
.run(context -> {
8689
assertThat(context).hasBean("connectSdkConnectionsEndpoint");
8790
assertThat(context).hasSingleBean(ConnectionsEndpoint.class);

src/test/java/com/github/robtimus/connect/sdk/java/springboot/autoconfigure/ConnectSdkLoggingEndpointAutoConfigurationTest.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ void testNoAutoConfigurationWithMissingClass() throws IOException {
4141
try (FilteredClassLoader classLoader = new FilteredClassLoader(Endpoint.class)) {
4242
contextRunner
4343
.withClassLoader(classLoader)
44-
.withPropertyValues("management.endpoint.connectSdkLogging.enabled=true", "spring.jmx.enabled=true")
44+
.withPropertyValues("management.endpoint.connectSdkLogging.enabled=true", "spring.jmx.enabled=true",
45+
"management.endpoints.jmx.exposure.include=connectSdkLogging")
4546
.run(context -> {
4647
assertThat(context).doesNotHaveBean(LoggingEndpoint.class);
4748
});
@@ -52,7 +53,8 @@ void testNoAutoConfigurationWithMissingClass() throws IOException {
5253
void testNoAutoConfigurationWithExistingBean() {
5354
contextRunner
5455
.withUserConfiguration(ExistingBeanProvider.class)
55-
.withPropertyValues("management.endpoint.connectSdkLogging.enabled=true", "spring.jmx.enabled=true")
56+
.withPropertyValues("management.endpoint.connectSdkLogging.enabled=true", "spring.jmx.enabled=true",
57+
"management.endpoints.jmx.exposure.include=connectSdkLogging")
5658
.run(context -> {
5759
assertThat(context).doesNotHaveBean("connectSdkLoggingEndpoint");
5860
assertThat(context).hasSingleBean(LoggingEndpoint.class);
@@ -81,7 +83,8 @@ void testAutoConfigurationWithEnabledEndpoint() {
8183
@Test
8284
void testAutoConfigurationWithAvailableEndpoint() {
8385
contextRunner
84-
.withPropertyValues("management.endpoint.connectSdkLogging.enabled=true", "spring.jmx.enabled=true")
86+
.withPropertyValues("management.endpoint.connectSdkLogging.enabled=true", "spring.jmx.enabled=true",
87+
"management.endpoints.jmx.exposure.include=connectSdkLogging")
8588
.run(context -> {
8689
assertThat(context).hasBean("connectSdkLoggingEndpoint");
8790
assertThat(context).hasSingleBean(LoggingEndpoint.class);

src/test/java/com/github/robtimus/connect/sdk/java/springboot/autoconfigure/FullAutoConfigurationTest.java

+13-11
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.junit.jupiter.api.Test;
2424
import org.springframework.beans.factory.annotation.Autowired;
2525
import org.springframework.boot.autoconfigure.AutoConfigurations;
26+
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2627
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
2728
import org.springframework.context.ApplicationContext;
2829
import org.springframework.context.annotation.Bean;
@@ -50,13 +51,7 @@
5051
class FullAutoConfigurationTest {
5152

5253
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
53-
.withConfiguration(AutoConfigurations.of(
54-
ConnectSdkAuthenticatorAutoConfiguration.class, ConnectSdkClientAutoConfiguration.class,
55-
ConnectSdkConnectionsEndpointAutoConfiguration.class, ConnectSdkCommunicatorAutoConfiguration.class,
56-
ConnectSdkCommunicatorLoggerAutoConfiguration.class, ConnectSdkConnectionAutoConfiguration.class,
57-
ConnectSdkHealthIndicatorAutoConfiguration.class, ConnectSdkLoggingEndpointAutoConfiguration.class,
58-
ConnectSdkMarshallerAutoConfiguration.class, ConnectSdkMerchantClientAutoConfiguration.class,
59-
ConnectSdkMetaDataProviderAutoConfiguration.class, ConnectSdkSessionAutoConfiguration.class));
54+
.withConfiguration(AutoConfigurations.of(AutoConfigurationLoader.class));
6055

6156
@Test
6257
void testWithNoProperties() {
@@ -122,7 +117,8 @@ void testWithMinimalPropertiesForHealth() {
122117
void testWithMinimalPropertiesForEndpoints() {
123118
contextRunner
124119
.withPropertyValues("management.endpoint.connectSdkConnections.enabled=true",
125-
"management.endpoint.connectSdkLogging.enabled=true", "spring.jmx.enabled=true")
120+
"management.endpoint.connectSdkLogging.enabled=true", "spring.jmx.enabled=true",
121+
"management.endpoints.jmx.exposure.include=connectSdkConnections,connectSdkLogging")
126122
.run(context -> {
127123
assertThat(context).doesNotHaveBean(Authenticator.class);
128124
assertThat(context).doesNotHaveBean(Client.class);
@@ -150,7 +146,7 @@ void testWithAllPropertiesButShoppingCartExtensionExtensionId() {
150146
"connect.api.integrator=Integrator", "connect.api.shopping-cart-extension.creator=Creator",
151147
"connect.api.shopping-cart-extension.name=name", "connect.api.shopping-cart-extension.version=version",
152148
"management.endpoint.connectSdkConnections.enabled=true", "management.endpoint.connectSdkLogging.enabled=true",
153-
"spring.jmx.enabled=true")
149+
"spring.jmx.enabled=true", "management.endpoints.jmx.exposure.include=connectSdkConnections,connectSdkLogging")
154150
.run(context -> {
155151
assertThat(context).hasSingleBean(Authenticator.class);
156152
assertThat(context).hasSingleBean(Client.class);
@@ -179,7 +175,7 @@ void testWithAllProperties() {
179175
"connect.api.shopping-cart-extension.name=name", "connect.api.shopping-cart-extension.version=version",
180176
"connect.api.shopping-cart-extension.extension-id=extensionId",
181177
"management.endpoint.connectSdkConnections.enabled=true", "management.endpoint.connectSdkLogging.enabled=true",
182-
"spring.jmx.enabled=true")
178+
"spring.jmx.enabled=true", "management.endpoints.jmx.exposure.include=connectSdkConnections,connectSdkLogging")
183179
.run(context -> {
184180
assertThat(context).hasSingleBean(Authenticator.class);
185181
assertThat(context).hasSingleBean(Client.class);
@@ -209,7 +205,7 @@ void testWithAllPropertiesAndAdditionalBeans() {
209205
"connect.api.shopping-cart-extension.name=name", "connect.api.shopping-cart-extension.version=version",
210206
"connect.api.shopping-cart-extension.extension-id=extensionId",
211207
"management.endpoint.connectSdkConnections.enabled=true", "management.endpoint.connectSdkLogging.enabled=true",
212-
"spring.jmx.enabled=true")
208+
"spring.jmx.enabled=true", "management.endpoints.jmx.exposure.include=connectSdkConnections,connectSdkLogging")
213209
.run(context -> {
214210
assertThat(context).hasSingleBean(Authenticator.class);
215211
assertThat(context).hasSingleBean(Client.class);
@@ -393,4 +389,10 @@ MetaDataProviderBuilderCustomizer metaDataProviderBuilderCustomizer() {
393389
return builder -> builder.withAdditionalRequestHeader(new RequestHeader("custom-name", "custom-value"));
394390
}
395391
}
392+
393+
@Configuration
394+
@EnableAutoConfiguration
395+
static class AutoConfigurationLoader {
396+
// no content
397+
}
396398
}

0 commit comments

Comments
 (0)