def test_runOperation(self): """ You can run a query """ mock = MagicMock() mock.runOperation = MagicMock(return_value=defer.succeed('success')) pool = ConnectionPool() pool.add(mock) d = pool.runOperation('my query') self.assertEqual(self.successResultOf(d), 'success') mock.runOperation.assert_called_once_with('my query')
def test_returnToPool(self): """ After a successful query, interaction or operation, the connection should be returned to the pool """ mock = MagicMock() mock.runInteraction = MagicMock(return_value=defer.fail(Exception('foo'))) mock.runQuery = MagicMock(return_value=defer.succeed('something')) mock.runOperation = MagicMock(return_value=defer.succeed('success')) pool = ConnectionPool() pool.add(mock) d = pool.runQuery('query') self.assertEqual(self.successResultOf(d), 'something') d = pool.runOperation('operation') self.assertEqual(self.successResultOf(d), 'success') d = pool.runInteraction('interaction') self.assertIsInstance(self.failureResultOf(d).value, Exception)