use of com.arbindo.mimock.entities.Mock in project mimock by arbindo.
the class MockManagementController method getMockById.
@Operation(summary = "Get Mock", description = "Get mock based on the given mockId.", tags = { "Mock Management" })
@GetMapping("{mockId}")
public ResponseEntity<GenericResponseWrapper<Mock>> getMockById(@PathVariable String mockId) {
Mock mock = mockManagementService.getMockById(mockId);
if (mock != null) {
GenericResponseWrapper<Mock> genericResponseWrapper = getGenericResponseWrapper(HttpStatus.OK, Messages.GET_RESOURCE_SUCCESS, mock);
return ResponseEntity.ok(genericResponseWrapper);
}
GenericResponseWrapper<Mock> genericResponseWrapper = getGenericResponseWrapper(HttpStatus.BAD_REQUEST, Messages.GET_RESOURCE_FAILED, null);
return ResponseEntity.badRequest().body(genericResponseWrapper);
}
use of com.arbindo.mimock.entities.Mock in project mimock by arbindo.
the class GenericMockRequestService method serveMockRequest.
public DomainModelForMock serveMockRequest(GenericRequestModel request) throws MatchingMockNotFoundException, IOException {
log.log(Level.INFO, "Fetching matching mock from the DB");
String route = request.getRoute();
HttpMethod httpMethod = httpMethod(request.getHttpMethod());
String queryParam = request.getQueryParam();
Optional<Mock> resultFromDB = getResultFromDB(route, httpMethod, queryParam);
if (resultFromDB.isEmpty()) {
log.log(Level.ERROR, "No matching rows returned from DB");
String errorMessage = "Matching mock does not exist";
throw new MatchingMockNotFoundException(errorMessage);
}
log.log(Level.INFO, "Returning matching mock");
Mock matchingMock = resultFromDB.get();
if (shouldValidateRequestHeaders(matchingMock, request)) {
validateRequestHeaders(request, matchingMock);
}
if (shouldValidateRequestBody(matchingMock, request)) {
validateRequestBody(matchingMock.getRequestBodiesForMock().getRequestBody(), request.getRequestBody());
}
return domainModelMapper.mappedModel(matchingMock);
}
use of com.arbindo.mimock.entities.Mock in project mimock by arbindo.
the class MockActionsControllerTest method shouldReturnHttpBadRequest_ArchiveMockByIdApi_ReturnsNull.
@Test
void shouldReturnHttpBadRequest_ArchiveMockByIdApi_ReturnsNull() throws Exception {
// Arrange
Mock mock = generateMock();
String mockId = mock.getId().toString();
String route = UrlConfig.MOCKS_PATH + "/" + mockId + UrlConfig.ARCHIVE_ACTION;
GenericResponseWrapper<Mock> genericResponseWrapper = getGenericResponseWrapper(HttpStatus.BAD_REQUEST, Messages.ARCHIVE_RESOURCE_FAILED, null);
String expectedResponseBody = convertObjectToJsonString(genericResponseWrapper);
lenient().when(mockActionsService.archiveMock(mockId)).thenReturn(null);
// Act
MvcResult result = mockMvc.perform(post(route)).andExpect(status().isBadRequest()).andReturn();
// Assert
assertEquals(expectedResponseBody, result.getResponse().getContentAsString());
}
use of com.arbindo.mimock.entities.Mock in project mimock by arbindo.
the class MockActionsControllerTest method shouldReturnHttpOk_UnarchiveMockByIdApi_ReturnsUnarchivedMock.
@Test
void shouldReturnHttpOk_UnarchiveMockByIdApi_ReturnsUnarchivedMock() throws Exception {
// Arrange
Mock mock = generateMock();
String mockId = mock.getId().toString();
String route = UrlConfig.MOCKS_PATH + "/" + mockId + UrlConfig.UNARCHIVE_ACTION;
Mock unarchivedMock = unarchiveMock(mock);
GenericResponseWrapper<Mock> genericResponseWrapper = getGenericResponseWrapper(HttpStatus.OK, Messages.UNARCHIVED_RESOURCE_SUCCESS, unarchivedMock);
String expectedResponseBody = convertObjectToJsonString(genericResponseWrapper);
lenient().when(mockActionsService.unarchiveMock(mockId)).thenReturn(unarchivedMock);
// Act
MvcResult result = mockMvc.perform(post(route)).andExpect(status().isOk()).andReturn();
// Assert
assertEquals(expectedResponseBody, result.getResponse().getContentAsString());
}
use of com.arbindo.mimock.entities.Mock in project mimock by arbindo.
the class MockManagementControllerTest method shouldReturnHttpOk_ListMocksApi_ReturnsListOfMocks.
@Test
void shouldReturnHttpOk_ListMocksApi_ReturnsListOfMocks() throws Exception {
// Arrange
String route = UrlConfig.MOCKS_PATH;
String expectedContentType = "application/json";
List<Mock> expectedMocks = generateListOfMocks();
String expectedResponseBody = convertObjectToJsonString(expectedMocks);
lenient().when(mockManagementService.getAllMocks()).thenReturn(expectedMocks);
// Act
MvcResult result = mockMvc.perform(get(route)).andExpect(status().isOk()).andExpect(content().contentType(expectedContentType)).andReturn();
// Assert
assertEquals(expectedResponseBody, result.getResponse().getContentAsString());
}
Aggregations