From be889f0fe3e00c55631b157e3fa058218decda1f Mon Sep 17 00:00:00 2001 From: Tim Clark Date: Mon, 10 Aug 2020 15:45:13 +0000 Subject: [PATCH 1/2] [python-exp] Force camelization of imports --- .../codegen/languages/PythonClientExperimentalCodegen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientExperimentalCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientExperimentalCodegen.java index ba74896a1eda..afe00619c0ca 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientExperimentalCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientExperimentalCodegen.java @@ -330,7 +330,7 @@ public String toDefaultValue(Schema p) { @Override public String toModelImport(String name) { // name looks like Cat - return "from " + modelPackage() + "." + toModelFilename(name) + " import "+ name; + return "from " + modelPackage() + "." + toModelFilename(name) + " import "+ toModelName(name); } @Override From b5f8f5c300c2172cc619ce54f46c981e299ec0d2 Mon Sep 17 00:00:00 2001 From: Tim Clark Date: Tue, 11 Aug 2020 20:30:15 +0000 Subject: [PATCH 2/2] Add unit test --- .../codegen/python/PythonClientExperimentalTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/python/PythonClientExperimentalTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/python/PythonClientExperimentalTest.java index 6b04f30cb6e3..43bbb8821eb0 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/python/PythonClientExperimentalTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/python/PythonClientExperimentalTest.java @@ -333,4 +333,12 @@ public void parseDateAndDateTimeExamplesTest() { Assert.assertEquals(defaultValue, "dateutil_parser('2010-01-01T10:10:10.000111+01:00')"); } + @Test(description = "format imports of models containing special characters") + public void importSpecialModelNameTest() { + final PythonClientExperimentalCodegen codegen = new PythonClientExperimentalCodegen(); + + String importValue = codegen.toModelImport("special.ModelName"); + Assert.assertEquals(importValue, "from models.special_model_name import SpecialModelName"); + } + }