diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java index 5e5d5707d46f..ed1a70ccaf9f 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java @@ -207,6 +207,14 @@ public void processOpts() { additionalProperties.put(CodegenConstants.INVOKER_PACKAGE, invokerPackage); } + if (!additionalProperties.containsKey(CodegenConstants.MODEL_PACKAGE)) { + additionalProperties.put(CodegenConstants.MODEL_PACKAGE, modelPackage); + } + + if (!additionalProperties.containsKey(CodegenConstants.API_PACKAGE)) { + additionalProperties.put(CodegenConstants.API_PACKAGE, apiPackage); + } + if (additionalProperties.containsKey(CodegenConstants.GROUP_ID)) { this.setGroupId((String) additionalProperties.get(CodegenConstants.GROUP_ID)); } else { @@ -1125,6 +1133,10 @@ private static String sanitizePackageName(String packageName) { return packageName; } + public String getInvokerPackage() { + return invokerPackage; + } + public void setInvokerPackage(String invokerPackage) { this.invokerPackage = invokerPackage; } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractPhpCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractPhpCodegen.java index 28a6d4fb9968..a9e34efd91d3 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractPhpCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractPhpCodegen.java @@ -345,6 +345,10 @@ public String getSwaggerType(Property p) { return toModelName(type); } + public String getInvokerPackage() { + return invokerPackage; + } + public void setInvokerPackage(String invokerPackage) { this.invokerPackage = invokerPackage; } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java index 18f90d49843c..93aa87a1f9c3 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java @@ -364,6 +364,14 @@ public void processOpts() { additionalProperties.put("authPackage", authPackage); } + if (!additionalProperties.containsKey(CodegenConstants.MODEL_PACKAGE)) { + additionalProperties.put(CodegenConstants.MODEL_PACKAGE, modelPackage); + } + + if (!additionalProperties.containsKey(CodegenConstants.API_PACKAGE)) { + additionalProperties.put(CodegenConstants.API_PACKAGE, apiPackage); + } + if (additionalProperties.containsKey(CodegenConstants.GROUP_ID)) { this.setGroupId((String) additionalProperties.get(CodegenConstants.GROUP_ID)); } else { @@ -549,6 +557,10 @@ public void setAndroidBuildToolsVersion(String androidBuildToolsVersion) { this.androidBuildToolsVersion = androidBuildToolsVersion; } + public String getInvokerPackage() { + return invokerPackage; + } + public void setInvokerPackage(String invokerPackage) { this.invokerPackage = invokerPackage; } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java index 23aaa1de6c4a..697c506544cd 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java @@ -10,8 +10,8 @@ import io.swagger.codegen.CodegenParameter; import io.swagger.codegen.CodegenProperty; import io.swagger.codegen.CodegenType; -import io.swagger.codegen.SupportingFile; import io.swagger.codegen.DefaultCodegen; +import io.swagger.codegen.SupportingFile; import io.swagger.models.ArrayModel; import io.swagger.models.Info; import io.swagger.models.License; @@ -391,6 +391,10 @@ public String modelFileFolder() { return createPath(outputFolder, sourceFolder, invokerPackage, modelPackage()); } + public String getInvokerPackage() { + return invokerPackage; + } + public void setInvokerPackage(String invokerPackage) { this.invokerPackage = invokerPackage; } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java index 87316270aef0..2575fd0d68fc 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java @@ -403,6 +403,10 @@ public String getSwaggerType(Property p) { return toModelName(type); } + public String getInvokerPackage() { + return invokerPackage; + } + public void setInvokerPackage(String invokerPackage) { this.invokerPackage = invokerPackage; } diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/android/AndroidClientCodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/android/AndroidClientCodegenTest.java new file mode 100644 index 000000000000..98bf8fc43d9b --- /dev/null +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/android/AndroidClientCodegenTest.java @@ -0,0 +1,57 @@ +package io.swagger.codegen.android; + +import org.testng.Assert; +import org.testng.annotations.Test; + +import io.swagger.codegen.CodegenConstants; +import io.swagger.codegen.languages.AndroidClientCodegen; + +public class AndroidClientCodegenTest { + + @Test + public void testInitialConfigValues() throws Exception { + final AndroidClientCodegen codegen = new AndroidClientCodegen(); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "io.swagger.client.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "io.swagger.client.model"); + Assert.assertEquals(codegen.apiPackage(), "io.swagger.client.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "io.swagger.client.api"); + Assert.assertEquals(codegen.getInvokerPackage(), "io.swagger.client"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "io.swagger.client"); + } + + @Test + public void testSettersForConfigValues() throws Exception { + final AndroidClientCodegen codegen = new AndroidClientCodegen(); + codegen.setModelPackage("xx.yyyyyyyy.model"); + codegen.setApiPackage("xx.yyyyyyyy.api"); + codegen.setInvokerPackage("xx.yyyyyyyy.invoker"); + codegen.processOpts(); + + Assert.assertEquals(codegen.modelPackage(), "xx.yyyyyyyy.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xx.yyyyyyyy.model"); + Assert.assertEquals(codegen.apiPackage(), "xx.yyyyyyyy.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xx.yyyyyyyy.api"); + Assert.assertEquals(codegen.getInvokerPackage(), "xx.yyyyyyyy.invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xx.yyyyyyyy.invoker"); + } + + @Test + public void testAdditionalPropertiesPutForConfigValues() throws Exception { + final AndroidClientCodegen codegen = new AndroidClientCodegen(); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.mmmmm.model"); + codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.aaaaa.api"); + codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE,"xyz.yyyyy.iiii.invoker"); + codegen.processOpts(); + + Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.mmmmm.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.mmmmm.model"); + Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.aaaaa.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.aaaaa.api"); + Assert.assertEquals(codegen.getInvokerPackage(), "xyz.yyyyy.iiii.invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.iiii.invoker"); + } +} diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/AbstractJavaCodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/AbstractJavaCodegenTest.java index 9ef81ef85900..656a44c593b2 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/AbstractJavaCodegenTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/AbstractJavaCodegenTest.java @@ -93,26 +93,50 @@ public void testInitialConfigValues() throws Exception { Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertEquals(codegen.modelPackage(), "invalidPackageName"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "invalidPackageName"); + Assert.assertEquals(codegen.apiPackage(), "invalidPackageName"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "invalidPackageName"); + Assert.assertEquals(codegen.getInvokerPackage(), "io.swagger"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "io.swagger"); } @Test public void testSettersForConfigValues() throws Exception { final AbstractJavaCodegen codegen = new P_AbstractJavaCodegen(); codegen.setHideGenerationTimestamp(true); + codegen.setModelPackage("xyz.yyyyy.zzzzzzz.model"); + codegen.setApiPackage("xyz.yyyyy.zzzzzzz.api"); + codegen.setInvokerPackage("xyz.yyyyy.zzzzzzz.invoker"); codegen.processOpts(); Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.zzzzzzz.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.zzzzzzz.model"); + Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.zzzzzzz.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.zzzzzzz.api"); + Assert.assertEquals(codegen.getInvokerPackage(), "xyz.yyyyy.zzzzzzz.invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.zzzzzzz.invoker"); } @Test public void testAdditionalPropertiesPutForConfigValues() throws Exception { final AbstractJavaCodegen codegen = new P_AbstractJavaCodegen(); codegen.additionalProperties().put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, false); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.model.oooooo"); + codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.api.oooooo"); + codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE, "xyz.yyyyy.invoker.oooooo"); codegen.processOpts(); Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.model.oooooo"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.model.oooooo"); + Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.api.oooooo"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.api.oooooo"); + Assert.assertEquals(codegen.getInvokerPackage(), "xyz.yyyyy.invoker.oooooo"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.invoker.oooooo"); } private static class P_AbstractJavaCodegen extends AbstractJavaCodegen { diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/jaxrs/AbstractJavaJAXRSServerCodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/jaxrs/AbstractJavaJAXRSServerCodegenTest.java new file mode 100644 index 000000000000..20bc01b884f8 --- /dev/null +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/jaxrs/AbstractJavaJAXRSServerCodegenTest.java @@ -0,0 +1,93 @@ +package io.swagger.codegen.java.jaxrs; + +import org.testng.Assert; +import org.testng.annotations.Test; + +import io.swagger.codegen.CodegenConstants; +import io.swagger.codegen.CodegenType; +import io.swagger.codegen.languages.AbstractJavaJAXRSServerCodegen; + +public class AbstractJavaJAXRSServerCodegenTest { + + private final AbstractJavaJAXRSServerCodegen fakeJavaJAXRSCodegen = new P_AbstractJavaJAXRSServerCodegen(); + + @Test + public void convertApiName() throws Exception { + Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("name"), "NameApi"); + Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("$name"), "NameApi"); + Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("nam#e"), "NameApi"); + Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("$another-fake?"), "AnotherFakeApi"); + Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("fake_classname_tags 123#$%^"), "FakeClassnameTags123Api"); + } + + @Test + public void testInitialConfigValues() throws Exception { + final AbstractJavaJAXRSServerCodegen codegen = new P_AbstractJavaJAXRSServerCodegen(); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertEquals(codegen.modelPackage(), "io.swagger.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "io.swagger.model"); + Assert.assertEquals(codegen.apiPackage(), "io.swagger.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "io.swagger.api"); + Assert.assertEquals(codegen.getInvokerPackage(), "io.swagger.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "io.swagger.api"); + } + + @Test + public void testSettersForConfigValues() throws Exception { + final AbstractJavaJAXRSServerCodegen codegen = new P_AbstractJavaJAXRSServerCodegen(); + codegen.setHideGenerationTimestamp(true); + codegen.setModelPackage("xx.yyyyyyyy.model"); + codegen.setApiPackage("xx.yyyyyyyy.api"); + codegen.setInvokerPackage("xx.yyyyyyyy.invoker"); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "xx.yyyyyyyy.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xx.yyyyyyyy.model"); + Assert.assertEquals(codegen.apiPackage(), "xx.yyyyyyyy.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xx.yyyyyyyy.api"); + Assert.assertEquals(codegen.getInvokerPackage(), "xx.yyyyyyyy.invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xx.yyyyyyyy.invoker"); + } + + @Test + public void testAdditionalPropertiesPutForConfigValues() throws Exception { + final AbstractJavaJAXRSServerCodegen codegen = new P_AbstractJavaJAXRSServerCodegen(); + codegen.additionalProperties().put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, "true"); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.mmmmm.model"); + codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.aaaaa.api"); + codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE,"xyz.yyyyy.iiii.invoker"); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.mmmmm.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.mmmmm.model"); + Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.aaaaa.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.aaaaa.api"); + Assert.assertEquals(codegen.getInvokerPackage(), "xyz.yyyyy.iiii.invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.iiii.invoker"); + } + + private static class P_AbstractJavaJAXRSServerCodegen extends AbstractJavaJAXRSServerCodegen { + + @Override + public CodegenType getTag() { + return null; + } + + @Override + public String getName() { + return null; + } + + @Override + public String getHelp() { + return null; + } + } +} diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/javascript/JavascriptClientCodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/javascript/JavascriptClientCodegenTest.java index 7db4762aecea..e211e4657064 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/javascript/JavascriptClientCodegenTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/javascript/JavascriptClientCodegenTest.java @@ -15,6 +15,12 @@ public void testInitialConfigValues() throws Exception { Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), null); + Assert.assertEquals(codegen.apiPackage(), "api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), null); + Assert.assertEquals(codegen.getInvokerPackage(), null); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), null); } @Test diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/languages/JavaClientCodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/languages/JavaClientCodegenTest.java index 99cccc1a070a..68ce4ee6dcce 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/languages/JavaClientCodegenTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/languages/JavaClientCodegenTest.java @@ -14,6 +14,7 @@ import com.google.common.collect.ImmutableMap; +import io.swagger.codegen.CodegenConstants; import io.swagger.codegen.CodegenOperation; import io.swagger.codegen.CodegenParameter; @@ -108,6 +109,89 @@ public void testParametersAreCorrectlyOrderedWhenUsingRetrofit(){ Assert.assertFalse(queryParamOptional.hasMore); } + + @Test + public void testInitialConfigValues() throws Exception { + final JavaClientCodegen codegen = new JavaClientCodegen(); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + + Assert.assertEquals(codegen.modelPackage(), "io.swagger.client.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "io.swagger.client.model"); + Assert.assertEquals(codegen.apiPackage(), "io.swagger.client.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "io.swagger.client.api"); + Assert.assertEquals(codegen.invokerPackage, "io.swagger.client"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "io.swagger.client"); + } + + @Test + public void testSettersForConfigValues() throws Exception { + final JavaClientCodegen codegen = new JavaClientCodegen(); + codegen.setHideGenerationTimestamp(true); + codegen.setModelPackage("xyz.yyyyy.zzzzzzz.model"); + codegen.setApiPackage("xyz.yyyyy.zzzzzzz.api"); + codegen.setInvokerPackage("xyz.yyyyy.zzzzzzz.invoker"); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.zzzzzzz.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.zzzzzzz.model"); + Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.zzzzzzz.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.zzzzzzz.api"); + Assert.assertEquals(codegen.invokerPackage, "xyz.yyyyy.zzzzzzz.invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.zzzzzzz.invoker"); + } + + @Test + public void testAdditionalPropertiesPutForConfigValues() throws Exception { + final JavaClientCodegen codegen = new JavaClientCodegen(); + codegen.additionalProperties().put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, "true"); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.zzzzzzz.mmmmm.model"); + codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.zzzzzzz.aaaaa.api"); + codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE,"xyz.yyyyy.zzzzzzz.iiii.invoker"); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.zzzzzzz.mmmmm.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.zzzzzzz.mmmmm.model"); + Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.zzzzzzz.aaaaa.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.zzzzzzz.aaaaa.api"); + Assert.assertEquals(codegen.invokerPackage, "xyz.yyyyy.zzzzzzz.iiii.invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.zzzzzzz.iiii.invoker"); + } + + @Test + public void testPackageNamesSetInvokerDerivedFromApi() throws Exception { + final JavaClientCodegen codegen = new JavaClientCodegen(); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.zzzzzzz.mmmmm.model"); + codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.zzzzzzz.aaaaa.api"); + codegen.processOpts(); + + Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.zzzzzzz.mmmmm.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.zzzzzzz.mmmmm.model"); + Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.zzzzzzz.aaaaa.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.zzzzzzz.aaaaa.api"); + Assert.assertEquals(codegen.invokerPackage, "xyz.yyyyy.zzzzzzz.aaaaa"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.zzzzzzz.aaaaa"); + } + + @Test + public void testPackageNamesSetInvokerDerivedFromModel() throws Exception { + final JavaClientCodegen codegen = new JavaClientCodegen(); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.zzzzzzz.mmmmm.model"); + codegen.processOpts(); + + Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.zzzzzzz.mmmmm.model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.zzzzzzz.mmmmm.model"); + Assert.assertEquals(codegen.apiPackage(), "io.swagger.client.api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "io.swagger.client.api"); + Assert.assertEquals(codegen.invokerPackage, "xyz.yyyyy.zzzzzzz.mmmmm"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.zzzzzzz.mmmmm"); + } private CodegenParameter createPathParam(String name) { CodegenParameter codegenParameter = createStringParam(name); @@ -129,6 +213,4 @@ private CodegenParameter createStringParam(String name){ codegenParameter.dataType = "String"; return codegenParameter; } - - } diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/php/AbstractPhpCodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/php/AbstractPhpCodegenTest.java new file mode 100644 index 000000000000..3bd468102810 --- /dev/null +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/php/AbstractPhpCodegenTest.java @@ -0,0 +1,81 @@ +package io.swagger.codegen.php; + +import org.testng.Assert; +import org.testng.annotations.Test; + +import io.swagger.codegen.CodegenConstants; +import io.swagger.codegen.CodegenType; +import io.swagger.codegen.languages.AbstractPhpCodegen; + +public class AbstractPhpCodegenTest { + + @Test + public void testInitialConfigValues() throws Exception { + final AbstractPhpCodegen codegen = new P_AbstractPhpCodegen(); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "php\\Model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "php\\Model"); + Assert.assertEquals(codegen.apiPackage(), "php\\Api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "php\\Api"); + Assert.assertEquals(codegen.getInvokerPackage(), "php"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "php"); + } + + @Test + public void testSettersForConfigValues() throws Exception { + final AbstractPhpCodegen codegen = new P_AbstractPhpCodegen(); + codegen.setHideGenerationTimestamp(false); + codegen.setModelPackage("My\\Client\\Model"); + codegen.setApiPackage("My\\Client\\Api"); + codegen.setInvokerPackage("My\\Client\\Invoker"); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertEquals(codegen.modelPackage(), "My\\Client\\Model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "My\\Client\\Model"); + Assert.assertEquals(codegen.apiPackage(), "My\\Client\\Api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE),"My\\Client\\Api"); + Assert.assertEquals(codegen.getInvokerPackage(), "My\\Client\\Invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "My\\Client\\Invoker"); + } + + @Test + public void testAdditionalPropertiesPutForConfigValues() throws Exception { + final AbstractPhpCodegen codegen = new P_AbstractPhpCodegen(); + codegen.additionalProperties().put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, false); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "PHPmodel"); + codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "PHPapi"); + codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE, "PHPinvoker"); + codegen.processOpts(); + + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); + Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertEquals(codegen.modelPackage(), "PHPmodel"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "PHPmodel"); + Assert.assertEquals(codegen.apiPackage(), "PHPapi"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "PHPapi"); + Assert.assertEquals(codegen.getInvokerPackage(), "PHPinvoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "PHPinvoker"); + } + + private static class P_AbstractPhpCodegen extends AbstractPhpCodegen { + @Override + public CodegenType getTag() { + return null; + } + + @Override + public String getName() { + return null; + } + + @Override + public String getHelp() { + return null; + } + } +} diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/php/PhpClientCodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/php/PhpClientCodegenTest.java index 84251091a21f..dbb6ae27e538 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/php/PhpClientCodegenTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/php/PhpClientCodegenTest.java @@ -15,26 +15,49 @@ public void testInitialConfigValues() throws Exception { Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "Swagger\\Client\\Model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "Swagger\\Client\\Model"); + Assert.assertEquals(codegen.apiPackage(), "Swagger\\Client\\Api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "Swagger\\Client\\Api"); + Assert.assertEquals(codegen.getInvokerPackage(), "Swagger\\Client"); } @Test public void testSettersForConfigValues() throws Exception { final PhpClientCodegen codegen = new PhpClientCodegen(); codegen.setHideGenerationTimestamp(false); + codegen.setModelPackage("My\\Client\\Model"); + codegen.setApiPackage("My\\Client\\Api"); + codegen.setInvokerPackage("My\\Client\\Invoker"); codegen.processOpts(); Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertEquals(codegen.modelPackage(), "My\\Client\\Model"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "My\\Client\\Model"); + Assert.assertEquals(codegen.apiPackage(), "My\\Client\\Api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE),"My\\Client\\Api"); + Assert.assertEquals(codegen.getInvokerPackage(), "My\\Client\\Invoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "My\\Client\\Invoker"); } @Test public void testAdditionalPropertiesPutForConfigValues() throws Exception { final PhpClientCodegen codegen = new PhpClientCodegen(); codegen.additionalProperties().put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, false); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "Xmodel"); + codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "Xapi"); + codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE, "Xinvoker"); codegen.processOpts(); Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertEquals(codegen.modelPackage(), "Xinvoker\\Xmodel"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "Xinvoker\\Xmodel"); + Assert.assertEquals(codegen.apiPackage(), "Xinvoker\\Xapi"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "Xinvoker\\Xapi"); + Assert.assertEquals(codegen.getInvokerPackage(), "Xinvoker"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "Xinvoker"); } } diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/ruby/RubyClientCodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/ruby/RubyClientCodegenTest.java index 163dd3a145a4..b3c9701b3cc2 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/ruby/RubyClientCodegenTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/ruby/RubyClientCodegenTest.java @@ -71,6 +71,10 @@ public void testInitialConfigValues() throws Exception { Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertEquals(codegen.modelPackage(), "models"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), null); + Assert.assertEquals(codegen.apiPackage(), "api"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), null); } @Test @@ -87,9 +91,13 @@ public void testSettersForConfigValues() throws Exception { public void testAdditionalPropertiesPutForConfigValues() throws Exception { final RubyClientCodegen codegen = new RubyClientCodegen(); codegen.additionalProperties().put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, false); + codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "ruby-models"); + codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "ruby-api"); codegen.processOpts(); Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "ruby-models"); + Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "ruby-api"); } }