Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.demomongo;
- import org.junit.ClassRule;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
- import org.springframework.context.ApplicationContextInitializer;
- import org.springframework.context.ConfigurableApplicationContext;
- import org.springframework.data.mongodb.core.MongoTemplate;
- import org.springframework.test.context.ContextConfiguration;
- import org.springframework.test.context.junit4.SpringRunner;
- import org.springframework.test.context.support.TestPropertySourceUtils;
- import org.testcontainers.containers.GenericContainer;
- import static java.lang.String.format;
- import static org.assertj.core.api.Assertions.assertThat;
- import java.util.List;
- import com.example.demomongo.model.Address;
- import com.example.demomongo.model.Person;
- import com.example.demomongo.dao.PersonRepository;
- @RunWith(SpringRunner.class)
- @DataMongoTest
- @ContextConfiguration(initializers = TestMongoDockerJUnit4.Initializer.class) //testcontainers v junit 5
- public class TestMongoDockerJUnit4 {
- @Autowired
- private MongoTemplate mongoTemplate;
- @Autowired
- PersonRepository personRepository;
- @ClassRule//container v junit 5
- public static GenericContainer mongoContainer = new GenericContainer("mongo:4.0");
- @Test
- public void name() {
- mongoTemplate.insert(new Person("Person First",3, "0905567888","[email protected]",1000, new Address("Zlin", "Czech republic")));
- mongoTemplate.insert(new Person("Person Second",3, "0905567888","[email protected]",1000, new Address("Zlin", "Czech republic")));
- List<Person> all = personRepository.findAll();
- assertThat(all.size()).isEqualTo(2);
- }
- static class Initializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
- @Override
- public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
- TestPropertySourceUtils.addInlinedPropertiesToEnvironment(configurableApplicationContext,
- format("spring.data.mongodb.uri=mongodb://%s:%s",mongoContainer.getContainerIpAddress(), mongoContainer.getMappedPort(27017)));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment