[Java][RestTemplate] fix compilation issue with API client (resttemplate) (#5832)

* adapt the resttemplate target for the threeten Time API

* add threeten dependencies to build.gradle

* fix missing dollar sign

* fix missing dollar sign
This commit is contained in:
SiMing Weng 2017-06-15 12:58:11 -04:00 committed by wing328
parent fee54157c0
commit 32a6f19933
10 changed files with 323 additions and 79 deletions

View File

@ -24,6 +24,13 @@ import org.springframework.util.StringUtils;
import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.util.UriComponentsBuilder;
{{#threetenbp}}
import org.threeten.bp.*;
import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter;
import com.fasterxml.jackson.databind.ObjectMapper;
{{/threetenbp}}
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
@ -303,6 +310,14 @@ public class ApiClient {
*/ */
public ApiClient setDateFormat(DateFormat dateFormat) { public ApiClient setDateFormat(DateFormat dateFormat) {
this.dateFormat = dateFormat; this.dateFormat = dateFormat;
{{#threetenbp}}
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
mapper.setDateFormat(dateFormat);
}
}
{{/threetenbp}}
return this; return this;
} }
@ -551,6 +566,18 @@ public class ApiClient {
*/ */
protected RestTemplate buildRestTemplate() { protected RestTemplate buildRestTemplate() {
RestTemplate restTemplate = new RestTemplate(); RestTemplate restTemplate = new RestTemplate();
{{#threetenbp}}
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
ThreeTenModule module = new ThreeTenModule();
module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
mapper.registerModule(module);
}
}
{{/threetenbp}}
// This allows us to read the response more than once - Necessary for debugging. // This allows us to read the response more than once - Necessary for debugging.
restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory())); restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory()));
return restTemplate; return restTemplate;

View File

@ -111,6 +111,9 @@ ext {
spring_web_version = "4.3.7.RELEASE" spring_web_version = "4.3.7.RELEASE"
jodatime_version = "2.9.4" jodatime_version = "2.9.4"
junit_version = "4.12" junit_version = "4.12"
{{#threetenbp}}
jackson_threeten_version = "2.6.4"
{{/threetenbp}}
} }
dependencies { dependencies {
@ -123,9 +126,12 @@ dependencies {
{{#java8}} {{#java8}}
compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version" compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
{{/java8}} {{/java8}}
{{^java8}} {{#joda}}
compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version" compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version"
compile "joda-time:joda-time:$jodatime_version" compile "joda-time:joda-time:$jodatime_version"
{{/java8}} {{/joda}}
{{#threetenbp}}
compile "com.github.joschi.jackson:jackson-datatype-threetenbp:$jackson_threeten_version"
{{/threetenbp}}
testCompile "junit:junit:$junit_version" testCompile "junit:junit:$junit_version"
} }

View File

@ -225,7 +225,7 @@
<version>${jackson-version}</version> <version>${jackson-version}</version>
</dependency> </dependency>
{{/java8}} {{/java8}}
{{^java8}} {{#joda}}
<dependency> <dependency>
<groupId>com.fasterxml.jackson.datatype</groupId> <groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId> <artifactId>jackson-datatype-joda</artifactId>
@ -236,7 +236,14 @@
<artifactId>joda-time</artifactId> <artifactId>joda-time</artifactId>
<version>${jodatime-version}</version> <version>${jodatime-version}</version>
</dependency> </dependency>
{{/java8}} {{/joda}}
{{#threetenbp}}
<dependency>
<groupId>com.github.joschi.jackson</groupId>
<artifactId>jackson-datatype-threetenbp</artifactId>
<version>${jackson-threetenbp-version}</version>
</dependency>
{{/threetenbp}}
<!-- test dependencies --> <!-- test dependencies -->
<dependency> <dependency>
@ -251,9 +258,12 @@
<swagger-annotations-version>1.5.8</swagger-annotations-version> <swagger-annotations-version>1.5.8</swagger-annotations-version>
<spring-web-version>4.3.7.RELEASE</spring-web-version> <spring-web-version>4.3.7.RELEASE</spring-web-version>
<jackson-version>2.8.8</jackson-version> <jackson-version>2.8.8</jackson-version>
{{^java8}} {{#joda}}
<jodatime-version>2.9.4</jodatime-version> <jodatime-version>2.9.4</jodatime-version>
{{/java8}} {{/joda}}
{{#threetenbp}}
<jackson-threetenbp-version>2.6.4</jackson-threetenbp-version>
{{/threetenbp}}
<maven-plugin-version>1.0.0</maven-plugin-version> <maven-plugin-version>1.0.0</maven-plugin-version>
<junit-version>4.12</junit-version> <junit-version>4.12</junit-version>
</properties> </properties>

View File

@ -61,26 +61,22 @@ Please follow the [installation](#installation) instruction and execute the foll
import io.swagger.client.*; import io.swagger.client.*;
import io.swagger.client.auth.*; import io.swagger.client.auth.*;
import io.swagger.client.model.*; import io.swagger.client.model.*;
import io.swagger.client.api.PetApi; import io.swagger.client.api.FakeApi;
import java.io.File; import java.io.File;
import java.util.*; import java.util.*;
public class PetApiExample { public class FakeApiExample {
public static void main(String[] args) { public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure OAuth2 access token for authorization: petstore_auth FakeApi apiInstance = new FakeApi();
OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); Boolean body = true; // Boolean | Input boolean as post body
petstore_auth.setAccessToken("YOUR ACCESS TOKEN");
PetApi apiInstance = new PetApi();
Pet body = new Pet(); // Pet | Pet object that needs to be added to the store
try { try {
apiInstance.addPet(body); Boolean result = apiInstance.fakeOuterBooleanSerialize(body);
System.out.println(result);
} catch (ApiException e) { } catch (ApiException e) {
System.err.println("Exception when calling PetApi#addPet"); System.err.println("Exception when calling FakeApi#fakeOuterBooleanSerialize");
e.printStackTrace(); e.printStackTrace();
} }
} }
@ -90,10 +86,19 @@ public class PetApiExample {
## Documentation for API Endpoints ## Documentation for API Endpoints
All URIs are relative to *http://petstore.swagger.io/v2* All URIs are relative to *http://petstore.swagger.io:80/v2*
Class | Method | HTTP request | Description Class | Method | HTTP request | Description
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
*FakeApi* | [**fakeOuterBooleanSerialize**](docs/FakeApi.md#fakeOuterBooleanSerialize) | **POST** /fake/outer/boolean |
*FakeApi* | [**fakeOuterCompositeSerialize**](docs/FakeApi.md#fakeOuterCompositeSerialize) | **POST** /fake/outer/composite |
*FakeApi* | [**fakeOuterNumberSerialize**](docs/FakeApi.md#fakeOuterNumberSerialize) | **POST** /fake/outer/number |
*FakeApi* | [**fakeOuterStringSerialize**](docs/FakeApi.md#fakeOuterStringSerialize) | **POST** /fake/outer/string |
*FakeApi* | [**testClientModel**](docs/FakeApi.md#testClientModel) | **PATCH** /fake | To test \&quot;client\&quot; model
*FakeApi* | [**testEndpointParameters**](docs/FakeApi.md#testEndpointParameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
*FakeApi* | [**testEnumParameters**](docs/FakeApi.md#testEnumParameters) | **GET** /fake | To test enum parameters
*FakeApi* | [**testJsonFormData**](docs/FakeApi.md#testJsonFormData) | **GET** /fake/jsonFormData | test json serialization of form data
*FakeClassnameTags123Api* | [**testClassname**](docs/FakeClassnameTags123Api.md#testClassname) | **PATCH** /fake_classname_test | To test class name in snake case
*PetApi* | [**addPet**](docs/PetApi.md#addPet) | **POST** /pet | Add a new pet to the store *PetApi* | [**addPet**](docs/PetApi.md#addPet) | **POST** /pet | Add a new pet to the store
*PetApi* | [**deletePet**](docs/PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet *PetApi* | [**deletePet**](docs/PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet
*PetApi* | [**findPetsByStatus**](docs/PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status *PetApi* | [**findPetsByStatus**](docs/PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status
@ -102,9 +107,9 @@ Class | Method | HTTP request | Description
*PetApi* | [**updatePet**](docs/PetApi.md#updatePet) | **PUT** /pet | Update an existing pet *PetApi* | [**updatePet**](docs/PetApi.md#updatePet) | **PUT** /pet | Update an existing pet
*PetApi* | [**updatePetWithForm**](docs/PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data *PetApi* | [**updatePetWithForm**](docs/PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data
*PetApi* | [**uploadFile**](docs/PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image *PetApi* | [**uploadFile**](docs/PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image
*StoreApi* | [**deleteOrder**](docs/StoreApi.md#deleteOrder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID *StoreApi* | [**deleteOrder**](docs/StoreApi.md#deleteOrder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID
*StoreApi* | [**getInventory**](docs/StoreApi.md#getInventory) | **GET** /store/inventory | Returns pet inventories by status *StoreApi* | [**getInventory**](docs/StoreApi.md#getInventory) | **GET** /store/inventory | Returns pet inventories by status
*StoreApi* | [**getOrderById**](docs/StoreApi.md#getOrderById) | **GET** /store/order/{orderId} | Find purchase order by ID *StoreApi* | [**getOrderById**](docs/StoreApi.md#getOrderById) | **GET** /store/order/{order_id} | Find purchase order by ID
*StoreApi* | [**placeOrder**](docs/StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet *StoreApi* | [**placeOrder**](docs/StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet
*UserApi* | [**createUser**](docs/UserApi.md#createUser) | **POST** /user | Create user *UserApi* | [**createUser**](docs/UserApi.md#createUser) | **POST** /user | Create user
*UserApi* | [**createUsersWithArrayInput**](docs/UserApi.md#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array *UserApi* | [**createUsersWithArrayInput**](docs/UserApi.md#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array
@ -118,37 +123,68 @@ Class | Method | HTTP request | Description
## Documentation for Models ## Documentation for Models
- [AdditionalPropertiesClass](docs/AdditionalPropertiesClass.md)
- [Animal](docs/Animal.md)
- [AnimalFarm](docs/AnimalFarm.md)
- [ArrayOfArrayOfNumberOnly](docs/ArrayOfArrayOfNumberOnly.md)
- [ArrayOfNumberOnly](docs/ArrayOfNumberOnly.md)
- [ArrayTest](docs/ArrayTest.md)
- [Capitalization](docs/Capitalization.md)
- [Category](docs/Category.md) - [Category](docs/Category.md)
- [ClassModel](docs/ClassModel.md)
- [Client](docs/Client.md)
- [EnumArrays](docs/EnumArrays.md)
- [EnumClass](docs/EnumClass.md)
- [EnumTest](docs/EnumTest.md)
- [FormatTest](docs/FormatTest.md)
- [HasOnlyReadOnly](docs/HasOnlyReadOnly.md)
- [MapTest](docs/MapTest.md)
- [MixedPropertiesAndAdditionalPropertiesClass](docs/MixedPropertiesAndAdditionalPropertiesClass.md)
- [Model200Response](docs/Model200Response.md)
- [ModelApiResponse](docs/ModelApiResponse.md)
- [ModelReturn](docs/ModelReturn.md)
- [Name](docs/Name.md)
- [NumberOnly](docs/NumberOnly.md)
- [Order](docs/Order.md) - [Order](docs/Order.md)
- [OuterComposite](docs/OuterComposite.md)
- [OuterEnum](docs/OuterEnum.md)
- [Pet](docs/Pet.md) - [Pet](docs/Pet.md)
- [ReadOnlyFirst](docs/ReadOnlyFirst.md)
- [SpecialModelName](docs/SpecialModelName.md)
- [Tag](docs/Tag.md) - [Tag](docs/Tag.md)
- [User](docs/User.md) - [User](docs/User.md)
- [Cat](docs/Cat.md)
- [Dog](docs/Dog.md)
## Documentation for Authorization ## Documentation for Authorization
Authentication schemes defined for the API: Authentication schemes defined for the API:
### petstore_auth
- **Type**: OAuth
- **Flow**: implicit
- **Authorizatoin URL**: http://petstore.swagger.io/api/oauth/dialog
- **Scopes**:
- write:pets: modify pets in your account
- read:pets: read your pets
### api_key ### api_key
- **Type**: API key - **Type**: API key
- **API key parameter name**: api_key - **API key parameter name**: api_key
- **Location**: HTTP header - **Location**: HTTP header
### http_basic_test
- **Type**: HTTP basic authentication
### petstore_auth
- **Type**: OAuth
- **Flow**: implicit
- **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog
- **Scopes**:
- write:pets: modify pets in your account
- read:pets: read your pets
## Recommendation ## Recommendation
It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issue. It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.
## Author ## Author
apiteam@wordnik.com apiteam@swagger.io

View File

@ -99,6 +99,7 @@ ext {
spring_web_version = "4.3.7.RELEASE" spring_web_version = "4.3.7.RELEASE"
jodatime_version = "2.9.4" jodatime_version = "2.9.4"
junit_version = "4.12" junit_version = "4.12"
jackson_threeten_version = "2.6.4"
} }
dependencies { dependencies {
@ -108,7 +109,6 @@ dependencies {
compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version" compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version"
compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version" compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version"
compile "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:$jackson_version" compile "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:$jackson_version"
compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version" compile "com.github.joschi.jackson:jackson-datatype-threetenbp:$jackson_threeten_version"
compile "joda-time:joda-time:$jodatime_version"
testCompile "junit:junit:$junit_version" testCompile "junit:junit:$junit_version"
} }

View File

@ -213,14 +213,9 @@
<version>${jackson-version}</version> <version>${jackson-version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.datatype</groupId> <groupId>com.github.joschi.jackson</groupId>
<artifactId>jackson-datatype-joda</artifactId> <artifactId>jackson-datatype-threetenbp</artifactId>
<version>${jackson-version}</version> <version>${jackson-threetenbp-version}</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${jodatime-version}</version>
</dependency> </dependency>
<!-- test dependencies --> <!-- test dependencies -->
@ -236,7 +231,7 @@
<swagger-annotations-version>1.5.8</swagger-annotations-version> <swagger-annotations-version>1.5.8</swagger-annotations-version>
<spring-web-version>4.3.7.RELEASE</spring-web-version> <spring-web-version>4.3.7.RELEASE</spring-web-version>
<jackson-version>2.8.8</jackson-version> <jackson-version>2.8.8</jackson-version>
<jodatime-version>2.9.4</jodatime-version> <jackson-threetenbp-version>2.6.4</jackson-threetenbp-version>
<maven-plugin-version>1.0.0</maven-plugin-version> <maven-plugin-version>1.0.0</maven-plugin-version>
<junit-version>4.12</junit-version> <junit-version>4.12</junit-version>
</properties> </properties>

View File

@ -24,6 +24,11 @@ import org.springframework.util.StringUtils;
import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.util.UriComponentsBuilder;
import org.threeten.bp.*;
import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
@ -303,6 +308,12 @@ public class ApiClient {
*/ */
public ApiClient setDateFormat(DateFormat dateFormat) { public ApiClient setDateFormat(DateFormat dateFormat) {
this.dateFormat = dateFormat; this.dateFormat = dateFormat;
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
mapper.setDateFormat(dateFormat);
}
}
return this; return this;
} }
@ -551,6 +562,16 @@ public class ApiClient {
*/ */
protected RestTemplate buildRestTemplate() { protected RestTemplate buildRestTemplate() {
RestTemplate restTemplate = new RestTemplate(); RestTemplate restTemplate = new RestTemplate();
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
ThreeTenModule module = new ThreeTenModule();
module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
mapper.registerModule(module);
}
}
// This allows us to read the response more than once - Necessary for debugging. // This allows us to read the response more than once - Necessary for debugging.
restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory())); restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory()));
return restTemplate; return restTemplate;

View File

@ -1,8 +1,25 @@
/*
* Swagger Petstore
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
* Contact: apiteam@swagger.io
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package io.swagger.client.api; package io.swagger.client.api;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import io.swagger.client.model.Client;
import org.threeten.bp.LocalDate;
import org.threeten.bp.OffsetDateTime;
import io.swagger.client.model.OuterComposite;
import org.junit.Test; import org.junit.Test;
import org.junit.Ignore;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -12,32 +29,157 @@ import java.util.Map;
/** /**
* API tests for FakeApi * API tests for FakeApi
*/ */
@Ignore
public class FakeApiTest { public class FakeApiTest {
private final FakeApi api = new FakeApi(); private final FakeApi api = new FakeApi();
/**
*
*
* Test serialization of outer boolean types
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void fakeOuterBooleanSerializeTest() {
Boolean body = null;
Boolean response = api.fakeOuterBooleanSerialize(body);
// TODO: test validations
}
/**
*
*
* Test serialization of object with outer number type
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void fakeOuterCompositeSerializeTest() {
OuterComposite body = null;
OuterComposite response = api.fakeOuterCompositeSerialize(body);
// TODO: test validations
}
/**
*
*
* Test serialization of outer number types
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void fakeOuterNumberSerializeTest() {
BigDecimal body = null;
BigDecimal response = api.fakeOuterNumberSerialize(body);
// TODO: test validations
}
/**
*
*
* Test serialization of outer string types
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void fakeOuterStringSerializeTest() {
String body = null;
String response = api.fakeOuterStringSerialize(body);
// TODO: test validations
}
/**
* To test \&quot;client\&quot; model
*
* To test \&quot;client\&quot; model
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void testClientModelTest() {
Client body = null;
Client response = api.testClientModel(body);
// TODO: test validations
}
/** /**
* Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
* *
* Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
* *
* @throws ApiException
* if the Api call fails
*/ */
@Test @Test
public void testEndpointParametersTest() { public void testEndpointParametersTest() {
BigDecimal number = null; BigDecimal number = null;
Double _double = null; Double _double = null;
String string = null; String patternWithoutDelimiter = null;
byte[] _byte = null; byte[] _byte = null;
Integer integer = null; Integer integer = null;
Integer int32 = null; Integer int32 = null;
Long int64 = null; Long int64 = null;
Float _float = null; Float _float = null;
String string = null;
byte[] binary = null; byte[] binary = null;
Date date = null; LocalDate date = null;
Date dateTime = null; OffsetDateTime dateTime = null;
String password = null; String password = null;
// api.testEndpointParameters(number, _double, string, _byte, integer, int32, int64, _float, binary, date, dateTime, password); String paramCallback = null;
api.testEndpointParameters(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, string, binary, date, dateTime, password, paramCallback);
// TODO: test validations
}
/**
* To test enum parameters
*
* To test enum parameters
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void testEnumParametersTest() {
List<String> enumFormStringArray = null;
String enumFormString = null;
List<String> enumHeaderStringArray = null;
String enumHeaderString = null;
List<String> enumQueryStringArray = null;
String enumQueryString = null;
Integer enumQueryInteger = null;
Double enumQueryDouble = null;
api.testEnumParameters(enumFormStringArray, enumFormString, enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble);
// TODO: test validations
}
/**
* test json serialization of form data
*
*
*
* @throws ApiException
* if the Api call fails
*/
@Test
public void testJsonFormDataTest() {
String param = null;
String param2 = null;
api.testJsonFormData(param, param2);
// TODO: test validations // TODO: test validations
} }

View File

@ -2,8 +2,8 @@ package io.swagger.client.api;
import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.datatype.joda.*;
import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule;
import io.swagger.TestUtils; import io.swagger.TestUtils;
import io.swagger.client.*; import io.swagger.client.*;
@ -22,6 +22,9 @@ import java.util.Map;
import org.junit.*; import org.junit.*;
import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestClientException;
import org.threeten.bp.Instant;
import org.threeten.bp.OffsetDateTime;
import org.threeten.bp.ZonedDateTime;
import static org.junit.Assert.*; import static org.junit.Assert.*;
@ -160,32 +163,33 @@ public class PetApiTest {
assertTrue(found); assertTrue(found);
} }
@Test // this API is deprecated
public void testFindPetsByTags() throws Exception { // @Test
Pet pet = createRandomPet(); // public void testFindPetsByTags() throws Exception {
pet.setName("monster"); // Pet pet = createRandomPet();
pet.setStatus(Pet.StatusEnum.AVAILABLE); // pet.setName("monster");
// pet.setStatus(Pet.StatusEnum.AVAILABLE);
List<Tag> tags = new ArrayList<Tag>(); //
Tag tag1 = new Tag(); // List<Tag> tags = new ArrayList<Tag>();
tag1.setName("friendly"); // Tag tag1 = new Tag();
tags.add(tag1); // tag1.setName("friendly");
pet.setTags(tags); // tags.add(tag1);
// pet.setTags(tags);
api.updatePet(pet); //
// api.updatePet(pet);
List<Pet> pets = api.findPetsByTags(Arrays.asList(new String[]{"friendly"})); //
assertNotNull(pets); // List<Pet> pets = api.findPetsByTags(Arrays.asList(new String[]{"friendly"}));
// assertNotNull(pets);
boolean found = false; //
for (Pet fetched : pets) { // boolean found = false;
if (fetched.getId().equals(pet.getId())) { // for (Pet fetched : pets) {
found = true; // if (fetched.getId().equals(pet.getId())) {
break; // found = true;
} // break;
} // }
assertTrue(found); // }
} // assertTrue(found);
// }
@Test @Test
public void testUpdatePetWithForm() throws Exception { public void testUpdatePetWithForm() throws Exception {
@ -303,7 +307,11 @@ public class PetApiTest {
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING); mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING); mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
mapper.registerModule(new JodaModule()); ThreeTenModule module = new ThreeTenModule();
module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
mapper.registerModule(module);
return mapper; return mapper;
} }
} }

View File

@ -11,10 +11,9 @@ import java.lang.reflect.Field;
import java.util.Map; import java.util.Map;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.junit.*; import org.junit.*;
import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestClientException;
import org.threeten.bp.OffsetDateTime;
import static org.junit.Assert.*; import static org.junit.Assert.*;
@ -61,7 +60,7 @@ public class StoreApiTest {
assertEquals(order.getId(), fetched.getId()); assertEquals(order.getId(), fetched.getId());
assertEquals(order.getPetId(), fetched.getPetId()); assertEquals(order.getPetId(), fetched.getPetId());
assertEquals(order.getQuantity(), fetched.getQuantity()); assertEquals(order.getQuantity(), fetched.getQuantity());
assertEquals(order.getShipDate().withZone(DateTimeZone.UTC), fetched.getShipDate().withZone(DateTimeZone.UTC)); assertTrue(order.getShipDate().isEqual(fetched.getShipDate()));
} }
@Test @Test
@ -86,7 +85,7 @@ public class StoreApiTest {
Order order = new Order(); Order order = new Order();
order.setPetId(new Long(200)); order.setPetId(new Long(200));
order.setQuantity(new Integer(13)); order.setQuantity(new Integer(13));
order.setShipDate(DateTime.now()); order.setShipDate(OffsetDateTime.now().withNano(123000000));
order.setStatus(Order.StatusEnum.PLACED); order.setStatus(Order.StatusEnum.PLACED);
order.setComplete(true); order.setComplete(true);