예제 #1
0
    def test_rollback_exception(self, name, has_post):
        model = MagicMock()

        post_action = None
        if has_post:
            post_action = MagicMock()

        rollback.os = MagicMock()

        def called_method(ref):
            ref.rollback_logger['files'].append('/home/test/testfile.pdf')
            ref.rollback_logger['models'].append(model)
            raise ValueError('Value error')

        wrap = rollback.rollback(post_action=post_action)
        wrapper = wrap(called_method)

        wrapper_ref = MagicMock()
        error = False
        try:
            wrapper(wrapper_ref)
        except ValueError as e:
            error = True
            self.assertEquals('Value error', unicode(e))

        self.assertTrue(error)
        rollback.os.remove.assert_called_once_with('/home/test/testfile.pdf')
        model.delete.assert_called_once_with()

        if has_post:
            post_action.assert_called_once_with(wrapper_ref)
    def test_rollback_exception(self, name, has_post):
        model = MagicMock()

        post_action = None
        if has_post:
            post_action = MagicMock()

        rollback.os = MagicMock()

        def called_method(ref):
            ref.rollback_logger['files'].append('/home/test/testfile.pdf')
            ref.rollback_logger['models'].append(model)
            raise ValueError('Value error')

        wrap = rollback.rollback(post_action=post_action)
        wrapper = wrap(called_method)

        error = False
        try:
            wrapper(MagicMock())
        except ValueError as e:
            error = True
            self.assertEquals('Value error', unicode(e))

        self.assertTrue(error)
        rollback.os.remove.assert_called_once_with('/home/test/testfile.pdf')
        model.delete.assert_called_once_with()

        if has_post:
            post_action.assert_called_once_with()
예제 #3
0
    def test_rollback_correct(self):
        called_method = MagicMock()
        called_method.return_value = 'Returned'

        wrap = rollback.rollback()
        wrapper = wrap(called_method)

        ref = MagicMock()

        value = wrapper(ref, 'value')

        called_method.assert_called_once_with(ref, 'value')
        self.assertEquals('Returned', value)
        self.assertEquals({'files': [], 'models': []}, ref.rollback_logger)
    def test_rollback_correct(self):
        called_method = MagicMock()
        called_method.return_value = 'Returned'

        wrap = rollback.rollback()
        wrapper = wrap(called_method)

        ref = MagicMock()

        value = wrapper(ref, 'value')

        called_method.assert_called_once_with(ref, 'value')
        self.assertEquals('Returned', value)
        self.assertEquals({
            'files': [],
            'models': []
        }, ref.rollback_logger)