@@ -809,11 +809,11 @@ private ClientOptInput createOptInputIssue(String issueNumber, Path target) {
809809 public void testGenerateRecursiveDependentModelsBackwardCompatibilityIssue18444 () throws IOException {
810810 Path target = Files .createTempDirectory ("test" );
811811 File output = target .toFile ();
812- String oldModelsProp = GlobalSettings .getProperty ("models" );
812+ String oldModelsProp = GlobalSettings .getProperty (CodegenConstants . MODELS );
813813
814814 try {
815815 DefaultGenerator generator = generatorGenerateRecursiveDependentModelsBackwardCompatibility ("false" );
816- GlobalSettings .setProperty ("models" , "RQ1,RS1" );
816+ GlobalSettings .setProperty (CodegenConstants . MODELS , "RQ1,RS1" );
817817 ClientOptInput clientOptInput = createOptInputIssue18444 (target );
818818 List <File > files = generator .opts (clientOptInput ).generate ();
819819 Assert .assertEquals (files .size (), 17 );
@@ -853,9 +853,9 @@ public void testGenerateRecursiveDependentModelsBackwardCompatibilityIssue18444(
853853 } finally {
854854 output .deleteOnExit ();
855855 if (oldModelsProp != null ) {
856- GlobalSettings .setProperty ("models" , oldModelsProp );
856+ GlobalSettings .setProperty (CodegenConstants . MODELS , oldModelsProp );
857857 } else {
858- GlobalSettings .clearProperty ("models" );
858+ GlobalSettings .clearProperty (CodegenConstants . MODELS );
859859 }
860860 }
861861 }
@@ -864,11 +864,11 @@ public void testGenerateRecursiveDependentModelsBackwardCompatibilityIssue18444(
864864 public void testGenerateRecursiveDependentModelsIssue18444 () throws IOException {
865865 Path target = Files .createTempDirectory ("test" );
866866 File output = target .toFile ();
867- String oldModelsProp = GlobalSettings .getProperty ("models" );
867+ String oldModelsProp = GlobalSettings .getProperty (CodegenConstants . MODELS );
868868
869869 try {
870870 DefaultGenerator generator = generatorGenerateRecursiveDependentModelsBackwardCompatibility ("true" );
871- GlobalSettings .setProperty ("models" , "RQ1,RS1" );
871+ GlobalSettings .setProperty (CodegenConstants . MODELS , "RQ1,RS1" );
872872 ClientOptInput clientOptInput = createOptInputIssue18444 (target );
873873 List <File > files = generator .opts (clientOptInput ).generate ();
874874 Assert .assertEquals (files .size (), 21 );
@@ -908,9 +908,9 @@ public void testGenerateRecursiveDependentModelsIssue18444() throws IOException
908908 } finally {
909909 output .deleteOnExit ();
910910 if (oldModelsProp != null ) {
911- GlobalSettings .setProperty ("models" , oldModelsProp );
911+ GlobalSettings .setProperty (CodegenConstants . MODELS , oldModelsProp );
912912 } else {
913- GlobalSettings .clearProperty ("models" );
913+ GlobalSettings .clearProperty (CodegenConstants . MODELS );
914914 }
915915 }
916916 }
@@ -919,11 +919,11 @@ public void testGenerateRecursiveDependentModelsIssue18444() throws IOException
919919 public void testGenerateRecursiveDependentModelsIssue19220 () throws IOException {
920920 Path target = Files .createTempDirectory ("test" );
921921 File output = target .toFile ();
922- String oldModelsProp = GlobalSettings .getProperty ("models" );
922+ String oldModelsProp = GlobalSettings .getProperty (CodegenConstants . MODELS );
923923
924924 try {
925925 DefaultGenerator generator = generatorGenerateRecursiveDependentModelsBackwardCompatibility ("true" );
926- GlobalSettings .setProperty ("models" , "RQ1,RS1" );
926+ GlobalSettings .setProperty (CodegenConstants . MODELS , "RQ1,RS1" );
927927 ClientOptInput clientOptInput = createOptInputIssue19220 (target );
928928 List <File > files = generator .opts (clientOptInput ).generate ();
929929 Assert .assertEquals (files .size (), 21 );
@@ -963,11 +963,81 @@ public void testGenerateRecursiveDependentModelsIssue19220() throws IOException
963963 } finally {
964964 output .deleteOnExit ();
965965 if (oldModelsProp != null ) {
966- GlobalSettings .setProperty ("models" , oldModelsProp );
966+ GlobalSettings .setProperty (CodegenConstants . MODELS , oldModelsProp );
967967 } else {
968- GlobalSettings .clearProperty ("models" );
968+ GlobalSettings .clearProperty (CodegenConstants . MODELS );
969969 }
970970 }
971971 }
972972
973+ @ Test
974+ public void testGenerateMultiLinePropertiesIssue19628 () throws IOException {
975+ Path target = Files .createTempDirectory ("test" );
976+ File output = target .toFile ();
977+ String multiLineSeparator = ",\n " ;
978+ try {
979+ final CodegenConfigurator configurator = new CodegenConfigurator ()
980+ .setGeneratorName ("java" )
981+ .setInputSpec ("src/test/resources/3_1/java/petstore.yaml" )
982+ .setOutputDir (target .toAbsolutePath ().toString ());
983+
984+ final ClientOptInput clientOptInput = configurator .toClientOptInput ();
985+ DefaultGenerator generator = new DefaultGenerator (true );
986+
987+ generator .setGeneratorPropertyDefault (CodegenConstants .MODELS , "true" );
988+ generator .setGeneratorPropertyDefault (CodegenConstants .MODEL_TESTS , "false" );
989+ generator .setGeneratorPropertyDefault (CodegenConstants .MODEL_DOCS , "false" );
990+ generator .setGeneratorPropertyDefault (CodegenConstants .APIS , "true" );
991+ generator .setGeneratorPropertyDefault (CodegenConstants .SUPPORTING_FILES , "true" );
992+ generator .setGeneratorPropertyDefault (CodegenConstants .API_DOCS , "false" );
993+ generator .setGeneratorPropertyDefault (CodegenConstants .MODEL_TESTS , "false" );
994+ generator .setGeneratorPropertyDefault (CodegenConstants .API_TESTS , "false" );
995+
996+ List <String > filesToGenerate = Arrays .asList (
997+ "pom.xml" ,
998+ ".travis.yml" ,
999+ ".gitignore" ,
1000+ "git_push.sh"
1001+ );
1002+ GlobalSettings .setProperty (CodegenConstants .SUPPORTING_FILES , String .join (multiLineSeparator , filesToGenerate ));
1003+
1004+ List <String > apisToGenerate = Arrays .asList (
1005+ "Pet" ,
1006+ "User"
1007+ );
1008+ GlobalSettings .setProperty (CodegenConstants .APIS , String .join (multiLineSeparator , apisToGenerate ));
1009+
1010+ List <String > modelsToGenerate = Arrays .asList (
1011+ "Category" ,
1012+ "Pet" ,
1013+ "Tag" ,
1014+ "User"
1015+ );
1016+ GlobalSettings .setProperty (CodegenConstants .MODELS , String .join (multiLineSeparator , modelsToGenerate ));
1017+
1018+ List <File > files = generator .opts (clientOptInput ).generate ();
1019+
1020+ Assert .assertEquals (files .size (), 5 + modelsToGenerate .size () + apisToGenerate .size ());
1021+
1022+ TestUtils .ensureContainsFile (files , output , "pom.xml" );
1023+ TestUtils .ensureContainsFile (files , output , ".travis.yml" );
1024+ TestUtils .ensureContainsFile (files , output , ".gitignore" );
1025+ TestUtils .ensureContainsFile (files , output , "git_push.sh" );
1026+ TestUtils .ensureContainsFile (files , output , ".openapi-generator/VERSION" );
1027+
1028+ for (String apiFile : apisToGenerate ) {
1029+ String filename = "src/main/java/org/openapitools/client/api/" + apiFile + "Api.java" ;
1030+ TestUtils .ensureContainsFile (files , output , filename );
1031+ }
1032+
1033+ for (String apiFile : modelsToGenerate ) {
1034+ String filename = "src/main/java/org/openapitools/client/model/" + apiFile + ".java" ;
1035+ TestUtils .ensureContainsFile (files , output , filename );
1036+ }
1037+ } finally {
1038+ GlobalSettings .reset ();
1039+ output .deleteOnExit ();
1040+ }
1041+
1042+ }
9731043}
0 commit comments