Exemple #1
0
    def test_runInteraction_error(self):
        """
        If there's an error in the interaction, do a rollback
        """
        db = sqlite3.connect(':memory:')
        mock = create_autospec(db)
        runner = BlockingRunner(mock)

        def interaction(cursor):
            raise Exception('foo')


        def check(result):
            mock.rollback.assert_called_once_with()


        d = runner.runInteraction(interaction)
        return d.addErrback(check)
Exemple #2
0
    def test_runInteraction(self):
        """
        Should call the function with an instance of cursorFactory
        """
        db = sqlite3.connect(':memory:')
        mock = create_autospec(db)
        runner = BlockingRunner(mock)

        def interaction(cursor, *args, **kwargs):
            self.assertTrue(isinstance(cursor, BlockingCursor))
            self.assertEqual(args, (1,2,3))
            self.assertEqual(kwargs, {'foo': 'bar'})
            return 'result'

        def check(result):
            self.assertEqual(result, 'result')
            mock.commit.assert_called_once_with()

        d = runner.runInteraction(interaction, 1, 2, 3, foo='bar')
        return d.addCallback(check)