From f82e6e398e80f54f9ad9173b475d35b8b4eccdb0 Mon Sep 17 00:00:00 2001 From: frantuma Date: Thu, 12 Jul 2018 12:26:30 +0200 Subject: [PATCH] Make spring-mvc jersey tests wait that jetty is closed before terminating --- .../libraries/spring-mvc/pom.mustache | 1 + .../petstore/spring-mvc-j8-async/pom.xml | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 16 +++++ .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- .../spring-mvc-j8-localdatetime/pom.xml | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 16 +++++ .../io/swagger/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/io/swagger/api/UserApi.java | 2 +- .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- samples/server/petstore/spring-mvc/pom.xml | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 10 +++ .../io/swagger/api/FakeApiController.java | 6 ++ .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- 13 files changed, 234 insertions(+), 5 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/JavaSpring/libraries/spring-mvc/pom.mustache b/modules/swagger-codegen/src/main/resources/JavaSpring/libraries/spring-mvc/pom.mustache index 7bae0894a1c..c71738221b8 100644 --- a/modules/swagger-codegen/src/main/resources/JavaSpring/libraries/spring-mvc/pom.mustache +++ b/modules/swagger-codegen/src/main/resources/JavaSpring/libraries/spring-mvc/pom.mustache @@ -36,6 +36,7 @@ target/${project.artifactId}-${project.version} 8079 stopit + 10 8002 60000 diff --git a/samples/server/petstore/spring-mvc-j8-async/pom.xml b/samples/server/petstore/spring-mvc-j8-async/pom.xml index 689bcb91b80..6cf9c047916 100644 --- a/samples/server/petstore/spring-mvc-j8-async/pom.xml +++ b/samples/server/petstore/spring-mvc-j8-async/pom.xml @@ -36,6 +36,7 @@ target/${project.artifactId}-${project.version} 8079 stopit + 10 8002 60000 diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeApi.java index 6f710dddd29..f5424474f7c 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import java.time.LocalDate; import java.time.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -139,6 +140,21 @@ default CompletableFuture> fakeOuterStringSerialize(@ApiP } + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + default CompletableFuture> testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default FakeApi interface so no example is generated"); + } + return CompletableFuture.completedFuture(new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED)); + } + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/pom.xml b/samples/server/petstore/spring-mvc-j8-localdatetime/pom.xml index c001d075cb0..bfe51ff2b3c 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/pom.xml +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/pom.xml @@ -36,6 +36,7 @@ target/${project.artifactId}-${project.version} 8079 stopit + 10 8002 60000 diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeApi.java index d0093bed75b..b96791acce7 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -138,6 +139,21 @@ default ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input } + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + default ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default FakeApi interface so no example is generated"); + } + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + } + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeClassnameTestApi.java index f4c4f9d3fbe..906343d53fc 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -46,7 +46,7 @@ default Optional getAcceptHeader() { return getRequest().map(r -> r.getHeader("Accept")); } - @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "", response = Client.class, authorizations = { + @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "To test class name in snake case", response = Client.class, authorizations = { @Authorization(value = "api_key_query") }, tags={ "fake_classname_tags 123#$%^", }) @ApiResponses(value = { diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/UserApi.java index 6b2684c1c0c..6afba72d915 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/UserApi.java @@ -116,7 +116,7 @@ default ResponseEntity deleteUser(@ApiParam(value = "The name that needs t @RequestMapping(value = "/user/{username}", produces = { "application/xml", "application/json" }, method = RequestMethod.GET) - default ResponseEntity getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing. ",required=true) @PathVariable("username") String username) { + default ResponseEntity getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing.",required=true) @PathVariable("username") String username) { if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { if (getAcceptHeader().get().contains("application/xml")) { try { diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/spring-mvc/pom.xml b/samples/server/petstore/spring-mvc/pom.xml index 673178a791b..a334bf7480e 100644 --- a/samples/server/petstore/spring-mvc/pom.xml +++ b/samples/server/petstore/spring-mvc/pom.xml @@ -36,6 +36,7 @@ target/${project.artifactId}-${project.version} 8079 stopit + 10 8002 60000 diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApi.java index 55204db2ce1..4f788cd5756 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -61,6 +62,15 @@ public interface FakeApi { ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body); + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query); + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApiController.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApiController.java index d7137b0b7c4..9e41d8a2406 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApiController.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApiController.java @@ -5,6 +5,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -96,6 +97,11 @@ public ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); } + public ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + String accept = request.getHeader("Accept"); + return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); + } + public ResponseEntity testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) { String accept = request.getHeader("Accept"); if (accept != null && accept.contains("application/json")) { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n");