Commit f8dea516 authored by Sarika Sama's avatar Sarika Sama

added mongodb integration test cases

parent ea59d826
......@@ -14,13 +14,38 @@
<name>webflux-mongodb-order-management</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testcontainers/testcontainers -->
<!-- <dependency>-->
<!-- <groupId>org.testcontainers</groupId>-->
<!-- <artifactId>testcontainers</artifactId>-->
<!-- <version>1.18.0</version>-->
<!-- <scope>test</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
</dependency>
<dependency>
<groupId>cz.jirutka.spring</groupId>
<artifactId>embedmongo-spring</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webflux-ui</artifactId>
......@@ -35,6 +60,11 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
......@@ -73,6 +103,14 @@
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>9</source>
<target>9</target>
</configuration>
</plugin>
</plugins>
</build>
......
package com.nisum.webfluxmongodbordermanagement.service;
import com.nisum.webfluxmongodbordermanagement.entity.User;
import com.nisum.webfluxmongodbordermanagement.repository.UserRepository;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import reactor.core.publisher.Flux;
import reactor.test.StepVerifier;
import java.io.IOException;
@DataMongoTest
//@AutoConfigureWebTestClient
//@DataMongoTest
@ExtendWith(SpringExtension.class)
@ActiveProfiles("test")
public class UsersServiceIntTest {
// private static final String CONNECTION_STRING = "mongodb://%s:%d";
static {
System.setProperty("spring.mongodb.embedded.version","5.0.0");
}
// private WebTestClient webTestClient=WebTestClient.bindToServer().build();
//private MongoTemplate mongoTemplate;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
UserRepository userRepository;
@BeforeEach
public void setup() throws IOException {
// MongoClient mongoClient = MongoClientsients.create(
// MongoClientSettings.builder()
// .applyToClusterSettings(builder ->
// builder.hosts(Arrays.asList(new ServerAddress("hostOne", 27018))))
// .build());
mongoTemplate.getCollection("user").drop();
//mongoTemplate.insert(new Order("6479de74df9120c3dc8ed1a5", "101", "01", "sama927365","oppo099876","success"));
mongoTemplate.insert(new User("2356781", "01", "samasarika","sama@123456","1"));
}
@Test
public void testGetUsers(@Autowired MongoTemplate mongoTemplate) {
Flux<User> result = userRepository.findAll();
StepVerifier.create(result)
// .expectNextMatches(order -> order.getOrderId().equals("101"))
.expectNextMatches(user -> user.getUserId().equals("01"))
.expectComplete()
.verify();
}
// User user1 = new User("1", "01","sama0921","sama@gmail.com","1");
// //User user2 = new User("2","02","sam900921","smkj@gmail.com","1" );
// mongoTemplate.save(user1);
// // mongoTemplate.save(user2);
// DBObject objectToSave = BasicDBObjectBuilder.start()
// .add("userId", "01")
// .get();
//
// // when
// mongoTemplate.save(objectToSave, "user");
//
// // then
// assertThat(mongoTemplate.findAll(DBObject.class, "user")).extracting("userId")
// .as("01");
// }
//
//
// // Call the getUsers API endpoint
// Flux<User> result = (Flux<User>) webTestClient.get().uri("/users")
// .exchange()
// .expectStatus().isOk()
// .expectBodyList(User.class)
// .returnResult()
// .getResponseBody();
// Verify the emitted User objects using StepVerifier
}
server.port=9090
spring.mongodb.embedded.version=5.0.0
spring.data.mongodb.database=user-orders-test-db
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment