Ejemplo 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)
Ejemplo 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([])
Ejemplo 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))
Ejemplo 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)))
Ejemplo 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))
Ejemplo 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))
Ejemplo 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))
Ejemplo 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)))
Ejemplo n.º 9
0
 def test_comma_separated(self):
     f = ArrayField()
     self.assertListEqual(['1', '2', '3'], f.clean('1,2,3'))
Ejemplo n.º 10
0
 def test_json_invalid(self):
     f = ArrayField()
     with self.assertRaises(ValidationError):
         f.clean('[1,2,3')
Ejemplo n.º 11
0
 def test_json_object(self):
     f = ArrayField()
     with self.assertRaises(ValidationError):
         f.clean('{}')
Ejemplo n.º 12
0
 def test_json_valid(self):
     f = ArrayField()
     self.assertListEqual([1, 2, 3], f.clean('[1, 2, 3]'))