示例#1
0
    def test_incoming_required_and_present(self):
        ctx = mock_context()
        source_dict = {"foo": 20}

        class TargetObject:
            foo = 0

        target_object = TargetObject()
        field = AttributeField("foo", type=int)

        field.handle_incoming(ctx, source_dict, target_object)
        self.assertEqual(target_object.foo, 20)
示例#2
0
    def test_incoming_optional_and_missing(self):
        ctx = mock_context()
        source_dict = {"foo": 20}

        class TargetObject:
            foo = 0

        target_object = TargetObject()
        field = AttributeField("bar", type=int, optional=True)

        field.handle_incoming(ctx, source_dict, target_object)
        self.assertEqual(target_object.foo, 0)
示例#3
0
    def test_incoming_required_and_missing(self):
        ctx = mock_context()
        source_dict = {"foo": 20}

        class TargetObject:
            foo = 0

        target_object = TargetObject()
        field = AttributeField("bar", type=int)

        with self.assertRaises(ValidationError):
            field.handle_incoming(ctx, source_dict, target_object)
        self.assertEqual(target_object.foo, 0)
示例#4
0
    def test_incoming_optional_and_missing(self):
        ctx = mock_context()
        source_dict = {
            'foo': 20
        }

        class TargetObject:
            foo = 0
        target_object = TargetObject()
        field = AttributeField('bar', type=int, optional=True)

        field.handle_incoming(ctx, source_dict, target_object)
        self.assertEqual(target_object.foo, 0)
示例#5
0
    def test_incoming_required_and_present(self):
        ctx = mock_context()
        source_dict = {
            'foo': 20
        }

        class TargetObject:
            foo = 0
        target_object = TargetObject()
        field = AttributeField('foo', type=int)

        field.handle_incoming(ctx, source_dict, target_object)
        self.assertEqual(target_object.foo, 20)
示例#6
0
    def test_incoming_required_and_missing(self):
        ctx = mock_context()
        source_dict = {
            'foo': 20
        }

        class TargetObject:
            foo = 0
        target_object = TargetObject()
        field = AttributeField('bar', type=int)

        with self.assertRaises(ValidationError):
            field.handle_incoming(ctx, source_dict, target_object)
        self.assertEqual(target_object.foo, 0)
示例#7
0
 class MockResource(ModelResource):
     model_class = Mock()
     fields = [
         AttributeField(attribute='bar', type=int),
     ]