From cf54d618729e4fafeeb0ccd680a244515e828775 Mon Sep 17 00:00:00 2001 From: Sean Sullivan Date: Thu, 22 Aug 2019 17:06:36 -0400 Subject: [PATCH] [java-client] add unit test for JDK 11 HttpClient --- .../codegen/java/JavaClientCodegenTest.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index 02e0df57c472..04e0506a2419 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -331,6 +331,44 @@ public void testGeneratePing() throws Exception { output.deleteOnExit(); } + @Test + public void testJdkHttpClient() throws Exception { + Map properties = new HashMap<>(); + properties.put(JavaClientCodegen.JAVA8_MODE, true); + properties.put(CodegenConstants.API_PACKAGE, "xyz.abcdef.api"); + + File output = Files.createTempDirectory("test").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("java") + .setLibrary(JavaClientCodegen.NATIVE) + .setAdditionalProperties(properties) + .setInputSpec("src/test/resources/3_0/ping.yaml") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + MockDefaultGenerator generator = new MockDefaultGenerator(); + generator.opts(clientOptInput).generate(); + + Map generatedFiles = generator.getFiles(); + Assert.assertEquals(generatedFiles.size(), 23); + validateJavaSourceFiles(generatedFiles); + + String defaultApiFilename = new File(output, "src/main/java/xyz/abcdef/api/DefaultApi.java").getAbsolutePath().replace("\\", "/"); + String defaultApiContent = generatedFiles.get(defaultApiFilename); + assertTrue(defaultApiContent.contains("public class DefaultApi")); + assertTrue(defaultApiContent.contains("import java.net.http.HttpClient;")); + assertTrue(defaultApiContent.contains("import java.net.http.HttpRequest;")); + assertTrue(defaultApiContent.contains("import java.net.http.HttpResponse;")); + + String apiClientFilename = new File(output, "src/main/java/xyz/abcdef/ApiClient.java").getAbsolutePath().replace("\\", "/"); + String apiClientContent = generatedFiles.get(apiClientFilename); + assertTrue(apiClientContent.contains("public class ApiClient")); + assertTrue(apiClientContent.contains("import java.net.http.HttpClient;")); + assertTrue(apiClientContent.contains("import java.net.http.HttpRequest;")); + } + @Test public void testReferencedHeader() { final OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/issue855.yaml");