Skip to content

test insert with mongodb by making get request #156

@dhanyn10

Description

@dhanyn10

Blog post you are referring to

blog from url: https://rieckpil.de/mongodb-testcontainers-setup-for-datamongotest/

Your Question

im trying to make simple insert database testing, below is my test code

@Testcontainers
@SpringBootTest
@DisplayName("users testing")
@DataMongoTest(excludeAutoConfiguration = EmbeddedMongoAutoConfiguration.class)
class OrderApplicationUsersTests {
	
	@Container
	static MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:6.0.3"));

	@DynamicPropertySource
	static void setProperties(DynamicPropertyRegistry registry) {
		registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
	}
	
	private UserRepository userRepo;
	
	private String uriContainer = mongoDBContainer.getIpAddress();
	
	@Test
	@DisplayName("add admin")
	void isertAdmin() throws IOException {
		userRepo.deleteAll();
		URL url = new URL(uriContainer + "https://github.com/users/admin");
		URLConnection conn = url.openConnection();
		InputStream in = conn.getInputStream();
		String encoding = conn.getContentEncoding();
		encoding = encoding == null ? "UTF-8" : encoding;
		String body = IOUtils.toString(in, encoding);
		MatcherAssert.assertThat(body, CoreMatchers.containsString("admin generated"));
	}
	
	@Test
	@DisplayName("add admin failed")
	void isertAdminTwice() throws IOException {
		URL url = new URL(uriContainer + "https://github.com/users/admin");
		URLConnection conn = url.openConnection();
		InputStream in = conn.getInputStream();
		String encoding = conn.getContentEncoding();
		encoding = encoding == null ? "UTF-8" : encoding;
		String body = IOUtils.toString(in, encoding);
		MatcherAssert.assertThat(body, CoreMatchers.containsString("admin only generated once"));
	}

also already post question to stackoverflow https://stackoverflow.com/questions/75198138/how-to-keep-data-when-testing-insert-to-mongodb-collection-with-spring-inside-do

Context (Environment, Dependency Versions, Framework)

dna@dna:~$ java --version
openjdk 17.0.5 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu122.04)
OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu122.04, mixed mode, sharing)
dna@dna:~$ mvn --version
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 17.0.5, vendor: Private Build, runtime: /usr/lib/jvm/java-17-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-41-generic", arch: "amd64", family: "unix"

my pom.xml https://github.com/dhanyn10/tes-jejakin-be/blob/main/order/pom.xml
im using Linux Mint 21 Cinnamon
my error log: https://github.com/dhanyn10/tes-jejakin-be/actions/runs/3980299926/jobs/6823284040

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions