def test_encoder_with_datamodel_element(): encoder = BfJsonEncoder() iface = Interface(hostname='node', interface="iface") assert encoder.default(iface) == iface.dict() assert json.loads( json.dumps({"name": {"nested": iface}}, cls=BfJsonEncoder)) == {"name": {"nested": iface.dict()}}
def test_encoder_with_primitives(): encoder = BfJsonEncoder() assert encoder.default(1) == 1 assert encoder.default(3.14) == 3.14 assert encoder.default("some_string") == "some_string" assert encoder.default([1, 2, "some_string"]) == [1, 2, "some_string"] assert encoder.default({1}) assert encoder.default(None) is None assert json.loads( json.dumps({"name": {"nested": "foo"}}, cls=BfJsonEncoder)) == {"name": {"nested": "foo"}} assert json.loads( json.dumps([{'name': 'value'}], cls=BfJsonEncoder)) == [{'name': 'value'}]