[python] Add tests and fix enum path parameters (#16769)

* test: Tests for enum params in path, query and header

* fix: Get enum ref values correctly in path parameters

Closes #16688

* fix java tests failure

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
This commit is contained in:
Robert Schweizer
2023-10-10 11:10:30 +02:00
committed by GitHub
parent 7bb75f4bb4
commit 9e07f85eb5
88 changed files with 1549 additions and 538 deletions

View File

@@ -27,6 +27,7 @@ import com.google.gson.reflect.TypeToken;
import java.io.IOException;
import org.openapitools.client.model.StringEnumRef;
import java.lang.reflect.Type;
import java.util.ArrayList;
@@ -72,10 +73,12 @@ public class HeaderApi {
}
/**
* Build call for testHeaderIntegerBooleanString
* Build call for testHeaderIntegerBooleanStringEnums
* @param integerHeader (optional)
* @param booleanHeader (optional)
* @param stringHeader (optional)
* @param enumNonrefStringHeader (optional)
* @param enumRefStringHeader (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -85,7 +88,7 @@ public class HeaderApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public okhttp3.Call testHeaderIntegerBooleanStringCall(Integer integerHeader, Boolean booleanHeader, String stringHeader, final ApiCallback _callback) throws ApiException {
public okhttp3.Call testHeaderIntegerBooleanStringEnumsCall(Integer integerHeader, Boolean booleanHeader, String stringHeader, String enumNonrefStringHeader, StringEnumRef enumRefStringHeader, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -102,7 +105,7 @@ public class HeaderApi {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/header/integer/boolean/string";
String localVarPath = "/header/integer/boolean/string/enums";
List<Pair> localVarQueryParams = new ArrayList<Pair>();
List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
@@ -122,6 +125,14 @@ public class HeaderApi {
localVarHeaderParams.put("string_header", localVarApiClient.parameterToString(stringHeader));
}
if (enumNonrefStringHeader != null) {
localVarHeaderParams.put("enum_nonref_string_header", localVarApiClient.parameterToString(enumNonrefStringHeader));
}
if (enumRefStringHeader != null) {
localVarHeaderParams.put("enum_ref_string_header", localVarApiClient.parameterToString(enumRefStringHeader));
}
final String[] localVarAccepts = {
"text/plain"
};
@@ -142,8 +153,8 @@ public class HeaderApi {
}
@SuppressWarnings("rawtypes")
private okhttp3.Call testHeaderIntegerBooleanStringValidateBeforeCall(Integer integerHeader, Boolean booleanHeader, String stringHeader, final ApiCallback _callback) throws ApiException {
return testHeaderIntegerBooleanStringCall(integerHeader, booleanHeader, stringHeader, _callback);
private okhttp3.Call testHeaderIntegerBooleanStringEnumsValidateBeforeCall(Integer integerHeader, Boolean booleanHeader, String stringHeader, String enumNonrefStringHeader, StringEnumRef enumRefStringHeader, final ApiCallback _callback) throws ApiException {
return testHeaderIntegerBooleanStringEnumsCall(integerHeader, booleanHeader, stringHeader, enumNonrefStringHeader, enumRefStringHeader, _callback);
}
@@ -153,6 +164,8 @@ public class HeaderApi {
* @param integerHeader (optional)
* @param booleanHeader (optional)
* @param stringHeader (optional)
* @param enumNonrefStringHeader (optional)
* @param enumRefStringHeader (optional)
* @return String
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -161,8 +174,8 @@ public class HeaderApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public String testHeaderIntegerBooleanString(Integer integerHeader, Boolean booleanHeader, String stringHeader) throws ApiException {
ApiResponse<String> localVarResp = testHeaderIntegerBooleanStringWithHttpInfo(integerHeader, booleanHeader, stringHeader);
public String testHeaderIntegerBooleanStringEnums(Integer integerHeader, Boolean booleanHeader, String stringHeader, String enumNonrefStringHeader, StringEnumRef enumRefStringHeader) throws ApiException {
ApiResponse<String> localVarResp = testHeaderIntegerBooleanStringEnumsWithHttpInfo(integerHeader, booleanHeader, stringHeader, enumNonrefStringHeader, enumRefStringHeader);
return localVarResp.getData();
}
@@ -172,6 +185,8 @@ public class HeaderApi {
* @param integerHeader (optional)
* @param booleanHeader (optional)
* @param stringHeader (optional)
* @param enumNonrefStringHeader (optional)
* @param enumRefStringHeader (optional)
* @return ApiResponse&lt;String&gt;
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -180,8 +195,8 @@ public class HeaderApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public ApiResponse<String> testHeaderIntegerBooleanStringWithHttpInfo(Integer integerHeader, Boolean booleanHeader, String stringHeader) throws ApiException {
okhttp3.Call localVarCall = testHeaderIntegerBooleanStringValidateBeforeCall(integerHeader, booleanHeader, stringHeader, null);
public ApiResponse<String> testHeaderIntegerBooleanStringEnumsWithHttpInfo(Integer integerHeader, Boolean booleanHeader, String stringHeader, String enumNonrefStringHeader, StringEnumRef enumRefStringHeader) throws ApiException {
okhttp3.Call localVarCall = testHeaderIntegerBooleanStringEnumsValidateBeforeCall(integerHeader, booleanHeader, stringHeader, enumNonrefStringHeader, enumRefStringHeader, null);
Type localVarReturnType = new TypeToken<String>(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -192,6 +207,8 @@ public class HeaderApi {
* @param integerHeader (optional)
* @param booleanHeader (optional)
* @param stringHeader (optional)
* @param enumNonrefStringHeader (optional)
* @param enumRefStringHeader (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -201,9 +218,9 @@ public class HeaderApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public okhttp3.Call testHeaderIntegerBooleanStringAsync(Integer integerHeader, Boolean booleanHeader, String stringHeader, final ApiCallback<String> _callback) throws ApiException {
public okhttp3.Call testHeaderIntegerBooleanStringEnumsAsync(Integer integerHeader, Boolean booleanHeader, String stringHeader, String enumNonrefStringHeader, StringEnumRef enumRefStringHeader, final ApiCallback<String> _callback) throws ApiException {
okhttp3.Call localVarCall = testHeaderIntegerBooleanStringValidateBeforeCall(integerHeader, booleanHeader, stringHeader, _callback);
okhttp3.Call localVarCall = testHeaderIntegerBooleanStringEnumsValidateBeforeCall(integerHeader, booleanHeader, stringHeader, enumNonrefStringHeader, enumRefStringHeader, _callback);
Type localVarReturnType = new TypeToken<String>(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;

View File

@@ -27,6 +27,7 @@ import com.google.gson.reflect.TypeToken;
import java.io.IOException;
import org.openapitools.client.model.StringEnumRef;
import java.lang.reflect.Type;
import java.util.ArrayList;
@@ -72,9 +73,11 @@ public class PathApi {
}
/**
* Build call for testsPathStringPathStringIntegerPathInteger
* Build call for testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath
* @param pathString (required)
* @param pathInteger (required)
* @param enumNonrefStringPath (required)
* @param enumRefStringPath (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -84,7 +87,7 @@ public class PathApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public okhttp3.Call testsPathStringPathStringIntegerPathIntegerCall(String pathString, Integer pathInteger, final ApiCallback _callback) throws ApiException {
public okhttp3.Call testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathCall(String pathString, Integer pathInteger, String enumNonrefStringPath, StringEnumRef enumRefStringPath, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -101,9 +104,11 @@ public class PathApi {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/path/string/{path_string}/integer/{path_integer}"
String localVarPath = "/path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path}"
.replace("{" + "path_string" + "}", localVarApiClient.escapeString(pathString.toString()))
.replace("{" + "path_integer" + "}", localVarApiClient.escapeString(pathInteger.toString()));
.replace("{" + "path_integer" + "}", localVarApiClient.escapeString(pathInteger.toString()))
.replace("{" + "enum_nonref_string_path" + "}", localVarApiClient.escapeString(enumNonrefStringPath.toString()))
.replace("{" + "enum_ref_string_path" + "}", localVarApiClient.escapeString(enumRefStringPath.toString()));
List<Pair> localVarQueryParams = new ArrayList<Pair>();
List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
@@ -131,18 +136,28 @@ public class PathApi {
}
@SuppressWarnings("rawtypes")
private okhttp3.Call testsPathStringPathStringIntegerPathIntegerValidateBeforeCall(String pathString, Integer pathInteger, final ApiCallback _callback) throws ApiException {
private okhttp3.Call testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathValidateBeforeCall(String pathString, Integer pathInteger, String enumNonrefStringPath, StringEnumRef enumRefStringPath, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'pathString' is set
if (pathString == null) {
throw new ApiException("Missing the required parameter 'pathString' when calling testsPathStringPathStringIntegerPathInteger(Async)");
throw new ApiException("Missing the required parameter 'pathString' when calling testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath(Async)");
}
// verify the required parameter 'pathInteger' is set
if (pathInteger == null) {
throw new ApiException("Missing the required parameter 'pathInteger' when calling testsPathStringPathStringIntegerPathInteger(Async)");
throw new ApiException("Missing the required parameter 'pathInteger' when calling testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath(Async)");
}
return testsPathStringPathStringIntegerPathIntegerCall(pathString, pathInteger, _callback);
// verify the required parameter 'enumNonrefStringPath' is set
if (enumNonrefStringPath == null) {
throw new ApiException("Missing the required parameter 'enumNonrefStringPath' when calling testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath(Async)");
}
// verify the required parameter 'enumRefStringPath' is set
if (enumRefStringPath == null) {
throw new ApiException("Missing the required parameter 'enumRefStringPath' when calling testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath(Async)");
}
return testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathCall(pathString, pathInteger, enumNonrefStringPath, enumRefStringPath, _callback);
}
@@ -151,6 +166,8 @@ public class PathApi {
* Test path parameter(s)
* @param pathString (required)
* @param pathInteger (required)
* @param enumNonrefStringPath (required)
* @param enumRefStringPath (required)
* @return String
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -159,8 +176,8 @@ public class PathApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public String testsPathStringPathStringIntegerPathInteger(String pathString, Integer pathInteger) throws ApiException {
ApiResponse<String> localVarResp = testsPathStringPathStringIntegerPathIntegerWithHttpInfo(pathString, pathInteger);
public String testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath(String pathString, Integer pathInteger, String enumNonrefStringPath, StringEnumRef enumRefStringPath) throws ApiException {
ApiResponse<String> localVarResp = testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathWithHttpInfo(pathString, pathInteger, enumNonrefStringPath, enumRefStringPath);
return localVarResp.getData();
}
@@ -169,6 +186,8 @@ public class PathApi {
* Test path parameter(s)
* @param pathString (required)
* @param pathInteger (required)
* @param enumNonrefStringPath (required)
* @param enumRefStringPath (required)
* @return ApiResponse&lt;String&gt;
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -177,8 +196,8 @@ public class PathApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public ApiResponse<String> testsPathStringPathStringIntegerPathIntegerWithHttpInfo(String pathString, Integer pathInteger) throws ApiException {
okhttp3.Call localVarCall = testsPathStringPathStringIntegerPathIntegerValidateBeforeCall(pathString, pathInteger, null);
public ApiResponse<String> testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathWithHttpInfo(String pathString, Integer pathInteger, String enumNonrefStringPath, StringEnumRef enumRefStringPath) throws ApiException {
okhttp3.Call localVarCall = testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathValidateBeforeCall(pathString, pathInteger, enumNonrefStringPath, enumRefStringPath, null);
Type localVarReturnType = new TypeToken<String>(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -188,6 +207,8 @@ public class PathApi {
* Test path parameter(s)
* @param pathString (required)
* @param pathInteger (required)
* @param enumNonrefStringPath (required)
* @param enumRefStringPath (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -197,9 +218,9 @@ public class PathApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public okhttp3.Call testsPathStringPathStringIntegerPathIntegerAsync(String pathString, Integer pathInteger, final ApiCallback<String> _callback) throws ApiException {
public okhttp3.Call testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathAsync(String pathString, Integer pathInteger, String enumNonrefStringPath, StringEnumRef enumRefStringPath, final ApiCallback<String> _callback) throws ApiException {
okhttp3.Call localVarCall = testsPathStringPathStringIntegerPathIntegerValidateBeforeCall(pathString, pathInteger, _callback);
okhttp3.Call localVarCall = testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathValidateBeforeCall(pathString, pathInteger, enumNonrefStringPath, enumRefStringPath, _callback);
Type localVarReturnType = new TypeToken<String>(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;

View File

@@ -80,6 +80,7 @@ public class QueryApi {
/**
* Build call for testEnumRefString
* @param enumNonrefStringQuery (optional)
* @param enumRefStringQuery (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
@@ -90,7 +91,7 @@ public class QueryApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public okhttp3.Call testEnumRefStringCall(StringEnumRef enumRefStringQuery, final ApiCallback _callback) throws ApiException {
public okhttp3.Call testEnumRefStringCall(String enumNonrefStringQuery, StringEnumRef enumRefStringQuery, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -115,6 +116,10 @@ public class QueryApi {
Map<String, String> localVarCookieParams = new HashMap<String, String>();
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
if (enumNonrefStringQuery != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("enum_nonref_string_query", enumNonrefStringQuery));
}
if (enumRefStringQuery != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("enum_ref_string_query", enumRefStringQuery));
}
@@ -139,14 +144,15 @@ public class QueryApi {
}
@SuppressWarnings("rawtypes")
private okhttp3.Call testEnumRefStringValidateBeforeCall(StringEnumRef enumRefStringQuery, final ApiCallback _callback) throws ApiException {
return testEnumRefStringCall(enumRefStringQuery, _callback);
private okhttp3.Call testEnumRefStringValidateBeforeCall(String enumNonrefStringQuery, StringEnumRef enumRefStringQuery, final ApiCallback _callback) throws ApiException {
return testEnumRefStringCall(enumNonrefStringQuery, enumRefStringQuery, _callback);
}
/**
* Test query parameter(s)
* Test query parameter(s)
* @param enumNonrefStringQuery (optional)
* @param enumRefStringQuery (optional)
* @return String
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -156,14 +162,15 @@ public class QueryApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public String testEnumRefString(StringEnumRef enumRefStringQuery) throws ApiException {
ApiResponse<String> localVarResp = testEnumRefStringWithHttpInfo(enumRefStringQuery);
public String testEnumRefString(String enumNonrefStringQuery, StringEnumRef enumRefStringQuery) throws ApiException {
ApiResponse<String> localVarResp = testEnumRefStringWithHttpInfo(enumNonrefStringQuery, enumRefStringQuery);
return localVarResp.getData();
}
/**
* Test query parameter(s)
* Test query parameter(s)
* @param enumNonrefStringQuery (optional)
* @param enumRefStringQuery (optional)
* @return ApiResponse&lt;String&gt;
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -173,8 +180,8 @@ public class QueryApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public ApiResponse<String> testEnumRefStringWithHttpInfo(StringEnumRef enumRefStringQuery) throws ApiException {
okhttp3.Call localVarCall = testEnumRefStringValidateBeforeCall(enumRefStringQuery, null);
public ApiResponse<String> testEnumRefStringWithHttpInfo(String enumNonrefStringQuery, StringEnumRef enumRefStringQuery) throws ApiException {
okhttp3.Call localVarCall = testEnumRefStringValidateBeforeCall(enumNonrefStringQuery, enumRefStringQuery, null);
Type localVarReturnType = new TypeToken<String>(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -182,6 +189,7 @@ public class QueryApi {
/**
* Test query parameter(s) (asynchronously)
* Test query parameter(s)
* @param enumNonrefStringQuery (optional)
* @param enumRefStringQuery (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -192,9 +200,9 @@ public class QueryApi {
<tr><td> 200 </td><td> Successful operation </td><td> - </td></tr>
</table>
*/
public okhttp3.Call testEnumRefStringAsync(StringEnumRef enumRefStringQuery, final ApiCallback<String> _callback) throws ApiException {
public okhttp3.Call testEnumRefStringAsync(String enumNonrefStringQuery, StringEnumRef enumRefStringQuery, final ApiCallback<String> _callback) throws ApiException {
okhttp3.Call localVarCall = testEnumRefStringValidateBeforeCall(enumRefStringQuery, _callback);
okhttp3.Call localVarCall = testEnumRefStringValidateBeforeCall(enumNonrefStringQuery, enumRefStringQuery, _callback);
Type localVarReturnType = new TypeToken<String>(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;

View File

@@ -14,6 +14,7 @@
package org.openapitools.client.api;
import org.openapitools.client.ApiException;
import org.openapitools.client.model.StringEnumRef;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@@ -38,11 +39,13 @@ public class HeaderApiTest {
* @throws ApiException if the Api call fails
*/
@Test
public void testHeaderIntegerBooleanStringTest() throws ApiException {
public void testHeaderIntegerBooleanStringEnumsTest() throws ApiException {
Integer integerHeader = null;
Boolean booleanHeader = null;
String stringHeader = null;
String response = api.testHeaderIntegerBooleanString(integerHeader, booleanHeader, stringHeader);
String enumNonrefStringHeader = null;
StringEnumRef enumRefStringHeader = null;
String response = api.testHeaderIntegerBooleanStringEnums(integerHeader, booleanHeader, stringHeader, enumNonrefStringHeader, enumRefStringHeader);
// TODO: test validations
}

View File

@@ -14,6 +14,7 @@
package org.openapitools.client.api;
import org.openapitools.client.ApiException;
import org.openapitools.client.model.StringEnumRef;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@@ -38,10 +39,12 @@ public class PathApiTest {
* @throws ApiException if the Api call fails
*/
@Test
public void testsPathStringPathStringIntegerPathIntegerTest() throws ApiException {
public void testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPathTest() throws ApiException {
String pathString = null;
Integer pathInteger = null;
String response = api.testsPathStringPathStringIntegerPathInteger(pathString, pathInteger);
String enumNonrefStringPath = null;
StringEnumRef enumRefStringPath = null;
String response = api.testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath(pathString, pathInteger, enumNonrefStringPath, enumRefStringPath);
// TODO: test validations
}