Add Dependency In your project
----------------------------------------------------
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation group: 'junit', name: 'junit'
testImplementation group: 'org.mockito', name: 'mockito-all', version: '1.10.19'
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
implementation 'org.springframework.boot:spring-boot-starter-web'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
=====================================================
package com.technoidentity.agastya;
import static org.junit.Assert.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK)
@RunWith(SpringRunner.class)
@AutoConfigureMockMvc
@TestPropertySource(locations = "classpath:application-local.yml")
@TestMethodOrder(OrderAnnotation.class)
class AgastyaServiceApplicationTests {
@Autowired
private MockMvc mvc;
@Test
void contextLoads() {
}
@Test
@Order(1)
public void getAllTelemetryEventsTest() throws Exception {
MvcResult result = mvc.perform(get("/agastya/telemetry")).andReturn();
// MockHttpServletRequest req=result.getRequest();
MockHttpServletResponse resp = result.getResponse();
assertNotNull(resp.getContentAsString());
assertEquals(HttpStatus.OK.value(), resp.getStatus());
}
@Test
@Order(1)
public void getAllTelemetryIfEventsTest() throws Exception {
MvcResult result = mvc.perform(get("/agastya/telemetry")).andReturn();
// MockHttpServletRequest req=result.getRequest();
MockHttpServletResponse resp = result.getResponse();
assertNotNull(resp.getContentAsString());
assertEquals(HttpStatus.OK.value(), resp.getStatus());
}
@Test
@Order(2)
public void getTelemetryEventByIdTest() throws Exception {
MvcResult result = mvc.perform(get("/agastya/telemetry/2")).andReturn();
MockHttpServletResponse resp = result.getResponse();
assertEquals(HttpStatus.OK.value(), resp.getStatus());
assertNotNull(resp.getContentAsString());
System.out.println(resp.getContentAsString());
System.out.println(resp.getStatus());
}
@Test
@Order(3)
public void createTelemetryEventTest() throws Exception {
MvcResult result = mvc
.perform(post("/agastya/telemetry")
.header("Content-Type", "application/json")
//.contentType(MediaType.APPLICATION_JSON)
.content("{\"deviceId\":\"14\",\"timestamp\":null,\"telemetryKey\":\"Krishna\",\"telemetryValue\":\"Joti\"}"))
.andReturn();
MockHttpServletResponse resp = result.getResponse();
assertNotNull(resp.getContentAsString());
assertEquals(HttpStatus.OK.value(), resp.getStatus());
System.out.println("Hello prine");
}
@Test
@Order(4)
public void updateTelemetryEvent() throws Exception {
MvcResult result=mvc.perform(put("/agastya/telemetry/14")
.contentType(MediaType.APPLICATION_JSON)
.content("{\"deviceId\":\"14\",\"timestamp\":null,\"telemetryKey\":\"Krishna\",\"telemetryValue\":\"Joti\"}"))
.andReturn();
MockHttpServletResponse resp = result.getResponse();
assertNotNull(resp.getContentAsString());
assertEquals(HttpStatus.OK.value(), resp.getStatus());
}
@Test
@Order(5)
public void deleteTelemetryEventTest() throws Exception {
MvcResult result = mvc.perform(delete("/agastya/telemetry/14")).andReturn();
MockHttpServletResponse resp = result.getResponse();
assertEquals(HttpStatus.OK.value(), resp.getStatus());
assertNotNull(resp.getContentAsString());
System.out.println(resp.getContentAsString());
}
@Test
@Order(6)
public void createTelemetryTest() throws Exception {
MvcResult result = mvc
.perform(post("/agastya/telemetry")
.header("Content-Type", "application/json")
//.contentType(MediaType.APPLICATION_JSON)
.content("{\"deviceId\":\"14\",\"timestamp\":null,\"telemetryKey\":\"Krishna\",\"telemetryValue\":\"Joti\"}"))
.andReturn();
MockHttpServletResponse resp = result.getResponse();
assertNotNull(resp.getContentAsString());
assertEquals(HttpStatus.OK.value(), resp.getStatus());
System.out.println("Hello prine");
}
/*
@Order(6)
public void deleteAllTelemetryEventTest() throws Exception {
MvcResult result = mvc.perform(delete("/agastya/telemetry")).andReturn();
MockHttpServletResponse resp = result.getResponse();
assertEquals(HttpStatus.OK.value(), resp.getStatus());
assertNotNull(resp.getContentAsString());
System.out.println(resp.getContentAsString());
}*/
}
Comments
Post a Comment