Search in sources :

Example 6 with Status

use of com.arbindo.mimock.manage.mimocks.enums.Status in project mimock by arbindo.

the class MockManagementControllerTest method shouldReturnHttpOk_FilteredListMocksApi_ReturnsEmpty.

@Test
void shouldReturnHttpOk_FilteredListMocksApi_ReturnsEmpty() throws Exception {
    // Arrange
    String route = UrlConfig.MOCKS_PATH + "/" + UrlConfig.MOCKS_FILTER;
    String expectedContentType = "application/json";
    Page<Mock> expectedMocks = new PageImpl<>(new ArrayList<>());
    String expectedResponseBody = convertObjectToJsonString(expectedMocks);
    lenient().when(mockManagementService.getAllActiveMocks(any(Pageable.class), any(Status.class))).thenReturn(expectedMocks);
    // Act
    MvcResult result = mockMvc.perform(get(route).param("status", "NONE")).andExpect(status().isOk()).andExpect(content().contentType(expectedContentType)).andReturn();
    // Assert
    assertEquals(expectedResponseBody, result.getResponse().getContentAsString());
}
Also used : PageImpl(org.springframework.data.domain.PageImpl) Status(com.arbindo.mimock.manage.mimocks.enums.Status) HttpStatus(org.springframework.http.HttpStatus) Pageable(org.springframework.data.domain.Pageable) JsonMapper.convertObjectToJsonString(com.arbindo.mimock.helpers.general.JsonMapper.convertObjectToJsonString) RandomDataGenerator.generateRandomAlphabeticString(com.arbindo.mimock.helpers.general.RandomDataGenerator.generateRandomAlphabeticString) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) MvcResult(org.springframework.test.web.servlet.MvcResult) Mock(com.arbindo.mimock.entities.Mock) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) WebMvcTest(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest)

Example 7 with Status

use of com.arbindo.mimock.manage.mimocks.enums.Status in project mimock by arbindo.

the class MockManagementControllerTest method shouldReturnHttpBadRequest_FilteredListMocksApi_WithoutStatusQueryParam.

@Test
void shouldReturnHttpBadRequest_FilteredListMocksApi_WithoutStatusQueryParam() throws Exception {
    // Arrange
    String route = UrlConfig.MOCKS_PATH + "/" + UrlConfig.MOCKS_FILTER;
    Page<Mock> expectedMocks = new PageImpl<>(new ArrayList<>());
    lenient().when(mockManagementService.getAllActiveMocks(any(Pageable.class), any(Status.class))).thenReturn(expectedMocks);
    // Act
    MvcResult result = mockMvc.perform(get(route)).andExpect(status().isBadRequest()).andReturn();
    // Assert
    assertEquals("", result.getResponse().getContentAsString());
}
Also used : PageImpl(org.springframework.data.domain.PageImpl) Status(com.arbindo.mimock.manage.mimocks.enums.Status) HttpStatus(org.springframework.http.HttpStatus) Pageable(org.springframework.data.domain.Pageable) JsonMapper.convertObjectToJsonString(com.arbindo.mimock.helpers.general.JsonMapper.convertObjectToJsonString) RandomDataGenerator.generateRandomAlphabeticString(com.arbindo.mimock.helpers.general.RandomDataGenerator.generateRandomAlphabeticString) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) MvcResult(org.springframework.test.web.servlet.MvcResult) Mock(com.arbindo.mimock.entities.Mock) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) WebMvcTest(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest)

Example 8 with Status

use of com.arbindo.mimock.manage.mimocks.enums.Status in project mimock by arbindo.

the class MockManagementControllerTest method shouldReturnHttpBadRequest_CreateMockApi_WithInvalidParametersForQueryParamsInRequest_ReturnsValidationErrors.

@Test
void shouldReturnHttpBadRequest_CreateMockApi_WithInvalidParametersForQueryParamsInRequest_ReturnsValidationErrors() throws Exception {
    // Arrange
    MockMultipartFile file = getMockMultipartFile();
    MockRequest mockRequest = createMockRequestWithFile(file);
    String route = UrlConfig.MOCKS_PATH;
    // Modify the MockRequest.QueryParams with longer value
    mockRequest.setQueryParams(generateRandomAlphabeticString(2000));
    // Act and Assert
    mockMvc.perform(multipart(route).file(file).param("name", mockRequest.getName()).param("route", mockRequest.getRoute()).param("httpMethod", mockRequest.getHttpMethod()).param("responseContentType", mockRequest.getResponseContentType()).param("statusCode", String.valueOf(mockRequest.getStatusCode())).param("expectedTextResponse", mockRequest.getExpectedTextResponse()).param("queryParams", mockRequest.getQueryParams()).param("description", mockRequest.getDescription())).andExpect(status().isBadRequest()).andExpect(response -> assertNotNull(response.getResolvedException())).andExpect(response -> assertTrue(response.getResolvedException().getMessage().contains("QueryParams can be maximum of 1024 characters"))).andReturn();
}
Also used : MockMultipartFile(org.springframework.mock.web.MockMultipartFile) Messages(com.arbindo.mimock.common.constants.Messages) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) MockManagementService(com.arbindo.mimock.manage.mimocks.service.MockManagementService) GenericResponseWrapper(com.arbindo.mimock.common.wrapper.GenericResponseWrapper) UserDetailsService(org.springframework.security.core.userdetails.UserDetailsService) Autowired(org.springframework.beans.factory.annotation.Autowired) DatabaseStartupValidator(org.springframework.jdbc.support.DatabaseStartupValidator) ArrayList(java.util.ArrayList) MockMvc(org.springframework.test.web.servlet.MockMvc) DataSourceAutoConfiguration(org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration) DefaultHttpInterceptor(com.arbindo.mimock.interceptor.DefaultHttpInterceptor) EmptySource(org.junit.jupiter.params.provider.EmptySource) MvcResult(org.springframework.test.web.servlet.MvcResult) DataSource(javax.sql.DataSource) SecurityAutoConfiguration(org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration) Pageable(org.springframework.data.domain.Pageable) JsonMapper.convertObjectToJsonString(com.arbindo.mimock.helpers.general.JsonMapper.convertObjectToJsonString) MockBean(org.springframework.boot.test.mock.mockito.MockBean) MocksGenerator(com.arbindo.mimock.helpers.entities.MocksGenerator) JpaRepositoriesAutoConfiguration(org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration) UrlConfig(com.arbindo.mimock.common.constants.UrlConfig) JwtRequestFilter(com.arbindo.mimock.security.JwtRequestFilter) EnableAutoConfiguration(org.springframework.boot.autoconfigure.EnableAutoConfiguration) Status(com.arbindo.mimock.manage.mimocks.enums.Status) ProcessedMockRequest(com.arbindo.mimock.manage.mimocks.models.request.ProcessedMockRequest) UUID(java.util.UUID) MockMvcResultMatchers(org.springframework.test.web.servlet.result.MockMvcResultMatchers) Page(org.springframework.data.domain.Page) MockMvcRequestBuilders(org.springframework.test.web.servlet.request.MockMvcRequestBuilders) MockMultipartFile(org.springframework.mock.web.MockMultipartFile) RandomDataGenerator.generateRandomAlphabeticString(com.arbindo.mimock.helpers.general.RandomDataGenerator.generateRandomAlphabeticString) MockRequest(com.arbindo.mimock.manage.mimocks.models.request.MockRequest) Test(org.junit.jupiter.api.Test) HttpStatus(org.springframework.http.HttpStatus) Mockito(org.mockito.Mockito) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) List(java.util.List) AutoConfigureMockMvc(org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc) WebMvcTest(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest) MockMultipartHttpServletRequestBuilder(org.springframework.test.web.servlet.request.MockMultipartHttpServletRequestBuilder) Assertions(org.junit.jupiter.api.Assertions) UserDetailsServiceAutoConfiguration(org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration) NullSource(org.junit.jupiter.params.provider.NullSource) Mock(com.arbindo.mimock.entities.Mock) PageImpl(org.springframework.data.domain.PageImpl) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) ProcessedMockRequest(com.arbindo.mimock.manage.mimocks.models.request.ProcessedMockRequest) MockRequest(com.arbindo.mimock.manage.mimocks.models.request.MockRequest) JsonMapper.convertObjectToJsonString(com.arbindo.mimock.helpers.general.JsonMapper.convertObjectToJsonString) RandomDataGenerator.generateRandomAlphabeticString(com.arbindo.mimock.helpers.general.RandomDataGenerator.generateRandomAlphabeticString) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) WebMvcTest(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest)

Example 9 with Status

use of com.arbindo.mimock.manage.mimocks.enums.Status in project mimock by arbindo.

the class MockManagementControllerTest method shouldReturnHttpOk_FilteredListMocksApi_ReturnsNull.

@Test
void shouldReturnHttpOk_FilteredListMocksApi_ReturnsNull() throws Exception {
    // Arrange
    String route = UrlConfig.MOCKS_PATH + "/" + UrlConfig.MOCKS_FILTER;
    lenient().when(mockManagementService.getAllActiveMocks(any(Pageable.class), any(Status.class))).thenReturn(null);
    // Act
    MvcResult result = mockMvc.perform(get(route).param("status", "NONE")).andExpect(status().isOk()).andReturn();
    // Assert
    assertEquals("", result.getResponse().getContentAsString());
}
Also used : Status(com.arbindo.mimock.manage.mimocks.enums.Status) HttpStatus(org.springframework.http.HttpStatus) Pageable(org.springframework.data.domain.Pageable) JsonMapper.convertObjectToJsonString(com.arbindo.mimock.helpers.general.JsonMapper.convertObjectToJsonString) RandomDataGenerator.generateRandomAlphabeticString(com.arbindo.mimock.helpers.general.RandomDataGenerator.generateRandomAlphabeticString) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) MvcResult(org.springframework.test.web.servlet.MvcResult) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) WebMvcTest(org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest)

Aggregations

JsonMapper.convertObjectToJsonString (com.arbindo.mimock.helpers.general.JsonMapper.convertObjectToJsonString)9 RandomDataGenerator.generateRandomAlphabeticString (com.arbindo.mimock.helpers.general.RandomDataGenerator.generateRandomAlphabeticString)9 Status (com.arbindo.mimock.manage.mimocks.enums.Status)9 Test (org.junit.jupiter.api.Test)9 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)9 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)9 WebMvcTest (org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest)9 Pageable (org.springframework.data.domain.Pageable)9 HttpStatus (org.springframework.http.HttpStatus)9 MvcResult (org.springframework.test.web.servlet.MvcResult)9 Mock (com.arbindo.mimock.entities.Mock)8 PageImpl (org.springframework.data.domain.PageImpl)7 Messages (com.arbindo.mimock.common.constants.Messages)5 UrlConfig (com.arbindo.mimock.common.constants.UrlConfig)5 GenericResponseWrapper (com.arbindo.mimock.common.wrapper.GenericResponseWrapper)5 MocksGenerator (com.arbindo.mimock.helpers.entities.MocksGenerator)5 DefaultHttpInterceptor (com.arbindo.mimock.interceptor.DefaultHttpInterceptor)5 MockRequest (com.arbindo.mimock.manage.mimocks.models.request.MockRequest)5 ProcessedMockRequest (com.arbindo.mimock.manage.mimocks.models.request.ProcessedMockRequest)5 MockManagementService (com.arbindo.mimock.manage.mimocks.service.MockManagementService)5