Skip to content
Snippets Groups Projects
Commit fa454295 authored by Jueun Park's avatar Jueun Park
Browse files

Adapted RandomRequestGenerator

parent b2fbfc6e
No related branches found
No related tags found
1 merge request!6Resolve "check and fix random request generator"
Pipeline #13268 passed
...@@ -40,39 +40,40 @@ aspect RandomRequestGenerator{ ...@@ -40,39 +40,40 @@ aspect RandomRequestGenerator{
return pathRef; return pathRef;
} }
syn boolean OpenAPIObject.generateRequests(){ syn List<String> OpenAPIObject.generateRequests(){
List<String> urls = new ArrayList<>();
try { try {
for (PathsObject p : getPList()) for (PathsObject p : getPList())
p.generateUrl(); urls.addAll(p.generateUrl());
} catch (Exception e) { } catch (Exception e) {
return false; System.out.println(e.toString());
return null;
} }
return true; return urls;
} }
inh boolean PathsObject.generateUrl(); inh List<String> PathsObject.generateUrl();
eq OpenAPIObject.getP(int i).generateUrl(){ eq OpenAPIObject.getP(int i).generateUrl(){
/* List<String> urls = new ArrayList<>();
try { try {
PathItemObject p = getPathsObject(i).getPathItemObject(); PathItemObject p = getP(i).getP().pathItemObject();
String path = getServerObject(0).getUrl(); String path = getServ(0).getUrl();
if (p.hasGet()) if (p.hasG())
p.getGet().generateRandomUrl(path + getPathsObject(i).getRef()); urls.add(p.getG().generateRandomUrl(path + getP(i).getRef()));
else if (p.hasPost()) else if (p.hasPostOb())
p.getPost().generateRandomUrl(path + getPathsObject(i).getRef()); urls.add(p.getPostOb().generateRandomUrl(path + getP(i).getRef()));
return true; return urls;
} catch (Exception e) { } catch (Exception e) {
return false; System.out.println(e.toString());
}*/ return null;
return true; }
} }
syn boolean Get.generateRandomUrl(String pathRef){ syn String Get.generateRandomUrl(String pathRef){
/*
try { try {
for (ParameterOb o : getOperationObject().getParameterObs()) { for (ParameterOb o : getO().getPList()) {
ParameterObject p = o.parameterObject(); ParameterObject p = o.parameterObject();
if (p.getIn().equals("path")) if (p.getIn().equals("path"))
pathRef = p.randomPathParameter(pathRef); pathRef = p.randomPathParameter(pathRef);
...@@ -80,28 +81,15 @@ aspect RandomRequestGenerator{ ...@@ -80,28 +81,15 @@ aspect RandomRequestGenerator{
pathRef = p.randomQueryParameter(pathRef); pathRef = p.randomQueryParameter(pathRef);
} }
System.out.println("Generated path : " + pathRef); System.out.println("Generated path : " + pathRef);
return pathRef;
for (ResponseTuple t : getOperationObject().getResponseTuples()) {
if (t.getKey().equals("200") && responseCode == 200) {
//System.out.println("Response successfully saved!");
SchemaOb respSchema = t.getResponseOb().responseObject().getContentTuple(0).getMediaTypeObject().getSchemaOb();
if (respSchema.schemaObject().getType().equals("array"))
getOperationObject().writeDictionaryWithArray(respSchema, response.toString());
else
getOperationObject().writeDictionary(respSchema, response.toString());
}
}
return true;
} catch (Exception e) { } catch (Exception e) {
System.out.println(e.toString()); System.out.println(e.toString());
return false; return null;
}*/
return true;
} }
syn boolean Post.generateRandomUrl(String pathRef){ }
/* syn String Post.generateRandomUrl(String pathRef){
try { try {
for (ParameterOb o : getOperationObject().getParameterObs()) { for (ParameterOb o : getO().getPList()) {
ParameterObject p = o.parameterObject(); ParameterObject p = o.parameterObject();
if (p.getIn().equals("path")) if (p.getIn().equals("path"))
pathRef = p.randomPathParameter(pathRef); pathRef = p.randomPathParameter(pathRef);
...@@ -109,23 +97,11 @@ aspect RandomRequestGenerator{ ...@@ -109,23 +97,11 @@ aspect RandomRequestGenerator{
pathRef = p.randomQueryParameter(pathRef); pathRef = p.randomQueryParameter(pathRef);
} }
System.out.println("Generated path : " + pathRef); System.out.println("Generated path : " + pathRef);
return pathRef;
for (ResponseTuple t : getOperationObject().getResponseTuples()) {
if (t.getKey().equals("200") && responseCode == 200) {
//System.out.println("Response successfully saved!");
SchemaOb respSchema = t.getResponseOb().responseObject().getContentTuple(0).getMediaTypeObject().getSchemaOb();
if (respSchema.schemaObject().getType().equals("array"))
getOperationObject().writeDictionaryWithArray(respSchema, response.toString());
else
getOperationObject().writeDictionary(respSchema, response.toString());
}
}
return true;
} catch (Exception e) { } catch (Exception e) {
System.out.println(e.toString()); System.out.println(e.toString());
return false; return null;
}*/ }
return true;
} }
syn String ParameterObject.generateRandomString(Random rand,JastAddList<EnumObj> objs){ syn String ParameterObject.generateRandomString(Random rand,JastAddList<EnumObj> objs){
......
...@@ -36,6 +36,20 @@ aspect Reference { ...@@ -36,6 +36,20 @@ aspect Reference {
CallbackTuple contributes this CallbackTuple contributes this
to OpenAPIObject.callbackTuples(); to OpenAPIObject.callbackTuples();
coll List<PathItemTuple> OpenAPIObject.pathItemTuples() [new ArrayList<>()] root OpenAPIObject;
PathItemTuple contributes this
to OpenAPIObject.pathItemTuples();
syn PathItemObject PathItemOb.pathItemObject();
eq PathItemObject.pathItemObject() = this;
eq PathItemReference.pathItemObject() {
for (PathItemTuple t : root().pathItemTuples()) {
if (t.getKey().equals(getRef().substring(getRef().lastIndexOf("/") + 1, getRef().length())))
return t.getO().pathItemObject();
}
return new PathItemObject();
}
syn ParameterObject ParameterOb.parameterObject(); syn ParameterObject ParameterOb.parameterObject();
eq ParameterObject.parameterObject() = this; eq ParameterObject.parameterObject() = this;
eq ParameterReference.parameterObject() { eq ParameterReference.parameterObject() {
......
...@@ -35,9 +35,12 @@ public class OpenAPIMain { ...@@ -35,9 +35,12 @@ public class OpenAPIMain {
SwaggerParseResult result = new OpenAPIParser().readLocation(fileName, null, null); SwaggerParseResult result = new OpenAPIParser().readLocation(fileName, null, null);
OpenAPI openAPI = result.getOpenAPI(); OpenAPI openAPI = result.getOpenAPI();
List<String> generatedURLs = new ArrayList<>(); List<String> generatedURLs = new ArrayList<>();
List<String> dictionary = new ArrayList<>();
jastAddObject = OpenAPIObject.parseOpenAPI(openAPI); jastAddObject = OpenAPIObject.parseOpenAPI(openAPI);
generatedURLs = jastAddObject.generateRequests();
URL expUrl = OpenAPIMain.class.getClassLoader().getResource(fileName); URL expUrl = OpenAPIMain.class.getClassLoader().getResource(fileName);
File file = null; File file = null;
if (expUrl != null) { if (expUrl != null) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment