Esempio n. 1
0
    def test_required(self):
        f = ArrayField(required=False)
        self.assertEqual(None, f.clean(None))

        f = ArrayField()
        self.assertEqual([], f.clean([]))
        with self.assertRaises(ValidationError):
            f.clean(None)
Esempio n. 2
0
 def test_empty_value_validators(self):
     # By default django skips run_validators methods, if value is in empty_values
     # It's not correct for REST, as empty value is not equal to None value now
     f = ArrayField(validators=[TestErrorValidator(0)])
     with self.assertRaises(ValidationError):
         f.clean([])
Esempio n. 3
0
 def test_initial(self):
     test_data = [1, 2, 3]
     f = ArrayField(required=False, initial=test_data)
     self.assertEqual(test_data, f.clean(None))
Esempio n. 4
0
 def test_max_items_valid(self):
     test_data = [{'test': 1}, {'test': 1}]
     f = ArrayField(max_items=2)
     self.assertListEqual(test_data, f.clean(json.dumps(test_data)))
Esempio n. 5
0
 def test_max_items_invalid(self):
     test_data = [{'test': 1}, {'test': 1}, {'test': 1}]
     f = ArrayField(max_items=2)
     with self.assertRaises(ValidationError):
         f.clean(json.dumps(test_data))
Esempio n. 6
0
 def test_items_invalid(self):
     test_data = [{'test': 1}, {'test': 0}]
     f = ArrayField(item_schema=JsonFieldTest.TEST_SCHEMA)
     with self.assertRaises(ValidationError):
         f.clean(json.dumps(test_data))
Esempio n. 7
0
 def test_min_items_invalid(self):
     test_data = []
     f = ArrayField(min_items=1)
     with self.assertRaises(ValidationError):
         f.clean(json.dumps(test_data))
Esempio n. 8
0
 def test_items_valid(self):
     test_data = [{'test': 1}, {'test': 2}]
     f = ArrayField(item_schema=JsonFieldTest.TEST_SCHEMA)
     self.assertListEqual(test_data, f.clean(json.dumps(test_data)))
Esempio n. 9
0
 def test_comma_separated(self):
     f = ArrayField()
     self.assertListEqual(['1', '2', '3'], f.clean('1,2,3'))
Esempio n. 10
0
 def test_json_invalid(self):
     f = ArrayField()
     with self.assertRaises(ValidationError):
         f.clean('[1,2,3')
Esempio n. 11
0
 def test_json_object(self):
     f = ArrayField()
     with self.assertRaises(ValidationError):
         f.clean('{}')
Esempio n. 12
0
 def test_json_valid(self):
     f = ArrayField()
     self.assertListEqual([1, 2, 3], f.clean('[1, 2, 3]'))