def test_get_session_exception(self, mock_client, mock_create_new_session, mock_bounded_semaphore, mock_atomic_integer): mock_client.return_value = mock_client mock_client.max_pool_connections = DEFAULT_MAX_CONCURRENT_TRANSACTIONS error = KeyError() mock_create_new_session.side_effect = error qldb_driver = QldbDriver(MOCK_LEDGER_NAME) with self.assertRaises(ExecuteError) as cm: qldb_driver._get_session(False) assert_execute_error(self, cm.exception, error, True, True, None) mock_bounded_semaphore().release.assert_called_once_with() mock_atomic_integer().increment.assert_called_once_with()
def test_get_session_new_session(self, mock_client, mock_qldb_session, mock_bounded_semaphore, mock_atomic_integer, mock_create_new_session): mock_client.return_value = mock_client mock_client.max_pool_connections = DEFAULT_MAX_CONCURRENT_TRANSACTIONS mock_create_new_session.return_value = mock_qldb_session qldb_driver = QldbDriver(MOCK_LEDGER_NAME) session = qldb_driver._get_session(True) mock_bounded_semaphore().acquire.assert_called_once_with( timeout=DEFAULT_TIMEOUT_SECONDS) mock_atomic_integer().decrement.assert_called_once_with() mock_create_new_session.assert_called_once_with() self.assertEqual(session, mock_qldb_session)
def test_get_session_existing_session( self, mock_client, mock_session_start_session, mock_qldb_session, mock_release_session, mock_bounded_semaphore, mock_atomic_integer, mock_logger_debug): mock_session_start_session.return_value = mock_session_start_session mock_qldb_session.return_value = mock_qldb_session mock_client.return_value = mock_client mock_client.max_pool_connections = DEFAULT_MAX_CONCURRENT_TRANSACTIONS qldb_driver = QldbDriver(MOCK_LEDGER_NAME) qldb_driver._pool = Queue() qldb_driver._pool.put(mock_qldb_session) session = qldb_driver._get_session() self.assertEqual(session, mock_qldb_session) mock_bounded_semaphore().acquire.assert_called_once_with( timeout=DEFAULT_TIMEOUT_SECONDS) mock_atomic_integer().decrement.assert_called_once_with() self.assertEqual(mock_logger_debug.call_count, 2)