From 645151ae089c5f5377d39586dd4d1ad3f1a12a4e Mon Sep 17 00:00:00 2001 From: Jueun Park <s5616012@mailbox.tu-dresden.de> Date: Fri, 8 Apr 2022 00:20:09 +0900 Subject: [PATCH] Added RandomUrlTest --- build.gradle | 1 + gradle.properties | 3 ++- .../tudresden/inf/st/openapi/OpenAPIMain.java | 5 +++++ src/test/java/openapi/OpenAPIMain_test.java | 20 +++++++++++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index db1ec197..b8a252d1 100644 --- a/build.gradle +++ b/build.gradle @@ -34,6 +34,7 @@ dependencies { testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: "${junit_jupiter_version}" testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: "${junit_jupiter_version}" testImplementation group: 'com.jayway.jsonpath', name: 'json-path', version: "${json_path_version}" + testImplementation group: 'commons-validator', name: 'commons-validator', version: "${commons_validator_version}" } buildscript { diff --git a/gradle.properties b/gradle.properties index bd099a29..13b7e687 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,5 @@ swagger_parser_version = 2.0.30 junit_jupiter_version = 5.7.0 json_path_version = 2.6.0 jastaddgradle_version = 1.13.3 -grammar2uml_version = 0.2.2-13 \ No newline at end of file +grammar2uml_version = 0.2.2-13 +commons_validator_version = 1.7 \ No newline at end of file diff --git a/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java b/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java index c5960626..d7107bdb 100644 --- a/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java +++ b/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java @@ -20,6 +20,7 @@ import org.apache.http.impl.client.HttpClientBuilder; import javax.net.ssl.HttpsURLConnection; import java.io.*; +import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Collections; @@ -123,6 +124,8 @@ public class OpenAPIMain { } } } catch (Exception e) { + if (e instanceof MalformedURLException) + System.out.println("MalformedURLException"); //System.out.println(e.toString()); } return dict; @@ -161,6 +164,8 @@ public class OpenAPIMain { } } } catch (Exception e) { + if (e instanceof MalformedURLException) + System.out.println("MalformedURLException"); //System.out.println(e.toString()); } return dict; diff --git a/src/test/java/openapi/OpenAPIMain_test.java b/src/test/java/openapi/OpenAPIMain_test.java index e1ba8d18..4041f385 100644 --- a/src/test/java/openapi/OpenAPIMain_test.java +++ b/src/test/java/openapi/OpenAPIMain_test.java @@ -12,6 +12,7 @@ import io.swagger.v3.core.util.Yaml; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.parser.OpenAPIV3Parser; import io.swagger.v3.parser.core.models.SwaggerParseResult; +import org.apache.commons.validator.routines.UrlValidator; import org.junit.jupiter.api.*; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -64,6 +65,25 @@ public class OpenAPIMain_test { compareJson(expectedNode, actualNode, Paths.get(file.getPath())); } + @MethodSource("resources") + @ParameterizedTest + void RandomUrlTest(File file) throws Exception { + OpenAPIObject jastAddObject; + OpenAPI POJOOpenAPI; + List<String> urls; + UrlValidator urlValidator = new UrlValidator(); + + SwaggerParseResult result = new OpenAPIParser().readLocation(file.getPath(), null, null); + POJOOpenAPI = result.getOpenAPI(); + System.out.println("Loading expression DSL file '" + file + "'."); + + jastAddObject = OpenAPIObject.parseOpenAPI(POJOOpenAPI); + urls = jastAddObject.generateRequests(); + + for ( String url : urls ) + Assertions.assertFalse( urlValidator.isValid(url), "validation of the generated Urls not succeeded" ); + } + static Stream<File> resources() { return resources.stream(); } -- GitLab