Skip to content

Commit

Permalink
[java-client] add unit test for JDK 11 HttpClient (#3735)
Browse files Browse the repository at this point in the history
  • Loading branch information
sullis authored and wing328 committed Aug 25, 2019
1 parent 8cd5a41 commit e12459f
Showing 1 changed file with 38 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,44 @@ public void testGeneratePing() throws Exception {
output.deleteOnExit();
}

@Test
public void testJdkHttpClient() throws Exception {
Map<String, Object> 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<String, String> 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");
Expand Down

0 comments on commit e12459f

Please sign in to comment.