Exemple #1
0
    def test_get_value_returns_empty_value(self):
        class FakeModelSerializer(object):
            partial = True
            parent = None

        instance = fields.ListField(child=fields.IntegerField())
        instance.bind('test', FakeModelSerializer())
        self.assertEqual(instance.get_value({'key': [1, 2, 3]}), empty)
Exemple #2
0
 def test_set_context_function_not_add_context_for_default(self):
     instance = fields.CreateOnlyDefault(self.FakeDefault)
     fake_parent = type('FakeParent', (), {'instance': object()})
     serializer_field = fields.IntegerField()
     serializer_field.bind('pk', fake_parent)
     instance.set_context(serializer_field)
     self.assertTrue(instance.is_update)
     self.assertFalse(hasattr(serializer_field, 'test_attr'))
Exemple #3
0
 def test_to_internal_value_for_integer_list(self):
     instance = fields.ListField(child=fields.IntegerField())
     self.assertEqual(instance.to_internal_value([1, 2, 3]), [1, 2, 3])
Exemple #4
0
 def test_to_internal_value_empty_list(self):
     instance = fields.ListField(child=fields.IntegerField())
     self.assertEqual(instance.to_internal_value([]), [])
Exemple #5
0
    def test_to_internal_value_raises_not_implemented_error(self):
        instance = fields.ModelField(fields.IntegerField())

        with self.assertRaises(NotImplementedError):
            instance.to_internal_value(10)
class FakeModelSerializer(serializers.ModelSerializer):
    child = None
    fields = {'pk': fields.IntegerField()}
Exemple #7
0
 def test_to_representation_for_string_list(self):
     instance = fields.ListField(child=fields.IntegerField())
     self.assertEqual(instance.to_representation(['1', '2', '3']),
                      [1, 2, 3])
Exemple #8
0
    def test_to_internal_value_raises_validation_error_for_empty_list(self):
        instance = fields.ListField(child=fields.IntegerField(),
                                    allow_empty=False)

        with self.assertRaises(ValidationError):
            instance.to_internal_value([])
Exemple #9
0
    def test_to_internal_value_raises_validate_exception(self):
        instance = fields.IntegerField()

        with self.assertRaises(ValidationError):
            instance.to_internal_value('object')
Exemple #10
0
    def test_to_internal_value_raises_max_string_length_exception(self):
        instance = fields.IntegerField()

        with self.assertRaises(ValidationError):
            data = 'value' * 250
            instance.to_internal_value(data)
Exemple #11
0
 def test_to_internal_value(self):
     instance = fields.IntegerField()
     self.assertEqual(instance.to_internal_value(1), 1)
Exemple #12
0
 def test_init_with_min_and_max_values(self):
     instance = fields.IntegerField(min_value=1, max_value=10)
     self.assertEqual(instance.min_value, 1)
     self.assertEqual(instance.max_value, 10)
Exemple #13
0
 def test_init_with_max_value(self):
     instance = fields.IntegerField(max_value=10)
     self.assertIsNone(instance.min_value)
     self.assertEqual(instance.max_value, 10)
Exemple #14
0
 def test_init_without_borders(self):
     instance = fields.IntegerField()
     self.assertIsNone(instance.max_value)
     self.assertIsNone(instance.min_value)
Exemple #15
0
    def test_to_representation_raises_not_implemented_error(self):
        instance = fields.ModelField(fields.IntegerField())

        with self.assertRaises(NotImplementedError):
            instance.to_representation(10)
Exemple #16
0
 def test_to_internal_value_for_list_with_integer_as_a_string(self):
     instance = fields.ListField(child=fields.IntegerField())
     self.assertEqual(instance.to_internal_value(['1', '2', '3']),
                      [1, 2, 3])
Exemple #17
0
    def test_to_internal_value_raises_validation_error_for_wrong_value(self):
        instance = fields.ListField(child=fields.IntegerField())

        with self.assertRaises(ValidationError):
            instance.to_internal_value([1, 2, 'error'])
Exemple #18
0
 def test_to_to_representation(self):
     instance = fields.IntegerField()
     self.assertEqual(instance.to_representation('1'), 1)
Exemple #19
0
 def test_to_representation(self):
     instance = fields.ListField(child=fields.IntegerField())
     self.assertEqual(instance.to_representation([1, 2, 3]), [1, 2, 3])
Exemple #20
0
    def test_init_raises_assertion_error_for_child_without_source(self):

        with self.assertRaises(AssertionError):
            fields.ListField(child=fields.IntegerField(source='value'))
@pytest.mark.parametrize(
    "value, expected",
    [("test_string", "test_string"),
     (["value_1", "value_2"], "['value_1', 'value_2']"),
     ({
         "key": "value"
     }, "{'key': 'value'}"),
     (FakeView(), "<tests.fixtures.fakes.FakeView object>")])
def test_smart_repr(value, expected):
    assert smart_repr(value) == expected


@pytest.mark.parametrize(
    "field, many, expected",
    [(fields.IntegerField(), False, 'IntegerField()'),
     (fields.LargeBinaryField(object, allow_null=True), False,
      "LargeBinaryField(<class 'object'>, allow_null=True)"),
     (FakePkField(many=True, read_only=True), True,
      "bool(child_relation=<utils.test_representation.FakePkField object>, "
      "many=True, read_only=True)")])
def test_field_repr(field, many, expected):
    assert field_repr(field, force_many=many) == expected


@pytest.mark.parametrize("serializer, indent, force_many, expected", [
    (FakeModelSerializer(), 1, False, "FakeModelSerializer():\n"
     "    pk = IntegerField()"),
    (FakeNestedModelSerializer(), 1, False, "FakeNestedModelSerializer():\n"
     "    nested = FakeModelSerializer():\n"
     "        pk = IntegerField()"),
Exemple #22
0
 def test_get_value(self):
     instance = fields.ListField(child=fields.IntegerField())
     instance.bind('test', None)
     self.assertEqual(instance.get_value({'test': [1, 2, 3]}), [1, 2, 3])
class FakeModelSerializerWithValidators(serializers.ModelSerializer):
    child = None
    fields = {'pk': fields.IntegerField()}
    validators = [
        BaseValidator,
    ]
Exemple #24
0
 def test_get_attribute(self):
     instance = fields.ModelField(fields.IntegerField())
     self.assertEqual(instance.get_attribute(10), 10)