Skip to content

Instantly share code, notes, and snippets.

@SpringBootTest
class TestcontainersDemoApplicationTests {
public static final String DATABASE_NAME = "/demo-application";
@Autowired
private UserRepository userRepository;
private static final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:4.0.10"));
@DynamicPropertySource
static void registerMongoProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", () -> mongoDBContainer.getConnectionString() + DATABASE_NAME);
}
MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:4.0.10"));
mongoDBContainer.start();
public class User {
@Id
private String id;
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public interface UserRepository extends MongoRepository<User, String> {
}
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<!-- Needed to start the test container-->
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mongodb</artifactId>
<version>1.17.6</version>
@RickSlot
RickSlot / wiremock-blog-4.json
Created May 22, 2018 11:13
Wiremock request matching with json body
...
"response": {
"status": 200,
"bodyFileName": "firstResponse.json",
"headers": {
"Content-Type": "application/json"
}
}
...
@RickSlot
RickSlot / wiremock-blog-3.json
Created May 22, 2018 11:12
Wiremock first request
{
"request": {
"method": "GET",
"url": "/api/first"
},
"response": {
"status": 200,
"body": "Hello, Sourcelabs!"
}
}
@RickSlot
RickSlot / wiremock-blog-2.java
Created May 22, 2018 11:10
Start a Wiremock Server
WireMockServer wireMockServer = new WireMockServer(wireMockConfig().port(8089));
wireMockServer.start();
@RickSlot
RickSlot / wiremock-blog-1.xml
Last active May 22, 2018 11:09
Wiremock dependency
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<version>2.17.0</version>
<scope>test</scope>
</dependency>