Render default values that are not None
Allow rendering 0, False and other default values that would be considered as false by python. Change-Id: I0108b4430e831a7aa14bfd8d6deb4accb759d578
This commit is contained in:
parent
8500d14450
commit
f936ed3c78
|
@ -70,7 +70,7 @@ class AttributeRenderer(JsonRenderer):
|
|||
}
|
||||
if self.obj.description:
|
||||
r["description"] = self.obj.description
|
||||
if self.obj.default:
|
||||
if self.obj.default is not None:
|
||||
r["default"] = self.obj.default
|
||||
# TODO(enolfc): missing pattern
|
||||
return {self.obj.name: r}
|
||||
|
|
|
@ -67,7 +67,7 @@ class TestOCCIJsonRendering(base.BaseRendererTest):
|
|||
"required": attr.required,
|
||||
"type": "string",
|
||||
}
|
||||
if attr.default:
|
||||
if attr.default is not None:
|
||||
expected["default"] = attr.default
|
||||
if attr.description:
|
||||
expected["description"] = attr.description
|
||||
|
@ -206,6 +206,20 @@ class TestOCCIJsonRendering(base.BaseRendererTest):
|
|||
}
|
||||
self.assertEqual(expected, json.loads(observed))
|
||||
|
||||
def test_number_attr_default_0(self):
|
||||
attr = attribute.MutableAttribute(
|
||||
"org.example", default=0,
|
||||
attr_type=attribute.AttributeType.number_type)
|
||||
r = self.renderer.get_renderer(attr)
|
||||
observed = r.render()
|
||||
expected = {
|
||||
"org.example": {
|
||||
"type": "number", "required": False, "mutable": True,
|
||||
"default": 0,
|
||||
}
|
||||
}
|
||||
self.assertEqual(expected, json.loads(observed))
|
||||
|
||||
def test_boolean_attr(self):
|
||||
attr = attribute.MutableAttribute(
|
||||
"org.example", attr_type=attribute.AttributeType.boolean_type)
|
||||
|
@ -217,3 +231,17 @@ class TestOCCIJsonRendering(base.BaseRendererTest):
|
|||
}
|
||||
}
|
||||
self.assertEqual(expected, json.loads(observed))
|
||||
|
||||
def test_boolean_attr_default_false(self):
|
||||
attr = attribute.MutableAttribute(
|
||||
"org.example", default=False,
|
||||
attr_type=attribute.AttributeType.boolean_type)
|
||||
r = self.renderer.get_renderer(attr)
|
||||
observed = r.render()
|
||||
expected = {
|
||||
"org.example": {
|
||||
"type": "boolean", "required": False, "mutable": True,
|
||||
"default": False,
|
||||
}
|
||||
}
|
||||
self.assertEqual(expected, json.loads(observed))
|
||||
|
|
Loading…
Reference in New Issue