diff --git a/core/pom.xml b/core/pom.xml index 01467bd..1059d6c 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -13,7 +13,9 @@ 14 2.2.7.RELEASE 5.2.4.RELEASE - 2.0.4.RELEASE + 2.3.4.RELEASE + 1.3 + 1.6.6 2.3.4.RELEASE 4.8.0 2.10.4 @@ -75,11 +77,6 @@ jackson-datatype-hibernate5 - - org.springframework.restdocs - spring-restdocs-mockmvc - - org.postgresql postgresql @@ -115,6 +112,11 @@ org.junit.jupiter junit-jupiter-engine + + + org.springdoc + springdoc-openapi-ui + @@ -142,26 +144,14 @@ - org.asciidoctor - asciidoctor-maven-plugin + org.springdoc + springdoc-openapi-maven-plugin - generate-docs - package + integration-test - process-asciidoc + generate - - html - book - - ${snippetsDirectory} - true - - - src/docs/asciidocs - target/generated-docs - @@ -204,11 +194,6 @@ ${java.version} - - org.codehaus.mojo - exec-maven-plugin - ${exec-version} - org.jacoco jacoco-maven-plugin @@ -228,6 +213,16 @@ org.apache.maven.plugins maven-surefire-plugin ${surefire-version} + + + org.hibernate.dialect.H2Dialect + + + + + org.springdoc + springdoc-openapi-maven-plugin + ${springdoc-openapi-maven-plugin-version} org.liquibase @@ -344,13 +339,6 @@ - - org.springframework.restdocs - spring-restdocs-mockmvc - ${spring-restdocs-asciidoctor-version} - test - - org.hsqldb hsqldb diff --git a/core/src/test/java/com/localeat/core/domains/delivery/TestAndDocDeliveryController.java b/core/src/test/java/com/localeat/core/domains/delivery/TestAndDocDeliveryController.java index 9cef148..238b4d7 100644 --- a/core/src/test/java/com/localeat/core/domains/delivery/TestAndDocDeliveryController.java +++ b/core/src/test/java/com/localeat/core/domains/delivery/TestAndDocDeliveryController.java @@ -5,26 +5,23 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; -import org.springframework.restdocs.RestDocumentationContextProvider; -import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.WebApplicationContext; +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.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import static org.hamcrest.Matchers.*; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post; -import static org.springframework.restdocs.operation.preprocess.Preprocessors.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; @SpringBootTest -@ExtendWith({RestDocumentationExtension.class, SpringExtension.class}) +@ExtendWith({SpringExtension.class}) @Sql(value = { "/sql/create/com/localeat/domains/security/security_test_data.sql", "/sql/create/com/localeat/domains/farm/farm_test_data.sql", @@ -44,10 +41,8 @@ public class TestAndDocDeliveryController { private MockMvc mockMvc; @BeforeEach - public void setUp(WebApplicationContext webApplicationContext, - RestDocumentationContextProvider restDocumentation) { + public void setUp(WebApplicationContext webApplicationContext) { this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) - .apply(documentationConfiguration(restDocumentation)) .build(); } @@ -64,11 +59,7 @@ public void getAllPublicDeliveriesWithoutAccessKey() throws Exception { .andExpect(status().isOk()) .andExpect(jsonPath("$[?(@.id==1)]", not(empty()))) .andExpect(jsonPath("$[?(@.id==2)]", not(empty()))) - .andExpect(jsonPath("$[?(@.id==3)]", empty())) - .andDo(document( - "get-public-deliveries", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(jsonPath("$[?(@.id==3)]", empty())); } @Test @@ -84,11 +75,7 @@ public void getAllPublicDeliveriesWithAccessKey() throws Exception { .andExpect(status().isOk()) .andExpect(jsonPath("$[?(@.id==1)]", not(empty()))) .andExpect(jsonPath("$[?(@.id==2)]", not(empty()))) - .andExpect(jsonPath("$[?(@.id==3)]", not(empty()))) - .andDo(document( - "get-public-deliveries-with-access-key", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(jsonPath("$[?(@.id==3)]", not(empty()))); } @Test @@ -232,11 +219,7 @@ public void getOrdersByDelivery() throws Exception { " } ],\n" + " \"orders\" : [ ]\n" + " }\n" + - "} ]")) - .andDo(document( - "get-orders-by-delivery", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + "} ]")); } @Test @@ -249,11 +232,7 @@ public void getOrdersByDeliveryWithUnauthorizedAccount() throws Exception { .perform(get("/accounts/2/deliveries/1/orders") .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isUnauthorized()) - .andDo(document( - "get-orders-by-delivery-with-unauthorized-account", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(status().isUnauthorized()); } @Test @@ -261,9 +240,9 @@ public void saveDeliveryOrder() throws Exception { // given String requestBody = "{\n" + - " \"id\" : 1,\n" + - " \"status\" : \"PAYED\"" + - " }"; + " \"id\" : 1,\n" + + " \"status\" : \"PAYED\""+ + " }"; // when, then this.mockMvc @@ -271,10 +250,6 @@ public void saveDeliveryOrder() throws Exception { .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(requestBody)) - .andExpect(status().isOk()) - .andDo(document( - "get-orders-by-delivery-with-unauthorized-account", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(status().isOk()); } } diff --git a/core/src/test/java/com/localeat/core/domains/order/TestAndDocOrderController.java b/core/src/test/java/com/localeat/core/domains/order/TestAndDocOrderController.java index 5285cd9..9a1529a 100644 --- a/core/src/test/java/com/localeat/core/domains/order/TestAndDocOrderController.java +++ b/core/src/test/java/com/localeat/core/domains/order/TestAndDocOrderController.java @@ -6,24 +6,19 @@ import org.mockito.MockitoAnnotations; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; -import org.springframework.restdocs.RestDocumentationContextProvider; -import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post; -import static org.springframework.restdocs.operation.preprocess.Preprocessors.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @SpringBootTest -@ExtendWith({RestDocumentationExtension.class, SpringExtension.class}) +@ExtendWith({SpringExtension.class}) @Sql(value = { "/sql/create/com/localeat/domains/security/security_test_data.sql", "/sql/create/com/localeat/domains/farm/farm_test_data.sql", @@ -44,11 +39,9 @@ public class TestAndDocOrderController { private MockMvc mockMvc; @BeforeEach - public void setUp(WebApplicationContext webApplicationContext, - RestDocumentationContextProvider restDocumentation) { + public void setUp(WebApplicationContext webApplicationContext) { MockitoAnnotations.initMocks(this); mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) - .apply(documentationConfiguration(restDocumentation)) .build(); } @@ -74,11 +67,7 @@ public void createOrder() throws Exception { .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(requestBody)) - .andExpect(status().isOk()) - .andDo(document( - "create-order", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(status().isOk()); } @Test @@ -217,10 +206,6 @@ public void getOrderByCustomer() throws Exception { " } ],\n" + " \"orders\" : [ ]\n" + " }\n" + - "} ]")) - .andDo(document( - "get-orders-by-customer", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + "} ]")); } } diff --git a/core/src/test/java/com/localeat/core/domains/product/TestAndDocProductController.java b/core/src/test/java/com/localeat/core/domains/product/TestAndDocProductController.java index 8c17bb6..277a034 100644 --- a/core/src/test/java/com/localeat/core/domains/product/TestAndDocProductController.java +++ b/core/src/test/java/com/localeat/core/domains/product/TestAndDocProductController.java @@ -5,24 +5,19 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; -import org.springframework.restdocs.RestDocumentationContextProvider; -import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post; -import static org.springframework.restdocs.operation.preprocess.Preprocessors.*; +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.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @SpringBootTest -@ExtendWith({RestDocumentationExtension.class, SpringExtension.class}) +@ExtendWith({SpringExtension.class}) @Sql(value = { "/sql/create/com/localeat/domains/security/security_test_data.sql", "/sql/create/com/localeat/domains/farm/farm_test_data.sql", @@ -37,10 +32,8 @@ public class TestAndDocProductController { private MockMvc mockMvc; @BeforeEach - public void setUp(WebApplicationContext webApplicationContext, - RestDocumentationContextProvider restDocumentation) { + public void setUp(WebApplicationContext webApplicationContext) { this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) - .apply(documentationConfiguration(restDocumentation)) .build(); } @@ -60,11 +53,7 @@ public void getProductTemplatesByBreeder() throws Exception { " \"id\" : 1,\n" + " \"name\" : \"La ferme de la Riviere\"\n" + " }\n" + - "} ]")) - .andDo(document( - "get-product-templates-by-breeder", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + "} ]")); } @@ -89,11 +78,7 @@ public void createProductTemplate() throws Exception { .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(requestBody)) - .andExpect(status().isOk()) - .andDo(document( - "create-product-template", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(status().isOk()); } @Test @@ -112,11 +97,7 @@ public void getProductsByBreeder() throws Exception { " \"id\" : 1,\n" + " \"name\" : \"La ferme de la Riviere\"\n" + " }\n" + - "} ]")) - .andDo(document( - "get-products-by-breeder", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + "} ]")); } @Test @@ -140,10 +121,6 @@ public void createProduct() throws Exception { .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(requestBody)) - .andExpect(status().isOk()) - .andDo(document( - "create-product", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(status().isOk()); } } \ No newline at end of file diff --git a/core/src/test/java/com/localeat/core/domains/security/TestAndDocAccountController.java b/core/src/test/java/com/localeat/core/domains/security/TestAndDocAccountController.java index 877e4f2..8383fb3 100644 --- a/core/src/test/java/com/localeat/core/domains/security/TestAndDocAccountController.java +++ b/core/src/test/java/com/localeat/core/domains/security/TestAndDocAccountController.java @@ -5,18 +5,13 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; -import org.springframework.restdocs.RestDocumentationContextProvider; -import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post; -import static org.springframework.restdocs.operation.preprocess.Preprocessors.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @@ -24,16 +19,14 @@ "/sql/delete/com/localeat/domains/clear_data.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD) @SpringBootTest -@ExtendWith({RestDocumentationExtension.class, SpringExtension.class}) +@ExtendWith({SpringExtension.class}) public class TestAndDocAccountController { private MockMvc mockMvc; @BeforeEach - public void setUp(WebApplicationContext webApplicationContext, - RestDocumentationContextProvider restDocumentation) { + public void setUp(WebApplicationContext webApplicationContext) { this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) - .apply(documentationConfiguration(restDocumentation)) .build(); } @@ -61,10 +54,6 @@ public void createUser() throws Exception { .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(requestBody)) - .andExpect(status().isOk()) - .andDo(document( - "create-user", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(status().isOk()); } } diff --git a/core/src/test/java/com/localeat/core/domains/slaughter/TestAndDocSlaughterController.java b/core/src/test/java/com/localeat/core/domains/slaughter/TestAndDocSlaughterController.java index 2c0c523..3023c04 100644 --- a/core/src/test/java/com/localeat/core/domains/slaughter/TestAndDocSlaughterController.java +++ b/core/src/test/java/com/localeat/core/domains/slaughter/TestAndDocSlaughterController.java @@ -9,8 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; -import org.springframework.restdocs.RestDocumentationContextProvider; -import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; @@ -21,17 +19,14 @@ import java.time.LocalDate; import static java.time.Month.JANUARY; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get; -import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post; -import static org.springframework.restdocs.operation.preprocess.Preprocessors.*; +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.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @SpringBootTest -@ExtendWith({RestDocumentationExtension.class, SpringExtension.class}) +@ExtendWith({SpringExtension.class}) @Sql(value = { "/sql/create/com/localeat/domains/security/security_test_data.sql", "/sql/create/com/localeat/domains/farm/farm_test_data.sql", @@ -50,10 +45,8 @@ public class TestAndDocSlaughterController { private FarmRepository farmRepository; @BeforeEach - public void setUp(WebApplicationContext webApplicationContext, - RestDocumentationContextProvider restDocumentation) { + public void setUp(WebApplicationContext webApplicationContext) { this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) - .apply(documentationConfiguration(restDocumentation)) .build(); } @@ -134,11 +127,7 @@ public void getAllSlaughters() throws Exception { " \"delivery\" : null,\n" + " \"slaughterDate\" : \"2020-01-15\",\n" + " \"cuttingDate\" : null\n" + - "} ]")) - .andDo(document( - "get-all-slaughters", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + "} ]")); } @Test @@ -160,11 +149,7 @@ public void createSlaughter() throws Exception { .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(requestBody)) - .andExpect(status().isOk()) - .andDo(document( - "create-slaughter", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(status().isOk()); } @Test @@ -197,11 +182,7 @@ public void createSlaughterWithDelivery() throws Exception { .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(requestBody)) - .andExpect(status().isOk()) - .andDo(document( - "create-slaughter", - preprocessRequest(prettyPrint()), - preprocessResponse(prettyPrint()))); + .andExpect(status().isOk()); } }