Beispiel #1
0
    def test_starts_unsuccessful_worker(self, database: Database) -> None:
        """Test start of unsuccessful worker."""
        mocked_worker_pool: MagicMock = MagicMock()
        mocked_worker_pool.start.return_value = False
        database._worker_pool = mocked_worker_pool
        result: bool = database.start_worker()

        mocked_worker_pool.start.assert_called_once()
        assert type(result) is bool
        assert not result
Beispiel #2
0
    def test_closes_unsuccessful_worker(self, database: Database) -> None:
        """Test unsuccessful close of worker."""
        mocked_worker_pool: MagicMock = MagicMock()
        mocked_worker_pool.close.return_value = False
        database._worker_pool = mocked_worker_pool
        result: bool = database.close_worker()

        mocked_worker_pool.close.assert_called_once()
        assert type(result) is bool
        assert not result
Beispiel #3
0
    def test_gets_worker_pool_status(self, database: Database) -> None:
        """Test return of worker pool status."""
        mocked_worker_pool: MagicMock = MagicMock()
        mocked_worker_pool.get_status.return_value = "running"
        database._worker_pool = mocked_worker_pool

        result: str = database.get_worker_pool_status()

        assert type(result) is str
        assert result == "running"
Beispiel #4
0
    def test_gets_worker_pool_queue_length(self, database: Database) -> None:
        """Test return of queue length from worker pool."""
        mocked_worker_pool: MagicMock = MagicMock()
        mocked_worker_pool.get_queue_length.return_value = 42
        database._worker_pool = mocked_worker_pool

        result: int = database.get_queue_length()

        assert type(result) is int
        assert result == 42
Beispiel #5
0
    def test_deletes_data_while_worker_pool_is_running(
            self, database: Database) -> None:
        """Test delete of  data while worker pool is running."""
        mocked_worker_pool: MagicMock = MagicMock()
        mocked_worker_pool.get_status.return_value = "running"
        mocked_background_scheduler: MagicMock = MagicMock()
        mocked_background_scheduler.delete_tables.return_value = True

        database._worker_pool = mocked_worker_pool
        database._background_scheduler = mocked_background_scheduler

        result: bool = database.delete_data(default_tables)

        mocked_worker_pool.get_status.assert_called_once()
        mocked_background_scheduler.delete_tables.assert_not_called()
        assert type(result) is bool
        assert not result
Beispiel #6
0
    def test_closes_database(self, database: Database) -> None:
        """Test closing of database."""
        mocked_worker_pool: MagicMock = MagicMock()
        mocked_worker_pool.terminate.return_value = None
        mocked_background_scheduler: MagicMock = MagicMock()
        mocked_background_scheduler.close.return_value = None
        mocked_connection_pool: MagicMock = MagicMock()
        mocked_connection_pool.closeall.return_value = None

        database._worker_pool = mocked_worker_pool
        database._background_scheduler = mocked_background_scheduler
        database._connection_pool = mocked_connection_pool

        database.close()

        mocked_worker_pool.terminate.assert_called_once()
        mocked_background_scheduler.close.assert_called_once()
        mocked_connection_pool.closeall.assert_called_once()
Beispiel #7
0
    def test_deletes_data_while_worker_pool_is_closed_and_load_table_is_successful(
            self, database: Database) -> None:
        """Test delete of data while worker pool is closed and background scheduler is returning true."""
        mocked_worker_pool: MagicMock = MagicMock()
        mocked_worker_pool.get_status.return_value = "closed"
        mocked_background_scheduler: MagicMock = MagicMock()
        mocked_background_scheduler.delete_tables.return_value = True

        database._worker_pool = mocked_worker_pool
        database._background_scheduler = mocked_background_scheduler

        result: bool = database.delete_data(default_tables)

        mocked_worker_pool.get_status.assert_called_once()
        mocked_background_scheduler.delete_tables.assert_called_once_with(
            default_tables)
        assert type(result) is bool
        assert result
Beispiel #8
0
    def test_loads_data_while_worker_pool_is_closed_and_load_table_failed(
            self, database: Database) -> None:
        """Test loading data while worker pool is running."""
        mocked_worker_pool: MagicMock = MagicMock()
        mocked_worker_pool.get_status.return_value = "closed"
        mocked_background_scheduler: MagicMock = MagicMock()
        mocked_background_scheduler.load_tables.return_value = False

        database._worker_pool = mocked_worker_pool
        database._background_scheduler = mocked_background_scheduler

        result: bool = database.load_data(default_tables)

        mocked_worker_pool.get_status.assert_called_once()
        mocked_background_scheduler.load_tables.assert_called_once_with(
            default_tables)
        assert type(result) is bool
        assert not result