Skip to content

Commit f707f11

Browse files
committed
chore: clean codes
1 parent d8280a3 commit f707f11

File tree

12 files changed

+159
-179
lines changed

12 files changed

+159
-179
lines changed

boot-data-couchbase/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@
4848
<artifactId>reactor-test</artifactId>
4949
<scope>test</scope>
5050
</dependency>
51+
<dependency>
52+
<groupId>org.springframework.boot</groupId>
53+
<artifactId>spring-boot-testcontainers</artifactId>
54+
<scope>test</scope>
55+
</dependency>
5156
<dependency>
5257
<groupId>org.testcontainers</groupId>
5358
<artifactId>junit-jupiter</artifactId>

boot-data-couchbase/src/main/resources/application.properties

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# couchbase connection
2-
spring.couchbase.connection-string=couchbase://localhost
3-
spring.couchbase.username=Administrator
4-
spring.couchbase.password=password
5-
# couchbase bucket name
6-
spring.data.couchbase.bucket-name=demo
2+
#spring.couchbase.connection-string=couchbase://localhost
3+
#spring.couchbase.username=Administrator
4+
#spring.couchbase.password=password
5+
## couchbase bucket name
6+
#spring.data.couchbase.bucket-name=demo
77
# by default, it is disabled, you have to enable auto indexing in Couchbase console.
88
spring.data.couchbase.autoIndex=true
99
# logging config

boot-data-couchbase/src/test/java/com/example/demo/PostRepositoryTest.java

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
import org.junit.jupiter.api.BeforeEach;
66
import org.junit.jupiter.api.Test;
77
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.boot.test.autoconfigure.data.couchbase.DataCouchbaseTest;
89
import org.springframework.boot.test.context.SpringBootTest;
910
import org.springframework.boot.test.util.TestPropertyValues;
1011
import org.springframework.context.ApplicationContextInitializer;
1112
import org.springframework.context.ApplicationListener;
1213
import org.springframework.context.ConfigurableApplicationContext;
14+
import org.springframework.context.annotation.Import;
1315
import org.springframework.context.event.ContextClosedEvent;
1416
import org.springframework.data.domain.Sort;
1517
import org.springframework.test.context.ActiveProfiles;
@@ -25,39 +27,12 @@
2527

2628
import static org.assertj.core.api.Assertions.assertThat;
2729

28-
@SpringBootTest
29-
@ContextConfiguration(initializers = PostRepositoryTest.TestContainerInitializer.class)
30+
@DataCouchbaseTest
31+
@Import(TestcontainersConfiguration.class)
3032
@ActiveProfiles("test")
3133
@Slf4j
3234
class PostRepositoryTest {
3335

34-
static class TestContainerInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
35-
private static final String COUCHBASE_IMAGE_NAME = "couchbase";
36-
private static final String DEFAULT_IMAGE_NAME = "couchbase/server:6";
37-
private static final DockerImageName DEFAULT_IMAGE = DockerImageName.parse(COUCHBASE_IMAGE_NAME)
38-
.asCompatibleSubstituteFor(DEFAULT_IMAGE_NAME);
39-
40-
@Override
41-
public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
42-
final CouchbaseContainer couchbaseContainer = new CouchbaseContainer(DEFAULT_IMAGE)
43-
.withCredentials("Administrator", "password")
44-
.withBucket(new BucketDefinition("demo").withPrimaryIndex(true))
45-
.withStartupTimeout(Duration.ofSeconds(60));
46-
47-
couchbaseContainer.start();
48-
49-
configurableApplicationContext
50-
.addApplicationListener((ApplicationListener<ContextClosedEvent>) event -> couchbaseContainer.stop());
51-
TestPropertyValues.of(
52-
"spring.couchbase.connection-string=" + couchbaseContainer.getConnectionString(),
53-
"spring.couchbase.username=" + couchbaseContainer.getUsername(),
54-
"spring.couchbase.password=" + couchbaseContainer.getPassword(),
55-
"spring.data.couchbase.bucket-name=demo"
56-
)
57-
.applyTo(configurableApplicationContext.getEnvironment());
58-
}
59-
}
60-
6136
@Autowired
6237
private PostRepository posts;
6338

@@ -74,7 +49,8 @@ public void setup() {
7449
)
7550
.subscribe(data -> {
7651
log.debug("saved data: {}", data);
77-
countDownLatch.countDown();;
52+
countDownLatch.countDown();
53+
;
7854
});
7955
countDownLatch.await(1000, java.util.concurrent.TimeUnit.MILLISECONDS);
8056
}
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
package com.example.demo;
2+
3+
import lombok.SneakyThrows;
4+
import lombok.extern.slf4j.Slf4j;
5+
import org.junit.jupiter.api.BeforeEach;
6+
import org.junit.jupiter.api.Test;
7+
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.boot.test.context.SpringBootTest;
9+
import org.springframework.boot.test.util.TestPropertyValues;
10+
import org.springframework.context.ApplicationContextInitializer;
11+
import org.springframework.context.ApplicationListener;
12+
import org.springframework.context.ConfigurableApplicationContext;
13+
import org.springframework.context.event.ContextClosedEvent;
14+
import org.springframework.data.domain.Sort;
15+
import org.springframework.test.context.ActiveProfiles;
16+
import org.springframework.test.context.ContextConfiguration;
17+
import org.testcontainers.couchbase.BucketDefinition;
18+
import org.testcontainers.couchbase.CouchbaseContainer;
19+
import org.testcontainers.utility.DockerImageName;
20+
import reactor.test.StepVerifier;
21+
22+
import java.time.Duration;
23+
import java.util.List;
24+
import java.util.concurrent.CountDownLatch;
25+
26+
import static org.assertj.core.api.Assertions.assertThat;
27+
28+
@SpringBootTest
29+
@ContextConfiguration(initializers = PostRepositoryWithContextInitializerTest.TestContainerInitializer.class)
30+
@ActiveProfiles("test")
31+
@Slf4j
32+
class PostRepositoryWithContextInitializerTest {
33+
34+
static class TestContainerInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
35+
private static final String COUCHBASE_IMAGE_NAME = "couchbase";
36+
private static final String DEFAULT_IMAGE_NAME = "couchbase/server:7";
37+
private static final DockerImageName DEFAULT_IMAGE = DockerImageName.parse(COUCHBASE_IMAGE_NAME)
38+
.asCompatibleSubstituteFor(DEFAULT_IMAGE_NAME);
39+
40+
@Override
41+
public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
42+
final CouchbaseContainer couchbaseContainer = new CouchbaseContainer(DEFAULT_IMAGE)
43+
.withCredentials("Administrator", "password")
44+
.withBucket(new BucketDefinition("demo")
45+
.withPrimaryIndex(true)
46+
)
47+
.withStartupTimeout(Duration.ofSeconds(60));
48+
49+
couchbaseContainer.start();
50+
51+
configurableApplicationContext
52+
.addApplicationListener((ApplicationListener<ContextClosedEvent>) event -> couchbaseContainer.stop());
53+
TestPropertyValues.of(
54+
"spring.couchbase.connection-string=" + couchbaseContainer.getConnectionString(),
55+
"spring.couchbase.username=" + couchbaseContainer.getUsername(),
56+
"spring.couchbase.password=" + couchbaseContainer.getPassword(),
57+
"spring.data.couchbase.bucket-name=demo"
58+
)
59+
.applyTo(configurableApplicationContext.getEnvironment());
60+
}
61+
}
62+
63+
@Autowired
64+
private PostRepository posts;
65+
66+
@SneakyThrows
67+
@BeforeEach
68+
public void setup() {
69+
var countDownLatch = new CountDownLatch(1);
70+
this.posts
71+
.saveAll(
72+
List.of(
73+
Post.builder().title("Post one").content("content of post one").build(),
74+
Post.builder().title("Post two").content("content of post two").build()
75+
)
76+
)
77+
.subscribe(data -> {
78+
log.debug("saved data: {}", data);
79+
countDownLatch.countDown();
80+
;
81+
});
82+
countDownLatch.await(1000, java.util.concurrent.TimeUnit.MILLISECONDS);
83+
}
84+
85+
@Test
86+
void testLoadUsers() {
87+
this.posts.findAll(Sort.by(Sort.Direction.ASC, "title"))
88+
.log()
89+
.as(StepVerifier::create)
90+
.consumeNextWith(user -> {
91+
assertThat(user.getTitle()).isEqualTo("Post one");
92+
//verify data auditing
93+
assertThat(user.getCreatedBy()).isEqualTo("hantsy");
94+
assertThat(user.getCreatedAt()).isNotNull();
95+
})
96+
.consumeNextWith(user -> assertThat(user.getTitle()).isEqualTo("Post two"))
97+
//.expectNextCount(2)
98+
.verifyComplete();
99+
}
100+
101+
}

boot-data-couchbase/src/test/java/com/example/demo/PostRepositoryWithTestcontainresTest.java renamed to boot-data-couchbase/src/test/java/com/example/demo/PostRepositoryWithTestcontainersTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
@Testcontainers
3131
@ActiveProfiles("test")
3232
@Slf4j
33-
class PostRepositoryWithTestcontainresTest {
33+
class PostRepositoryWithTestcontainersTest {
3434

3535

3636
@TestConfiguration
@@ -39,7 +39,7 @@ static class TestConfig {
3939
}
4040

4141
private static final String COUCHBASE_IMAGE_NAME = "couchbase";
42-
private static final String DEFAULT_IMAGE_NAME = "couchbase/server:6";
42+
private static final String DEFAULT_IMAGE_NAME = "couchbase/server:7";
4343
private static final DockerImageName DEFAULT_IMAGE = DockerImageName.parse(COUCHBASE_IMAGE_NAME)
4444
.asCompatibleSubstituteFor(DEFAULT_IMAGE_NAME);
4545

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.example.demo;
2+
3+
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
4+
import org.springframework.context.annotation.Bean;
5+
import org.springframework.context.annotation.Configuration;
6+
import org.testcontainers.couchbase.BucketDefinition;
7+
import org.testcontainers.couchbase.CouchbaseContainer;
8+
import org.testcontainers.utility.DockerImageName;
9+
10+
import java.time.Duration;
11+
12+
@Configuration(proxyBeanMethods = false)
13+
public class TestcontainersConfiguration {
14+
private static final String COUCHBASE_IMAGE_NAME = "couchbase";
15+
private static final String DEFAULT_IMAGE_NAME = "couchbase/server";
16+
private static final DockerImageName DEFAULT_IMAGE = DockerImageName.parse(COUCHBASE_IMAGE_NAME)
17+
.asCompatibleSubstituteFor(DEFAULT_IMAGE_NAME);
18+
19+
@Bean
20+
@ServiceConnection
21+
public CouchbaseContainer couchbaseContainer() {
22+
return new CouchbaseContainer(DEFAULT_IMAGE)
23+
.withCredentials("Administrator", "password")
24+
.withBucket(new BucketDefinition("demo").withPrimaryIndex(true))
25+
.withStartupAttempts(5)
26+
.withStartupTimeout(Duration.ofSeconds(120));
27+
}
28+
}

session-data-mongo/nbactions.xml

Lines changed: 0 additions & 46 deletions
This file was deleted.

session-data-mongo/pom.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,13 +126,16 @@
126126
<artifactId>assertj-core</artifactId>
127127
<scope>test</scope>
128128
</dependency>
129+
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/htmlunit-driver -->
129130
<dependency>
130131
<groupId>org.seleniumhq.selenium</groupId>
131132
<artifactId>htmlunit-driver</artifactId>
133+
<version>4.13.0</version>
132134
<scope>test</scope>
133135
</dependency>
136+
134137
<dependency>
135-
<groupId>net.sourceforge.htmlunit</groupId>
138+
<groupId>org.htmlunit</groupId>
136139
<artifactId>htmlunit</artifactId>
137140
<scope>test</scope>
138141
</dependency>

session-data-redis/nbactions.xml

Lines changed: 0 additions & 46 deletions
This file was deleted.

session-data-redis/pom.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,16 @@
129129
<artifactId>assertj-core</artifactId>
130130
<scope>test</scope>
131131
</dependency>
132+
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/htmlunit-driver -->
132133
<dependency>
133134
<groupId>org.seleniumhq.selenium</groupId>
134135
<artifactId>htmlunit-driver</artifactId>
136+
<version>4.13.0</version>
135137
<scope>test</scope>
136138
</dependency>
139+
137140
<dependency>
138-
<groupId>net.sourceforge.htmlunit</groupId>
141+
<groupId>org.htmlunit</groupId>
139142
<artifactId>htmlunit</artifactId>
140143
<scope>test</scope>
141144
</dependency>

0 commit comments

Comments
 (0)