more flattening fixes

This commit is contained in:
Tony Tam
2015-10-19 23:10:48 -07:00
parent 555fd54fbb
commit aaf1df1971
2 changed files with 52 additions and 15 deletions

View File

@@ -110,19 +110,21 @@ public class InlineModelResolverTest {
.parameter(new BodyParameter()
.name("body")
.schema(new ModelImpl()
.property("address", new ObjectProperty()
.property("street", new StringProperty()))
.property("name", new StringProperty())))));
new InlineModelResolver().flatten(swagger);
Operation operation = swagger.getPaths().get("/hello").getGet();
BodyParameter bp = (BodyParameter)operation.getParameters().get(0);
assertTrue(bp.getSchema() instanceof RefModel);
assertTrue(bp.getSchema() instanceof ModelImpl);
Model body = swagger.getDefinitions().get("body");
Model body = swagger.getDefinitions().get("hello_address");
assertTrue(body instanceof ModelImpl);
ModelImpl impl = (ModelImpl) body;
assertNotNull(impl.getProperties().get("name"));
assertNotNull(impl.getProperties().get("street"));
}
@Test
@@ -134,7 +136,9 @@ public class InlineModelResolverTest {
.parameter(new BodyParameter()
.name("body")
.schema(new ArrayModel()
.items(new StringProperty())))));
.items(new ObjectProperty()
.property("address", new ObjectProperty()
.property("street", new StringProperty())))))));
new InlineModelResolver().flatten(swagger);
@@ -144,10 +148,17 @@ public class InlineModelResolverTest {
BodyParameter bp = (BodyParameter) param;
Model schema = bp.getSchema();
assertTrue(schema instanceof RefModel);
assertTrue(schema instanceof ArrayModel);
Model model = swagger.getDefinitions().get("body");
assertTrue(model instanceof ArrayModel);
ArrayModel am = (ArrayModel) schema;
Property inner = am.getItems();
ObjectProperty op = (ObjectProperty) inner;
Property name = op.getProperties().get("address");
assertTrue(name instanceof RefProperty);
Model model = swagger.getDefinitions().get("hello_address");
assertNotNull(model);
}
@Test
@@ -267,4 +278,24 @@ public class InlineModelResolverTest {
Property name = op.getProperties().get("name");
assertTrue(name instanceof StringProperty);
}
@Test
public void testBasicInput() {
Swagger swagger = new Swagger();
ModelImpl user = new ModelImpl()
.property("name", new StringProperty());
swagger.path("/foo/baz", new Path()
.post(new Operation()
.parameter(new BodyParameter()
.name("myBody")
.schema(new RefModel("User")))));
swagger.addDefinition("User", user);
new InlineModelResolver().flatten(swagger);
Json.prettyPrint(swagger);
}
}