forked from loafle/openapi-generator-original
Issue #1304: Migrate tests from the Scala to the plain Java. Part 2
This commit is contained in:
parent
053af7a749
commit
3c98e32765
@ -252,7 +252,7 @@ public class JavaModelTest {
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
Assert.assertEquals(Sets.union(cm.imports, Sets.newHashSet("Map", "List", "Children")).size(), 3);
|
||||
Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("Map", "List", "Children")).size(), 3);
|
||||
|
||||
final CodegenProperty property = cm.vars.get(0);
|
||||
Assert.assertEquals(property.baseName, "children");
|
||||
@ -284,7 +284,7 @@ public class JavaModelTest {
|
||||
Assert.assertEquals(cm.vars.size(), 0);
|
||||
Assert.assertEquals(cm.parent, "ArrayList<Children>");
|
||||
Assert.assertEquals(cm.imports.size(), 3);
|
||||
Assert.assertEquals(Sets.union(cm.imports, Sets.newHashSet("List", "ArrayList", "Children")).size(), 3);
|
||||
Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("List", "ArrayList", "Children")).size(), 3);
|
||||
}
|
||||
|
||||
@Test(description = "convert an map model")
|
||||
@ -301,7 +301,7 @@ public class JavaModelTest {
|
||||
Assert.assertEquals(cm.vars.size(), 0);
|
||||
Assert.assertEquals(cm.parent, "HashMap<String, Children>");
|
||||
Assert.assertEquals(cm.imports.size(), 3);
|
||||
Assert.assertEquals(Sets.union(cm.imports, Sets.newHashSet("Map", "HashMap", "Children")).size(), 3);
|
||||
Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("Map", "HashMap", "Children")).size(), 3);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with upper-case property names")
|
||||
|
@ -0,0 +1,275 @@
|
||||
package io.swagger.codegen.objc;
|
||||
|
||||
import io.swagger.codegen.CodegenModel;
|
||||
import io.swagger.codegen.CodegenOperation;
|
||||
import io.swagger.codegen.CodegenProperty;
|
||||
import io.swagger.codegen.DefaultCodegen;
|
||||
import io.swagger.codegen.languages.ObjcClientCodegen;
|
||||
import io.swagger.models.ArrayModel;
|
||||
import io.swagger.models.Model;
|
||||
import io.swagger.models.ModelImpl;
|
||||
import io.swagger.models.Path;
|
||||
import io.swagger.models.Swagger;
|
||||
import io.swagger.models.properties.ArrayProperty;
|
||||
import io.swagger.models.properties.DateTimeProperty;
|
||||
import io.swagger.models.properties.LongProperty;
|
||||
import io.swagger.models.properties.MapProperty;
|
||||
import io.swagger.models.properties.RefProperty;
|
||||
import io.swagger.models.properties.StringProperty;
|
||||
import io.swagger.parser.SwaggerParser;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class ObjcModelTest {
|
||||
|
||||
@Test(description = "convert a simple java model")
|
||||
public void simpleModelTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("id", new LongProperty())
|
||||
.property("name", new StringProperty())
|
||||
.property("createdAt", new DateTimeProperty())
|
||||
.required("id")
|
||||
.required("name");
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "SWGSample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 3);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "id");
|
||||
Assert.assertEquals(property1.datatype, "NSNumber*");
|
||||
Assert.assertEquals(property1.name, "_id");
|
||||
Assert.assertNull(property1.defaultValue);
|
||||
Assert.assertEquals(property1.baseType, "NSNumber");
|
||||
Assert.assertTrue(property1.hasMore);
|
||||
Assert.assertTrue(property1.required);
|
||||
Assert.assertTrue(property1.isPrimitiveType);
|
||||
Assert.assertTrue(property1.isNotContainer);
|
||||
|
||||
final CodegenProperty property2 = cm.vars.get(1);
|
||||
Assert.assertEquals(property2.baseName, "name");
|
||||
Assert.assertEquals(property2.datatype, "NSString*");
|
||||
Assert.assertEquals(property2.name, "name");
|
||||
Assert.assertNull(property2.defaultValue);
|
||||
Assert.assertEquals(property2.baseType, "NSString");
|
||||
Assert.assertTrue(property2.hasMore);
|
||||
Assert.assertTrue(property2.required);
|
||||
Assert.assertTrue(property2.isPrimitiveType);
|
||||
Assert.assertTrue(property2.isNotContainer);
|
||||
|
||||
final CodegenProperty property3 = cm.vars.get(2);
|
||||
Assert.assertEquals(property3.baseName, "createdAt");
|
||||
Assert.assertEquals(property3.datatype, "NSDate*");
|
||||
Assert.assertEquals(property3.name, "createdAt");
|
||||
Assert.assertNull(property3.defaultValue);
|
||||
Assert.assertEquals(property3.baseType, "NSDate");
|
||||
Assert.assertNull(property3.hasMore);
|
||||
Assert.assertNull(property3.required);
|
||||
Assert.assertTrue(property3.isNotContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with list property")
|
||||
public void listPropertyTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("id", new LongProperty())
|
||||
.property("urls", new ArrayProperty()
|
||||
.items(new StringProperty()))
|
||||
.required("id");
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "SWGSample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 2);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "id");
|
||||
Assert.assertEquals(property1.datatype, "NSNumber*");
|
||||
Assert.assertEquals(property1.name, "_id");
|
||||
Assert.assertNull(property1.defaultValue);
|
||||
Assert.assertEquals(property1.baseType, "NSNumber");
|
||||
Assert.assertTrue(property1.hasMore);
|
||||
Assert.assertTrue(property1.required);
|
||||
Assert.assertTrue(property1.isPrimitiveType);
|
||||
Assert.assertTrue(property1.isNotContainer);
|
||||
|
||||
final CodegenProperty property2 = cm.vars.get(1);
|
||||
Assert.assertEquals(property2.baseName, "urls");
|
||||
Assert.assertEquals(property2.datatype, "NSArray* /* NSString */");
|
||||
Assert.assertEquals(property2.name, "urls");
|
||||
Assert.assertNull(property2.defaultValue);
|
||||
Assert.assertEquals(property2.baseType, "NSArray");
|
||||
Assert.assertNull(property2.hasMore);
|
||||
Assert.assertEquals(property2.containerType, "array");
|
||||
Assert.assertNull(property2.required);
|
||||
Assert.assertTrue(property2.isPrimitiveType);
|
||||
Assert.assertTrue(property2.isContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with a map property")
|
||||
public void mapPropertyTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("translations", new MapProperty()
|
||||
.additionalProperties(new StringProperty()))
|
||||
.required("id");
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "SWGSample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "translations");
|
||||
Assert.assertEquals(property1.datatype, "NSDictionary* /* NSString, NSString */");
|
||||
Assert.assertEquals(property1.name, "translations");
|
||||
Assert.assertEquals(property1.baseType, "NSDictionary");
|
||||
Assert.assertEquals(property1.containerType, "map");
|
||||
Assert.assertNull(property1.required);
|
||||
Assert.assertTrue(property1.isContainer);
|
||||
Assert.assertTrue(property1.isPrimitiveType);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with complex property")
|
||||
public void complexPropertyTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new RefProperty("#/definitions/Children"));
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "SWGSample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "children");
|
||||
Assert.assertEquals(property1.datatype, "SWGChildren*");
|
||||
Assert.assertEquals(property1.name, "children");
|
||||
Assert.assertEquals(property1.baseType, "SWGChildren");
|
||||
Assert.assertNull(property1.required);
|
||||
Assert.assertTrue(property1.isNotContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with complex list property")
|
||||
public void complexListPropertyTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new ArrayProperty()
|
||||
.items(new RefProperty("#/definitions/Children")));
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "SWGSample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "children");
|
||||
Assert.assertEquals(property1.complexType, "SWGChildren");
|
||||
Assert.assertEquals(property1.datatype, "NSArray<SWGChildren>*");
|
||||
Assert.assertEquals(property1.name, "children");
|
||||
Assert.assertEquals(property1.baseType, "NSArray");
|
||||
Assert.assertEquals(property1.containerType, "array");
|
||||
Assert.assertNull(property1.required);
|
||||
Assert.assertTrue(property1.isContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with complex map property")
|
||||
public void complexMapPropertyTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new MapProperty()
|
||||
.additionalProperties(new RefProperty("#/definitions/Children")));
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "SWGSample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("SWGChildren")).size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "children");
|
||||
Assert.assertEquals(property1.complexType, "SWGChildren");
|
||||
Assert.assertEquals(property1.datatype, "NSDictionary* /* NSString, SWGChildren */");
|
||||
Assert.assertEquals(property1.name, "children");
|
||||
Assert.assertEquals(property1.baseType, "NSDictionary");
|
||||
Assert.assertEquals(property1.containerType, "map");
|
||||
Assert.assertNull(property1.required);
|
||||
Assert.assertTrue(property1.isContainer);
|
||||
Assert.assertNull(property1.isNotContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert an array model")
|
||||
public void arrayModelTest() {
|
||||
final Model model = new ArrayModel()
|
||||
.description("an array model")
|
||||
.items(new RefProperty("#/definitions/Children"));
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "SWGSample");
|
||||
Assert.assertEquals(cm.description, "an array model");
|
||||
Assert.assertEquals(cm.vars.size(), 0);
|
||||
Assert.assertEquals(cm.parent, "NSMutableArray");
|
||||
Assert.assertEquals(cm.imports.size(), 1);
|
||||
Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("SWGChildren")).size(), 1);
|
||||
}
|
||||
|
||||
@Test(description = "convert an map model")
|
||||
public void mapModelTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a map model")
|
||||
.additionalProperties(new RefProperty("#/definitions/Children"));
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "SWGSample");
|
||||
Assert.assertEquals(cm.description, "a map model");
|
||||
Assert.assertEquals(cm.vars.size(), 0);
|
||||
Assert.assertEquals(cm.parent, "NSMutableDictionary");
|
||||
Assert.assertEquals(cm.imports.size(), 1);
|
||||
Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("SWGChildren")).size(), 1);
|
||||
}
|
||||
|
||||
@Test(description = "create proper imports per #316")
|
||||
public void issue316Test() {
|
||||
final Swagger model = new SwaggerParser().read("src/test/resources/2_0/postBodyTest.json");
|
||||
final DefaultCodegen codegen = new ObjcClientCodegen();
|
||||
|
||||
final Map<String, Path> animalPaths = model.getPaths();
|
||||
|
||||
final Path animalOps = animalPaths.get("/animals");
|
||||
Assert.assertNotNull(animalOps.getPost());
|
||||
|
||||
final CodegenOperation animalCo = codegen.fromOperation("/animals", "POST", animalOps.getPost(), model.getDefinitions());
|
||||
Assert.assertEquals(animalCo.imports.size(), 1);
|
||||
Assert.assertTrue(animalCo.imports.contains("SWGAnimal"));
|
||||
|
||||
final Map<String, Path> insectPaths = model.getPaths();
|
||||
final Path insectOps = insectPaths.get("/insects");
|
||||
Assert.assertNotNull(insectOps.getPost());
|
||||
|
||||
final CodegenOperation insectCo = codegen.fromOperation("/insects", "POST", insectOps.getPost(), model.getDefinitions());
|
||||
Assert.assertEquals(insectCo.imports.size(), 1);
|
||||
Assert.assertTrue(insectCo.imports.contains("SWGInsect"));
|
||||
}
|
||||
}
|
@ -0,0 +1,243 @@
|
||||
package io.swagger.codegen.php;
|
||||
|
||||
import io.swagger.codegen.CodegenModel;
|
||||
import io.swagger.codegen.CodegenProperty;
|
||||
import io.swagger.codegen.DefaultCodegen;
|
||||
import io.swagger.codegen.languages.PhpClientCodegen;
|
||||
import io.swagger.models.ArrayModel;
|
||||
import io.swagger.models.Model;
|
||||
import io.swagger.models.ModelImpl;
|
||||
import io.swagger.models.properties.ArrayProperty;
|
||||
import io.swagger.models.properties.DateTimeProperty;
|
||||
import io.swagger.models.properties.LongProperty;
|
||||
import io.swagger.models.properties.MapProperty;
|
||||
import io.swagger.models.properties.RefProperty;
|
||||
import io.swagger.models.properties.StringProperty;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class PhpModelTest {
|
||||
|
||||
@Test(description = "convert a simple php model")
|
||||
public void simpleModelTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("id", new LongProperty())
|
||||
.property("name", new StringProperty())
|
||||
.property("createdAt", new DateTimeProperty())
|
||||
.required("id")
|
||||
.required("name");
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 3);
|
||||
Assert.assertEquals(cm.imports.size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "id");
|
||||
Assert.assertEquals(property1.datatype, "int");
|
||||
Assert.assertEquals(property1.name, "id");
|
||||
Assert.assertEquals(property1.defaultValue, "null");
|
||||
Assert.assertEquals(property1.baseType, "int");
|
||||
Assert.assertTrue(property1.hasMore);
|
||||
Assert.assertTrue(property1.required);
|
||||
Assert.assertTrue(property1.isPrimitiveType);
|
||||
Assert.assertTrue(property1.isNotContainer);
|
||||
|
||||
final CodegenProperty property2 = cm.vars.get(1);
|
||||
Assert.assertEquals(property2.baseName, "name");
|
||||
Assert.assertEquals(property2.datatype, "string");
|
||||
Assert.assertEquals(property2.name, "name");
|
||||
Assert.assertEquals(property2.defaultValue, "null");
|
||||
Assert.assertEquals(property2.baseType, "string");
|
||||
Assert.assertTrue(property2.hasMore);
|
||||
Assert.assertTrue(property2.required);
|
||||
Assert.assertTrue(property2.isPrimitiveType);
|
||||
Assert.assertTrue(property2.isNotContainer);
|
||||
|
||||
final CodegenProperty property3 = cm.vars.get(2);
|
||||
Assert.assertEquals(property3.baseName, "createdAt");
|
||||
Assert.assertEquals(property3.complexType, "\\DateTime");
|
||||
Assert.assertEquals(property3.datatype, "\\DateTime");
|
||||
Assert.assertEquals(property3.name, "created_at");
|
||||
Assert.assertEquals(property3.defaultValue, "null");
|
||||
Assert.assertEquals(property3.baseType, "\\DateTime");
|
||||
Assert.assertNull(property3.hasMore);
|
||||
Assert.assertNull(property3.required);
|
||||
Assert.assertTrue(property3.isNotContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with list property")
|
||||
public void listPropertyTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("id", new LongProperty())
|
||||
.property("urls", new ArrayProperty()
|
||||
.items(new StringProperty()))
|
||||
.required("id");
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 2);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "id");
|
||||
Assert.assertEquals(property1.datatype, "int");
|
||||
Assert.assertEquals(property1.name, "id");
|
||||
Assert.assertEquals(property1.defaultValue, "null");
|
||||
Assert.assertEquals(property1.baseType, "int");
|
||||
Assert.assertTrue(property1.hasMore);
|
||||
Assert.assertTrue(property1.required);
|
||||
Assert.assertTrue(property1.isPrimitiveType);
|
||||
Assert.assertTrue(property1.isNotContainer);
|
||||
|
||||
final CodegenProperty property2 = cm.vars.get(1);
|
||||
Assert.assertEquals(property2.baseName, "urls");
|
||||
Assert.assertEquals(property2.datatype, "string[]");
|
||||
Assert.assertEquals(property2.name, "urls");
|
||||
Assert.assertEquals(property2.baseType, "array");
|
||||
Assert.assertNull(property2.hasMore);
|
||||
Assert.assertEquals(property2.containerType, "array");
|
||||
Assert.assertNull(property2.required);
|
||||
Assert.assertTrue(property2.isPrimitiveType);
|
||||
Assert.assertTrue(property2.isContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with a map property")
|
||||
public void mapPropertyTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("translations", new MapProperty()
|
||||
.additionalProperties(new StringProperty()))
|
||||
.required("id");
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "translations");
|
||||
Assert.assertEquals(property1.datatype, "map[string,string]");
|
||||
Assert.assertEquals(property1.name, "translations");
|
||||
Assert.assertEquals(property1.baseType, "map");
|
||||
Assert.assertEquals(property1.containerType, "map");
|
||||
Assert.assertNull(property1.required);
|
||||
Assert.assertTrue(property1.isContainer);
|
||||
Assert.assertTrue(property1.isPrimitiveType);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with complex property")
|
||||
public void complexPropertyTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new RefProperty("#/definitions/Children"));
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "children");
|
||||
Assert.assertEquals(property1.datatype, "\\Swagger\\Client\\Model\\Children");
|
||||
Assert.assertEquals(property1.name, "children");
|
||||
Assert.assertEquals(property1.baseType, "Children");
|
||||
Assert.assertNull(property1.required);
|
||||
Assert.assertTrue(property1.isNotContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with complex list property")
|
||||
public void complexListProperty() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new ArrayProperty()
|
||||
.items(new RefProperty("#/definitions/Children")));
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "children");
|
||||
Assert.assertEquals(property1.datatype, "\\Swagger\\Client\\Model\\Children[]");
|
||||
Assert.assertEquals(property1.name, "children");
|
||||
Assert.assertEquals(property1.baseType, "array");
|
||||
Assert.assertEquals(property1.containerType, "array");
|
||||
Assert.assertNull(property1.required);
|
||||
Assert.assertTrue(property1.isContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with complex map property")
|
||||
public void complexMapProperty() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new MapProperty()
|
||||
.additionalProperties(new RefProperty("#/definitions/Children")));
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "a sample model");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("Children")).size(), 1);
|
||||
|
||||
final CodegenProperty property1 = cm.vars.get(0);
|
||||
Assert.assertEquals(property1.baseName, "children");
|
||||
Assert.assertEquals(property1.complexType, "Children");
|
||||
Assert.assertEquals(property1.datatype, "map[string,\\Swagger\\Client\\Model\\Children]");
|
||||
Assert.assertEquals(property1.name, "children");
|
||||
Assert.assertEquals(property1.baseType, "map");
|
||||
Assert.assertEquals(property1.containerType, "map");
|
||||
Assert.assertNull(property1.required);
|
||||
Assert.assertTrue(property1.isContainer);
|
||||
Assert.assertNull(property1.isNotContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert an array model")
|
||||
public void arrayModelTest() {
|
||||
final Model model = new ArrayModel()
|
||||
.description("an array model")
|
||||
.items(new RefProperty("#/definitions/Children"));
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "an array model");
|
||||
Assert.assertEquals(cm.vars.size(), 0);
|
||||
// skip import test as import is not used by PHP codegen
|
||||
}
|
||||
|
||||
@Test(description = "convert an map model")
|
||||
public void mapModelTest() {
|
||||
final Model model = new ModelImpl()
|
||||
.description("a map model")
|
||||
.additionalProperties(new RefProperty("#/definitions/Children"));
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.description, "a map model");
|
||||
Assert.assertEquals(cm.vars.size(), 0);
|
||||
Assert.assertEquals(cm.imports.size(), 2);
|
||||
Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("Children")).size(), 1);
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package io.swagger.codegen.python;
|
||||
|
||||
import io.swagger.codegen.CodegenModel;
|
||||
import io.swagger.codegen.CodegenOperation;
|
||||
import io.swagger.codegen.DefaultCodegen;
|
||||
import io.swagger.codegen.languages.PythonClientCodegen;
|
||||
import io.swagger.models.Operation;
|
||||
import io.swagger.models.Swagger;
|
||||
import io.swagger.parser.SwaggerParser;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class PythonTest {
|
||||
|
||||
@Test(description = "convert a python model with dots")
|
||||
public void modelTest() {
|
||||
final Swagger swagger = new SwaggerParser().read("src/test/resources/2_0/v1beta3.json");
|
||||
final DefaultCodegen codegen = new PythonClientCodegen();
|
||||
|
||||
final CodegenModel simpleName = codegen.fromModel("v1beta3.Binding", swagger.getDefinitions().get("v1beta3.Binding"));
|
||||
Assert.assertEquals(simpleName.name, "v1beta3.Binding");
|
||||
Assert.assertEquals(simpleName.classname, "V1beta3Binding");
|
||||
Assert.assertEquals(simpleName.classVarName, "v1beta3_binding");
|
||||
|
||||
final CodegenModel compoundName = codegen.fromModel("v1beta3.ComponentStatus", swagger.getDefinitions().get("v1beta3.ComponentStatus"));
|
||||
Assert.assertEquals(compoundName.name, "v1beta3.ComponentStatus");
|
||||
Assert.assertEquals(compoundName.classname, "V1beta3ComponentStatus");
|
||||
Assert.assertEquals(compoundName.classVarName, "v1beta3_component_status");
|
||||
|
||||
final String path = "/api/v1beta3/namespaces/{namespaces}/bindings";
|
||||
final Operation operation = swagger.getPaths().get(path).getPost();
|
||||
final CodegenOperation codegenOperation = codegen.fromOperation(path, "get", operation, swagger.getDefinitions());
|
||||
Assert.assertEquals(codegenOperation.returnType, "V1beta3Binding");
|
||||
Assert.assertEquals(codegenOperation.returnBaseType, "V1beta3Binding");
|
||||
}
|
||||
}
|
@ -1,255 +0,0 @@
|
||||
package Objc
|
||||
|
||||
import io.swagger.codegen.languages.ObjcClientCodegen
|
||||
import io.swagger.models._
|
||||
import io.swagger.models.properties._
|
||||
import io.swagger.parser.SwaggerParser
|
||||
import org.junit.runner.RunWith
|
||||
import org.scalatest.{FlatSpec, Matchers}
|
||||
import org.scalatest.junit.JUnitRunner
|
||||
|
||||
import scala.collection.JavaConverters._
|
||||
|
||||
@RunWith(classOf[JUnitRunner])
|
||||
class ObjcModelTest extends FlatSpec with Matchers {
|
||||
|
||||
it should "convert a simple java model" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("id", new LongProperty())
|
||||
.property("name", new StringProperty())
|
||||
.property("createdAt", new DateTimeProperty())
|
||||
.required("id")
|
||||
.required("name")
|
||||
|
||||
val codegen = new ObjcClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("SWGSample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(3)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("id")
|
||||
vars.get(0).datatype should be("NSNumber*")
|
||||
vars.get(0).name should be("_id")
|
||||
vars.get(0).defaultValue should be(null)
|
||||
vars.get(0).baseType should be("NSNumber")
|
||||
vars.get(0).hasMore should equal(true)
|
||||
vars.get(0).required should equal(true)
|
||||
vars.get(0).isPrimitiveType should equal(true)
|
||||
vars.get(0).isNotContainer should equal(true)
|
||||
|
||||
vars.get(1).baseName should be("name")
|
||||
vars.get(1).datatype should be("NSString*")
|
||||
vars.get(1).name should be("name")
|
||||
vars.get(1).defaultValue should be(null)
|
||||
vars.get(1).baseType should be("NSString")
|
||||
vars.get(1).hasMore should equal(true)
|
||||
vars.get(1).required should equal(true)
|
||||
vars.get(0).isPrimitiveType should equal(true)
|
||||
vars.get(1).isNotContainer should equal(true)
|
||||
|
||||
vars.get(2).baseName should be("createdAt")
|
||||
vars.get(2).datatype should be("NSDate*")
|
||||
vars.get(2).name should be("createdAt")
|
||||
vars.get(2).defaultValue should be(null)
|
||||
vars.get(2).baseType should be("NSDate")
|
||||
vars.get(2).hasMore should equal(null)
|
||||
vars.get(2).required should equal(null)
|
||||
vars.get(2).isNotContainer should equal(true)
|
||||
|
||||
}
|
||||
|
||||
it should "convert a model with list property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("id", new LongProperty())
|
||||
.property("urls", new ArrayProperty()
|
||||
.items(new StringProperty()))
|
||||
.required("id")
|
||||
|
||||
val codegen = new ObjcClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("SWGSample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(2)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("id")
|
||||
vars.get(0).datatype should be("NSNumber*")
|
||||
vars.get(0).name should be("_id")
|
||||
vars.get(0).defaultValue should be(null)
|
||||
vars.get(0).baseType should be("NSNumber")
|
||||
vars.get(0).hasMore should equal(true)
|
||||
vars.get(0).required should equal(true)
|
||||
vars.get(0).isPrimitiveType should equal(true)
|
||||
vars.get(0).isNotContainer should equal(true)
|
||||
|
||||
vars.get(1).baseName should be("urls")
|
||||
vars.get(1).datatype should be("NSArray* /* NSString */")
|
||||
vars.get(1).name should be("urls")
|
||||
// vars.get(1).defaultValue should be ("null")
|
||||
vars.get(1).baseType should be("NSArray")
|
||||
vars.get(1).hasMore should be(null)
|
||||
vars.get(1).containerType should equal("array")
|
||||
vars.get(1).required should equal(null)
|
||||
vars.get(1).isPrimitiveType should equal(true)
|
||||
vars.get(1).isContainer should equal(true)
|
||||
}
|
||||
|
||||
it should "convert a model with a map property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("translations", new MapProperty()
|
||||
.additionalProperties(new StringProperty()))
|
||||
.required("id")
|
||||
|
||||
val codegen = new ObjcClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("SWGSample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(1)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("translations")
|
||||
vars.get(0).datatype should be("NSDictionary* /* NSString, NSString */")
|
||||
vars.get(0).name should be("translations")
|
||||
vars.get(0).baseType should be("NSDictionary")
|
||||
vars.get(0).containerType should be("map")
|
||||
vars.get(0).required should equal(null)
|
||||
vars.get(0).isContainer should equal(true)
|
||||
vars.get(0).isPrimitiveType should equal(true)
|
||||
}
|
||||
|
||||
it should "convert a model with complex property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new RefProperty("#/definitions/Children"))
|
||||
|
||||
val codegen = new ObjcClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("SWGSample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(1)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("children")
|
||||
vars.get(0).datatype should be("SWGChildren*")
|
||||
vars.get(0).name should be("children")
|
||||
vars.get(0).baseType should be("SWGChildren")
|
||||
vars.get(0).required should equal(null)
|
||||
vars.get(0).isNotContainer should equal(true)
|
||||
}
|
||||
|
||||
it should "convert a model with complex list property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new ArrayProperty()
|
||||
.items(new RefProperty("#/definitions/Children")))
|
||||
|
||||
val codegen = new ObjcClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("SWGSample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(1)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("children")
|
||||
vars.get(0).complexType should be("SWGChildren")
|
||||
vars.get(0).datatype should be("NSArray<SWGChildren>*")
|
||||
vars.get(0).name should be("children")
|
||||
vars.get(0).baseType should be("NSArray")
|
||||
vars.get(0).containerType should be("array")
|
||||
vars.get(0).required should equal(null)
|
||||
vars.get(0).isContainer should equal(true)
|
||||
}
|
||||
|
||||
it should "convert a model with complex map property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new MapProperty()
|
||||
.additionalProperties(new RefProperty("#/definitions/Children")))
|
||||
|
||||
val codegen = new ObjcClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("SWGSample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(1)
|
||||
(cm.imports.asScala.toSet & Set("SWGChildren")).size should be(1)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("children")
|
||||
vars.get(0).complexType should be("SWGChildren")
|
||||
vars.get(0).datatype should be("NSDictionary* /* NSString, SWGChildren */")
|
||||
vars.get(0).name should be("children")
|
||||
vars.get(0).baseType should be("NSDictionary")
|
||||
vars.get(0).containerType should be("map")
|
||||
vars.get(0).required should equal(null)
|
||||
vars.get(0).isContainer should equal(true)
|
||||
vars.get(0).isNotContainer should be(null)
|
||||
}
|
||||
|
||||
it should "convert an array model" in {
|
||||
val model = new ArrayModel()
|
||||
.description("an array model")
|
||||
.items(new RefProperty("#/definitions/Children"))
|
||||
val codegen = new ObjcClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("SWGSample")
|
||||
cm.description should be("an array model")
|
||||
cm.vars.size should be(0)
|
||||
cm.parent should be("NSMutableArray")
|
||||
cm.imports.size should be(1)
|
||||
(cm.imports.asScala.toSet & Set("SWGChildren")).size should be(1)
|
||||
}
|
||||
|
||||
it should "convert an map model" in {
|
||||
val model = new ModelImpl()
|
||||
.description("an map model")
|
||||
.additionalProperties(new RefProperty("#/definitions/Children"))
|
||||
|
||||
val codegen = new ObjcClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("SWGSample")
|
||||
cm.description should be("an map model")
|
||||
cm.vars.size should be(0)
|
||||
cm.parent should be("NSMutableDictionary")
|
||||
cm.imports.size should be(1)
|
||||
(cm.imports.asScala.toSet & Set("SWGChildren")).size should be(1)
|
||||
}
|
||||
|
||||
it should "create proper imports per #316" in {
|
||||
val model = new SwaggerParser().read("src/test/resources/2_0/postBodyTest.json")
|
||||
val codegen = new ObjcClientCodegen()
|
||||
|
||||
val animalPaths = model.getPaths()
|
||||
val animalOps = animalPaths.get("/animals")
|
||||
animalOps.getPost() should not be (null)
|
||||
val animalCo = codegen.fromOperation("/animals", "POST", animalOps.getPost(), model.getDefinitions())
|
||||
animalCo.imports.size should be(1)
|
||||
animalCo.imports.contains("SWGAnimal") should equal(true)
|
||||
|
||||
val insectPaths = model.getPaths()
|
||||
val insectOps = insectPaths.get("/insects")
|
||||
insectOps.getPost() should not be (null)
|
||||
val insectCo = codegen.fromOperation("/insects", "POST", insectOps.getPost(), model.getDefinitions())
|
||||
insectCo.imports.size should be(1)
|
||||
insectCo.imports.contains("SWGInsect") should equal(true)
|
||||
}
|
||||
}
|
@ -1,257 +0,0 @@
|
||||
package php
|
||||
|
||||
import io.swagger.codegen.languages.PhpClientCodegen
|
||||
import io.swagger.models._
|
||||
import io.swagger.models.properties._
|
||||
import org.junit.runner.RunWith
|
||||
import org.scalatest.{FlatSpec, Matchers}
|
||||
import org.scalatest.junit.JUnitRunner
|
||||
|
||||
import scala.collection.JavaConverters._
|
||||
|
||||
@RunWith(classOf[JUnitRunner])
|
||||
class PhpModelTest extends FlatSpec with Matchers {
|
||||
|
||||
it should "convert a simple php model" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("id", new LongProperty())
|
||||
.property("name", new StringProperty())
|
||||
.property("createdAt", new DateTimeProperty())
|
||||
.required("id")
|
||||
.required("name")
|
||||
|
||||
val codegen = new PhpClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("Sample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(3)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("id")
|
||||
vars.get(0).datatype should be("int")
|
||||
vars.get(0).name should be("id")
|
||||
vars.get(0).defaultValue should be("null")
|
||||
vars.get(0).baseType should be("int")
|
||||
vars.get(0).hasMore should equal(true)
|
||||
vars.get(0).required should equal(true)
|
||||
vars.get(0).isPrimitiveType should equal(true)
|
||||
vars.get(0).isNotContainer should equal(true)
|
||||
|
||||
vars.get(1).baseName should be("name")
|
||||
vars.get(1).datatype should be("string")
|
||||
vars.get(1).name should be("name")
|
||||
vars.get(1).defaultValue should be("null")
|
||||
vars.get(1).baseType should be("string")
|
||||
vars.get(1).hasMore should equal(true)
|
||||
vars.get(1).required should equal(true)
|
||||
vars.get(0).isPrimitiveType should equal(true)
|
||||
vars.get(1).isNotContainer should equal(true)
|
||||
|
||||
vars.get(2).baseName should be("createdAt")
|
||||
vars.get(2).complexType should be("\\DateTime")
|
||||
vars.get(2).datatype should be("\\DateTime")
|
||||
vars.get(2).name should be("created_at")
|
||||
vars.get(2).defaultValue should be("null")
|
||||
vars.get(2).baseType should be("\\DateTime")
|
||||
vars.get(2).hasMore should equal(null)
|
||||
vars.get(2).required should equal(null)
|
||||
vars.get(2).isNotContainer should equal(true)
|
||||
|
||||
cm.imports.size() should be(1)
|
||||
}
|
||||
|
||||
it should "convert a model with list property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("id", new LongProperty())
|
||||
.property("urls", new ArrayProperty()
|
||||
.items(new StringProperty()))
|
||||
.required("id")
|
||||
|
||||
val codegen = new PhpClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("Sample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(2)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("id")
|
||||
vars.get(0).datatype should be("int")
|
||||
vars.get(0).name should be("id")
|
||||
vars.get(0).defaultValue should be("null")
|
||||
vars.get(0).baseType should be("int")
|
||||
vars.get(0).hasMore should equal(true)
|
||||
vars.get(0).required should equal(true)
|
||||
vars.get(0).isPrimitiveType should equal(true)
|
||||
vars.get(0).isNotContainer should equal(true)
|
||||
|
||||
vars.get(1).baseName should be("urls")
|
||||
vars.get(1).datatype should be("string[]")
|
||||
vars.get(1).name should be("urls")
|
||||
vars.get(1).baseType should be("array")
|
||||
vars.get(1).hasMore should be(null)
|
||||
vars.get(1).containerType should equal("array")
|
||||
vars.get(1).required should equal(null)
|
||||
vars.get(1).isPrimitiveType should equal(true)
|
||||
vars.get(1).isContainer should equal(true)
|
||||
}
|
||||
|
||||
it should "convert a model with a map property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("translations", new MapProperty()
|
||||
.additionalProperties(new StringProperty()))
|
||||
.required("id")
|
||||
|
||||
val codegen = new PhpClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("Sample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(1)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("translations")
|
||||
vars.get(0).datatype should be("map[string,string]")
|
||||
vars.get(0).name should be("translations")
|
||||
vars.get(0).baseType should be("map")
|
||||
vars.get(0).containerType should be("map")
|
||||
vars.get(0).required should equal(null)
|
||||
vars.get(0).isContainer should equal(true)
|
||||
vars.get(0).isPrimitiveType should equal(true)
|
||||
}
|
||||
|
||||
it should "convert a model with complex property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new RefProperty("#/definitions/Children"))
|
||||
|
||||
val codegen = new PhpClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("Sample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(1)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("children")
|
||||
vars.get(0).datatype should be("\\Swagger\\Client\\Model\\Children")
|
||||
vars.get(0).name should be("children")
|
||||
vars.get(0).baseType should be("Children")
|
||||
vars.get(0).required should equal(null)
|
||||
vars.get(0).isNotContainer should equal(true)
|
||||
}
|
||||
|
||||
it should "convert a model with complex list property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new ArrayProperty()
|
||||
.items(new RefProperty("#/definitions/Children")))
|
||||
|
||||
val codegen = new PhpClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("Sample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(1)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("children")
|
||||
vars.get(0).complexType should be("Children")
|
||||
vars.get(0).datatype should be("\\Swagger\\Client\\Model\\Children[]")
|
||||
vars.get(0).name should be("children")
|
||||
vars.get(0).baseType should be("array")
|
||||
vars.get(0).containerType should be("array")
|
||||
vars.get(0).required should equal(null)
|
||||
vars.get(0).isContainer should equal(true)
|
||||
}
|
||||
|
||||
it should "convert a model with complex map property" in {
|
||||
val model = new ModelImpl()
|
||||
.description("a sample model")
|
||||
.property("children", new MapProperty()
|
||||
.additionalProperties(new RefProperty("#/definitions/Children")))
|
||||
|
||||
val codegen = new PhpClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("Sample")
|
||||
cm.description should be("a sample model")
|
||||
cm.vars.size should be(1)
|
||||
(cm.imports.asScala.toSet & Set("Children")).size should be(1)
|
||||
|
||||
val vars = cm.vars
|
||||
vars.get(0).baseName should be("children")
|
||||
vars.get(0).complexType should be("Children")
|
||||
vars.get(0).datatype should be("map[string,\\Swagger\\Client\\Model\\Children]")
|
||||
vars.get(0).name should be("children")
|
||||
vars.get(0).baseType should be("map")
|
||||
vars.get(0).containerType should be("map")
|
||||
vars.get(0).required should equal(null)
|
||||
vars.get(0).isContainer should equal(true)
|
||||
vars.get(0).isNotContainer should be(null)
|
||||
}
|
||||
|
||||
it should "convert an array model" in {
|
||||
val model = new ArrayModel()
|
||||
.description("an array model")
|
||||
.items(new RefProperty("#/definitions/Children"))
|
||||
val codegen = new PhpClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("Sample")
|
||||
cm.description should be("an array model")
|
||||
cm.vars.size should be(0)
|
||||
// skip import test as import is not used by PHP codegen
|
||||
//cm.imports.size should be (1)
|
||||
//(cm.imports.asScala.toSet & Set("Children")).size should be (1)
|
||||
}
|
||||
|
||||
it should "convert an map model" in {
|
||||
val model = new ModelImpl()
|
||||
.description("an map model")
|
||||
.additionalProperties(new RefProperty("#/definitions/Children"))
|
||||
|
||||
val codegen = new PhpClientCodegen()
|
||||
val cm = codegen.fromModel("sample", model)
|
||||
|
||||
cm.name should be("sample")
|
||||
cm.classname should be("Sample")
|
||||
cm.description should be("an map model")
|
||||
cm.vars.size should be(0)
|
||||
cm.imports.size should be(2)
|
||||
(cm.imports.asScala.toSet & Set("Children")).size should be(1)
|
||||
}
|
||||
|
||||
// skip import test as import is not used by PHP codegen
|
||||
//it should "create proper imports per #316" in {
|
||||
// val model = new SwaggerParser()
|
||||
// .read("src/test/resources/2_0/postBodyTest.json")
|
||||
// val codegen = new PhpClientCodegen()
|
||||
|
||||
// val animalPaths = model.getPaths()
|
||||
// val animalOps = animalPaths.get("/animals")
|
||||
// animalOps.getPost() should not be (null)
|
||||
// val animalCo = codegen.fromOperation("/animals", "POST", animalOps.getPost(), model.getDefinitions())
|
||||
// animalCo.imports should be (1)
|
||||
// animalCo.imports.size should be (1)
|
||||
// animalCo.imports.contains("Animal") should equal (true)
|
||||
|
||||
// val insectPaths = model.getPaths()
|
||||
// val insectOps = insectPaths.get("/insects")
|
||||
// insectOps.getPost() should not be (null)
|
||||
// val insectCo = codegen.fromOperation("/insects", "POST", insectOps.getPost(), model.getDefinitions())
|
||||
// insectCo.imports.size should be (1)
|
||||
// insectCo.imports.contains("Insect") should equal (true)
|
||||
//}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package python
|
||||
|
||||
import io.swagger.codegen.languages.PythonClientCodegen
|
||||
import io.swagger.parser.SwaggerParser
|
||||
import org.junit.runner.RunWith
|
||||
import org.scalatest.{FlatSpec, Matchers}
|
||||
import org.scalatest.junit.JUnitRunner
|
||||
|
||||
@RunWith(classOf[JUnitRunner])
|
||||
class PythonTest extends FlatSpec with Matchers {
|
||||
it should "convert a python model with dots" in {
|
||||
val swagger = new SwaggerParser()
|
||||
.read("src/test/resources/2_0/v1beta3.json")
|
||||
|
||||
val codegen = new PythonClientCodegen()
|
||||
val simpleName = codegen.fromModel("v1beta3.Binding", swagger.getDefinitions().get("v1beta3.Binding"))
|
||||
simpleName.name should be("v1beta3.Binding")
|
||||
simpleName.classname should be("V1beta3Binding")
|
||||
simpleName.classVarName should be("v1beta3_binding")
|
||||
|
||||
val compoundName = codegen.fromModel("v1beta3.ComponentStatus", swagger.getDefinitions().get("v1beta3.ComponentStatus"))
|
||||
compoundName.name should be("v1beta3.ComponentStatus")
|
||||
compoundName.classname should be("V1beta3ComponentStatus")
|
||||
compoundName.classVarName should be("v1beta3_component_status")
|
||||
|
||||
val path = "/api/v1beta3/namespaces/{namespaces}/bindings"
|
||||
val operation = swagger.getPaths().get(path).getPost()
|
||||
val codegenOperation = codegen.fromOperation(path, "get", operation, swagger.getDefinitions())
|
||||
codegenOperation.returnType should be("V1beta3Binding")
|
||||
codegenOperation.returnBaseType should be("V1beta3Binding")
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user