Use testcontainers for MongoDB samples.
...with some exceptions for samples that require a replica set. See #632
This commit is contained in:
committed by
Greg L. Turnquist
parent
2347077ccf
commit
e53d9b5643
@@ -27,6 +27,12 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.test.context.DynamicPropertyRegistry;
|
||||
import org.springframework.test.context.DynamicPropertySource;
|
||||
import org.testcontainers.containers.MongoDBContainer;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
import org.testcontainers.utility.DockerImageName;
|
||||
|
||||
/**
|
||||
* Integration test for {@link PersonRepository}.
|
||||
@@ -34,9 +40,19 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
||||
* @author Thomas Darimont
|
||||
* @author Oliver Gierke
|
||||
*/
|
||||
@Testcontainers
|
||||
@SpringBootTest
|
||||
class PersonRepositoryIntegrationTest {
|
||||
|
||||
@Container //
|
||||
private static MongoDBContainer mongoDBContainer = new MongoDBContainer(
|
||||
DockerImageName.parse("mongo:5.0"));
|
||||
|
||||
@DynamicPropertySource
|
||||
static void setProperties(DynamicPropertyRegistry registry) {
|
||||
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
|
||||
}
|
||||
|
||||
@Autowired PersonRepository repository;
|
||||
|
||||
private Person dave, oliver, carter, admin;
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# Random port for embedded MongoDB
|
||||
spring.data.mongodb.port=0
|
||||
spring.mongodb.embedded.version=3.6.0
|
||||
Reference in New Issue
Block a user