Ejemplo n.º 1
0
 def test_control_chars(self):
     """
     JSONAttribute with control chars
     """
     attr = JSONAttribute()
     item = {'foo\t': 'bar\n', 'bool': True, 'number': 3.141}
     encoded = six.u(json.dumps(item))
     assert attr.deserialize(encoded) == item
Ejemplo n.º 2
0
 def test_json_deserialize(self):
     """
     JSONAttribute.deserialize
     """
     attr = JSONAttribute()
     item = {'foo': 'bar', 'bool': True, 'number': 3.141}
     encoded = six.u(json.dumps(item))
     assert attr.deserialize(encoded) == item
Ejemplo n.º 3
0
 def test_json_serialize(self):
     """
     JSONAttribute.serialize
     """
     attr = JSONAttribute()
     item = {'foo': 'bar', 'bool': True, 'number': 3.141}
     assert attr.serialize(item) == six.u(json.dumps(item))
     assert attr.serialize({}) == six.u('{}')
     assert attr.serialize(None) is None
Ejemplo n.º 4
0
    def test_json_attribute(self):
        """
        JSONAttribute.default
        """
        attr = JSONAttribute()
        assert attr is not None

        assert attr.attr_type == STRING
        attr = JSONAttribute(default={})
        assert attr.default == {}
Ejemplo n.º 5
0
    def test_quoted_json(self):
        attr = JSONAttribute()
        serialized = attr.serialize('\\t')
        assert attr.deserialize(serialized) == '\\t'

        serialized = attr.serialize('"')
        assert attr.deserialize(serialized) == '"'
Ejemplo n.º 6
0
class AttributeTestModel(Model):
    class Meta:
        host = 'http://localhost:8000'
        table_name = 'test'

    binary_attr = BinaryAttribute()
    binary_set_attr = BinarySetAttribute()
    number_attr = NumberAttribute()
    number_set_attr = NumberSetAttribute()
    unicode_attr = UnicodeAttribute()
    unicode_set_attr = UnicodeSetAttribute()
    datetime_attr = UTCDateTimeAttribute()
    bool_attr = BooleanAttribute()
    json_attr = JSONAttribute()
    map_attr = MapAttribute()
Ejemplo n.º 7
0
        class JSONMapAttribute(MapAttribute):
            arbitrary_data = JSONAttribute()

            def __eq__(self, other):
                return self.arbitrary_data == other.arbitrary_data