Fix invalid Python import for qualified package name (#14015)

* Add unittest for toModelImport

* Use `packageName` insetad of `packagePath()`
This commit is contained in:
Larry O'Leary 2022-11-14 16:28:36 -06:00 committed by GitHub
parent e882421ff3
commit 42264aadd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -889,7 +889,7 @@ public class PythonClientCodegen extends AbstractPythonCodegen {
@Override
public String toModelImport(String name) {
// name looks like Cat
return "from " + packagePath() + "." + modelPackage() + "." + toModelFilename(name) + " import " + toModelName(name);
return "from " + packageName + "." + modelPackage() + "." + toModelFilename(name) + " import " + toModelName(name);
}
@Override

View File

@ -224,4 +224,13 @@ public class PythonClientTest {
Assert.assertEquals(enumVars.get(0).get("name"), "DIGIT_THREE_67B9C");
Assert.assertEquals(enumVars.get(1).get("name"), "FFA5A4");
}
@Test(description = "format imports of models using a package containing dots")
public void testImportWithQualifiedPackageName() throws Exception {
final PythonClientCodegen codegen = new PythonClientCodegen();
codegen.setPackageName("openapi.client");
String importValue = codegen.toModelImport("model_name");
Assert.assertEquals(importValue, "from openapi.client.model.model_name import ModelName");
}
}