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)
Ejemplo n.º 3
0
    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)