Пример #1
0
    def test_short_json(self):
        """Short JSON strings shouldn't get compressed, but should be
        invertible"""
        field = CompressedJSONField()
        to_store = field.get_prep_value({'a': 'dictionary'})
        self.assertEqual(to_store[:2], 'j$')
        self.assertIn('dictionary', to_store)

        from_store = field.to_python(to_store)
        self.assertEqual(from_store, {'a': 'dictionary'})
Пример #2
0
    def test_long_json(self):
        """Long JSON objects _do_ get compressed, in addition to being
        invertible"""
        field = CompressedJSONField()
        value = {'key': 'value'*1000}
        to_store = field.get_prep_value(value)
        self.assertEqual(to_store[:4], 'jb6$')
        self.assertNotIn('value', to_store)     # because it's been compressed
        self.assertTrue(len(to_store) < 1000)

        from_store = field.to_python(to_store)
        self.assertEqual(from_store, value)