@@ -5366,4 +5366,50 @@ private static Path generateJerseyClient(String library, Boolean generateInsecur
53665366 new DefaultGenerator ().opts (configurator .toClientOptInput ()).generate ();
53675367 return output ;
53685368 }
5369+
5370+ /**
5371+ * Regression test for <a href="https://github.com/OpenAPITools/openapi-generator/issues/20657">#20657</a>:
5372+ * When generateClientAsBean is false (default), Spring @Component and @Autowired imports
5373+ * should not be included in ApiClient and API classes for the resttemplate library.
5374+ */
5375+ @ Test
5376+ public void testRestTemplateGenerateClientAsBeanDefaultFalse () {
5377+ Path output = newTempFolder ();
5378+ CodegenConfigurator configurator = new CodegenConfigurator ()
5379+ .setGeneratorName (JAVA_GENERATOR )
5380+ .setLibrary (JavaClientCodegen .RESTTEMPLATE )
5381+ .setInputSpec ("src/test/resources/3_0/ping.yaml" )
5382+ .setOutputDir (output .toString ().replace ("\\ " , "/" ));
5383+
5384+ new DefaultGenerator ().opts (configurator .toClientOptInput ()).generate ();
5385+
5386+ assertThat (output .resolve ("src/main/java/org/openapitools/client/ApiClient.java" )).content ()
5387+ .doesNotContain ("import org.springframework.beans.factory.annotation.Autowired;" )
5388+ .doesNotContain ("import org.springframework.stereotype.Component;" );
5389+
5390+ assertThat (output .resolve ("src/main/java/org/openapitools/client/api/DefaultApi.java" )).content ()
5391+ .doesNotContain ("import org.springframework.beans.factory.annotation.Autowired;" )
5392+ .doesNotContain ("import org.springframework.stereotype.Component;" );
5393+ }
5394+
5395+ @ Test
5396+ public void testRestTemplateGenerateClientAsBeanTrue () {
5397+ Path output = newTempFolder ();
5398+ CodegenConfigurator configurator = new CodegenConfigurator ()
5399+ .setGeneratorName (JAVA_GENERATOR )
5400+ .setLibrary (JavaClientCodegen .RESTTEMPLATE )
5401+ .addAdditionalProperty (JavaClientCodegen .GENERATE_CLIENT_AS_BEAN , true )
5402+ .setInputSpec ("src/test/resources/3_0/ping.yaml" )
5403+ .setOutputDir (output .toString ().replace ("\\ " , "/" ));
5404+
5405+ new DefaultGenerator ().opts (configurator .toClientOptInput ()).generate ();
5406+
5407+ assertThat (output .resolve ("src/main/java/org/openapitools/client/ApiClient.java" )).content ()
5408+ .contains ("import org.springframework.beans.factory.annotation.Autowired;" )
5409+ .contains ("import org.springframework.stereotype.Component;" );
5410+
5411+ assertThat (output .resolve ("src/main/java/org/openapitools/client/api/DefaultApi.java" )).content ()
5412+ .contains ("import org.springframework.beans.factory.annotation.Autowired;" )
5413+ .contains ("import org.springframework.stereotype.Component;" );
5414+ }
53695415}
0 commit comments