Commit 7036f8c9 authored by Syed Javed Ali's avatar Syed Javed Ali

Added http response status and Stepverifier test

parent a0b5d0b7
......@@ -27,7 +27,7 @@ public class EmployeeController {
@PostMapping(path = "/create")
@ResponseStatus(HttpStatus.CREATED)
public Mono<Employee> create(@RequestBody Employee e) {
return employeeService.insert(e);
return employeeService.insert(e).log();
}
/**
......@@ -37,7 +37,7 @@ public class EmployeeController {
*/
@GetMapping("/{id}")
public ResponseEntity<Mono<Employee>> findById(@PathVariable("id") Integer id) {
Mono<Employee> emp = employeeService.fetchById(id);
Mono<Employee> emp = employeeService.fetchById(id).log();
HttpStatus status = emp!=null ?HttpStatus.OK:HttpStatus.NOT_FOUND;
return new ResponseEntity<Mono<Employee>>(emp, status);
}
......@@ -48,8 +48,11 @@ public class EmployeeController {
* @return Flux
*/
@GetMapping("/name/{name}")
public Flux<Employee> findByName(@PathVariable("name") String name) {
return employeeService.fetchByName(name);
public ResponseEntity<Flux<Employee>> findByName(@PathVariable("name") String name) {
Flux<Employee> employeeFlux=employeeService.fetchByName(name).log();
HttpStatus status=employeeFlux!=null?HttpStatus.OK:HttpStatus.NOT_FOUND;
return new ResponseEntity<>(employeeFlux,status);
}
/**
......@@ -58,7 +61,7 @@ public class EmployeeController {
*/
@GetMapping(value = "", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<Employee> findAll() {
Flux<Employee> emps = employeeService.fetchAll();
Flux<Employee> emps = employeeService.fetchAll().log();
return emps;
}
......@@ -68,9 +71,8 @@ public class EmployeeController {
* @return Mono
*/
@PutMapping("/update")
@ResponseStatus(HttpStatus.OK)
public Mono<Employee> update(@RequestBody Employee emp) {
return employeeService.modify(emp);
return employeeService.modify(emp).log();
}
/**
......@@ -79,7 +81,7 @@ public class EmployeeController {
* @return Void
*/
@DeleteMapping("/delete/{id}")
@ResponseStatus(HttpStatus.OK)
@ResponseStatus(HttpStatus.NO_CONTENT)
public void deleteById(@PathVariable("id") Integer id) {
employeeService.removeById(id);
}
......
......@@ -24,6 +24,7 @@ public class EmployeeServiceImpl implements IEmployeeService {
*/
@Override
public Mono<Employee> insert(Employee emp) {
return employeeRepository.save(emp);
}
......
......@@ -156,11 +156,11 @@ public class EmployeeControllerTest {
{
Mono<Void> voidReturn = Mono.empty();
Mockito
.when(repository.deleteById(1))
.when(repository.deleteById(201))
.thenReturn(voidReturn);
webTestClient.delete().uri("/delete/{id}", 1)
webTestClient.delete().uri("/delete/{id}", 201)
.exchange()
.expectStatus().isOk();
.expectStatus().isNoContent();
}
}
......@@ -9,6 +9,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
import static org.junit.jupiter.api.Assertions.assertEquals;
......@@ -27,6 +28,10 @@ public class EmployeeServiceTest {
Mono<Employee> employeeMono=Mono.just(employee);
Mockito.when(employeeRepository.save(employee)).thenReturn(employeeMono);
assertEquals(employeeMono,employeeService.insert(employee));
StepVerifier.create(employeeService.insert(employee).log())
.expectNext(employee)
.expectComplete()
.verify();
}
......@@ -36,15 +41,24 @@ public class EmployeeServiceTest {
Mono<Employee> employeeMono=Mono.just(employee);
Mockito.when(employeeRepository.findById(101)).thenReturn(employeeMono);
assertEquals(employeeMono,employeeService.fetchById(101));
StepVerifier.create(employeeService.fetchById(101).log())
.expectNext(employee)
.expectComplete()
.verify();
}
@Test
void testEmployeeFetchByName(){
Employee employee=new Employee(101,"SYED",1500L);
Flux<Employee> employeeFlux=Flux.just(employee);
Mockito.when(employeeRepository.findByName("SYED")).thenReturn(employeeFlux);
assertEquals(employeeFlux,employeeService.fetchByName("SYED"));
StepVerifier.create(employeeService.fetchByName("SYED").log())
.expectNext(employee)
.expectComplete()
.verify();
}
......@@ -54,6 +68,10 @@ public class EmployeeServiceTest {
Flux<Employee> employeeFlux=Flux.just(employee);
Mockito.when(employeeRepository.findAll()).thenReturn(employeeFlux);
assertEquals(employeeFlux,employeeService.fetchAll());
StepVerifier.create(employeeService.fetchAll())
.expectNext(employee)
.expectComplete()
.verify();
}
@Test
......@@ -62,6 +80,10 @@ public class EmployeeServiceTest {
Mono<Employee> employeeMono=Mono.just(employee);
Mockito.when(employeeRepository.save(employee)).thenReturn(employeeMono);
assertEquals(employeeMono,employeeService.modify(employee));
StepVerifier.create(employeeService.modify(employee))
.expectNext(employee)
.expectComplete()
.verify();
}
@Test
......@@ -69,6 +91,9 @@ public class EmployeeServiceTest {
Mono<Void> voidMono=Mono.empty();
Mockito.when(employeeRepository.deleteById(1)).thenReturn(voidMono);
assertEquals(voidMono,employeeService.removeById(1));
StepVerifier.create(employeeService.removeById(1))
.expectComplete()
.verify();
}
......
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