forked from loafle/openapi-generator-original
Fixed issue with list inputs for query and path parameters
This commit is contained in:
parent
fb87385c1b
commit
8e7cf41f5b
@ -13,6 +13,7 @@ import java.io.PrintWriter;
|
|||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -158,7 +159,22 @@ public class JavaTestCaseExecutor {
|
|||||||
}else if (argNamesArray[i].trim().equals(APITestRunner.POST_PARAM_NAME)){
|
}else if (argNamesArray[i].trim().equals(APITestRunner.POST_PARAM_NAME)){
|
||||||
argument = APITestRunner.convertJSONStringToObject(postData, argTypesArray[i]);
|
argument = APITestRunner.convertJSONStringToObject(postData, argTypesArray[i]);
|
||||||
}else{
|
}else{
|
||||||
argument = APITestRunner.convertJSONStringToObject(queryAndPathParameters.get(argNamesArray[i].trim()), argTypesArray[i]);
|
//some times input can be list of primitives for supporting multivalued values. however test case sends the input as comma separated values
|
||||||
|
//so we need to convert comma separated string into JSON list format
|
||||||
|
if(List.class.isAssignableFrom(argTypesArray[i]) && !queryAndPathParameters.get(argNamesArray[i].trim()).startsWith("[")){
|
||||||
|
String listInput= "[";
|
||||||
|
int x = 0;
|
||||||
|
String[] values = queryAndPathParameters.get(argNamesArray[i].trim()).split(",");
|
||||||
|
for(String value : values){
|
||||||
|
if(x > 0){listInput = listInput + ",";}
|
||||||
|
listInput = listInput + "\""+ value + "\"";
|
||||||
|
x++;
|
||||||
|
}
|
||||||
|
listInput = listInput + "]";
|
||||||
|
argument = APITestRunner.convertJSONStringToObject(listInput, argTypesArray[i]);
|
||||||
|
}else{
|
||||||
|
argument = APITestRunner.convertJSONStringToObject(queryAndPathParameters.get(argNamesArray[i].trim()), argTypesArray[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
arguments[i] = argument;
|
arguments[i] = argument;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user