Example #1
0
def test_dict_serializer_no_default():
    serializer = DictSerializer()
    field = fields.Integer()
    result = str(
        serializer.serialize('foo', 'bar', 'result["foo"] = {0}', field))
    expected = ('if "foo" in obj:\n' '    result["foo"] = obj["foo"]')
    assert expected == result
Example #2
0
def test_generate_unmarshall_method_bodies_required():
    class OneFieldSchema(Schema):
        foo = fields.Integer(required=True)

    context = JitContext(is_serializing=False, use_inliners=False)
    result = str(
        generate_transform_method_body(OneFieldSchema(),
                                       DictSerializer(context), context))
    expected = '''\
def DictSerializer(obj):
    res = {}
    __res_get = res.get
    res["foo"] = _field_foo__deserialize(obj["foo"], "foo", obj)
    if "foo" not in res:
        raise ValueError()
    if __res_get("foo", res) is None:
        raise ValueError()
    return res'''
    assert expected == result
Example #3
0
def test_generate_unmarshall_method_bodies_with_load_from():
    class OneFieldSchema(Schema):
        foo = fields.Integer(data_key='bar', allow_none=True)

    context = JitContext(is_serializing=False, use_inliners=False)
    result = str(
        generate_transform_method_body(OneFieldSchema(),
                                       DictSerializer(context), context))
    expected = '''\
def DictSerializer(obj):
    res = {}
    __res_get = res.get
    if "foo" in obj:
        res["foo"] = _field_foo__deserialize(obj["foo"], "bar", obj)
    if "foo" not in res:
        if "bar" in obj:
            res["foo"] = _field_foo__deserialize(obj["bar"], "bar", obj)
    return res'''
    assert expected == result
Example #4
0
def test_dict_serializer_with_callable_default():
    serializer = DictSerializer()
    field = fields.Integer(default=int)
    result = str(
        serializer.serialize('foo', 'bar', 'result["foo"] = {0}', field))
    assert 'result["foo"] = obj.get("foo", bar__default())' == result