@@ -331,6 +331,44 @@ public void testGeneratePing() throws Exception {
331331 output .deleteOnExit ();
332332 }
333333
334+ @ Test
335+ public void testJdkHttpClient () throws Exception {
336+ Map <String , Object > properties = new HashMap <>();
337+ properties .put (JavaClientCodegen .JAVA8_MODE , true );
338+ properties .put (CodegenConstants .API_PACKAGE , "xyz.abcdef.api" );
339+
340+ File output = Files .createTempDirectory ("test" ).toFile ();
341+ output .deleteOnExit ();
342+
343+ final CodegenConfigurator configurator = new CodegenConfigurator ()
344+ .setGeneratorName ("java" )
345+ .setLibrary (JavaClientCodegen .NATIVE )
346+ .setAdditionalProperties (properties )
347+ .setInputSpec ("src/test/resources/3_0/ping.yaml" )
348+ .setOutputDir (output .getAbsolutePath ().replace ("\\ " , "/" ));
349+
350+ final ClientOptInput clientOptInput = configurator .toClientOptInput ();
351+ MockDefaultGenerator generator = new MockDefaultGenerator ();
352+ generator .opts (clientOptInput ).generate ();
353+
354+ Map <String , String > generatedFiles = generator .getFiles ();
355+ Assert .assertEquals (generatedFiles .size (), 23 );
356+ validateJavaSourceFiles (generatedFiles );
357+
358+ String defaultApiFilename = new File (output , "src/main/java/xyz/abcdef/api/DefaultApi.java" ).getAbsolutePath ().replace ("\\ " , "/" );
359+ String defaultApiContent = generatedFiles .get (defaultApiFilename );
360+ assertTrue (defaultApiContent .contains ("public class DefaultApi" ));
361+ assertTrue (defaultApiContent .contains ("import java.net.http.HttpClient;" ));
362+ assertTrue (defaultApiContent .contains ("import java.net.http.HttpRequest;" ));
363+ assertTrue (defaultApiContent .contains ("import java.net.http.HttpResponse;" ));
364+
365+ String apiClientFilename = new File (output , "src/main/java/xyz/abcdef/ApiClient.java" ).getAbsolutePath ().replace ("\\ " , "/" );
366+ String apiClientContent = generatedFiles .get (apiClientFilename );
367+ assertTrue (apiClientContent .contains ("public class ApiClient" ));
368+ assertTrue (apiClientContent .contains ("import java.net.http.HttpClient;" ));
369+ assertTrue (apiClientContent .contains ("import java.net.http.HttpRequest;" ));
370+ }
371+
334372 @ Test
335373 public void testReferencedHeader () {
336374 final OpenAPI openAPI = TestUtils .parseSpec ("src/test/resources/3_0/issue855.yaml" );
0 commit comments