Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: get pipeline files #177

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from
Prev Previous commit
Next Next commit
tests: pipeline service
  • Loading branch information
ArzelaAscoIi committed Apr 14, 2024
commit 70de75fb33a7338f5dbefe6f61b092ba245c99ce
2 changes: 1 addition & 1 deletion deepset_cloud_sdk/_api/pipelines.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def __init__(self, deepset_cloud_api: DeepsetCloudAPI) -> None:
"""
self._deepset_cloud_api = deepset_cloud_api

async def get_pipeline_files(
async def get_pipeline_file_ids(
self, pipeline_name: str, workspace_name: str, status: FileIndexingStatus = FileIndexingStatus.FAILED
) -> List[UUID]:
"""Get file ids that failed or did not create documents during indexing.
Expand Down
2 changes: 1 addition & 1 deletion deepset_cloud_sdk/_service/pipeline_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ async def factory(cls, config: CommonConfig) -> AsyncGenerator[PipelinesService,
async def get_pipeline_file_ids(
self, pipeline_name: str, workspace_name: str, status: FileIndexingStatus = FileIndexingStatus.FAILED
) -> List[UUID]:
return await self._pipelines.get_pipeline_files(
return await self._pipelines.get_pipeline_file_ids(
pipeline_name=pipeline_name, workspace_name=workspace_name, status=status
)
6 changes: 6 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from uuid import uuid4

import httpx
from deepset_cloud_sdk._api.pipelines import PipelinesAPI
import pytest
import structlog
from dotenv import load_dotenv
Expand Down Expand Up @@ -71,6 +72,11 @@ def mocked_upload_sessions_api() -> Mock:
return Mock(spec=UploadSessionsAPI)


@pytest.fixture
def mocked_pipelines() -> Mock:
return Mock(spec=PipelinesAPI)


@pytest.fixture
def mocked_files_api() -> Mock:
return Mock(spec=FilesAPI)
Expand Down
42 changes: 42 additions & 0 deletions tests/unit/service/test_pipelines_service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
from unittest.mock import AsyncMock, Mock
from uuid import UUID

from deepset_cloud_sdk._api.pipelines import FileIndexingStatus
from deepset_cloud_sdk._service.pipeline_service import PipelinesService
import pytest

from deepset_cloud_sdk._api.config import CommonConfig


@pytest.fixture
def pipelines_service(mocked_pipelines: Mock) -> PipelinesService:
return PipelinesService(pipelines=mocked_pipelines)


@pytest.mark.asyncio
class TestUtilsPipelinesService:
async def test_factory(self, unit_config: CommonConfig) -> None:
async with PipelinesService.factory(unit_config) as pipelines_service:
assert isinstance(pipelines_service, PipelinesService)


@pytest.mark.asyncio
class TestGetFileIds:
async def test_get_file_ids(
self,
mocked_pipelines: Mock,
pipeline_service: PipelinesService,
) -> None:
mocked_pipelines.get_pipeline_file_ids = AsyncMock(return_value=[UUID("cd16435f-f6eb-423f-bf6f-994dc8a36a10")])
returned_file_ids = await pipeline_service.get_pipeline_file_ids(
workspace_name="test_workspace",
pipeline_name="test_pipeline",
status=FileIndexingStatus.INDEXED_NO_DOCUMENTS,
)
assert returned_file_ids == [UUID("cd16435f-f6eb-423f-bf6f-994dc8a36a10")], "Unexpected file ids"

mocked_pipelines.get_pipeline_file_ids.assert_called_once_with(
pipeline_name="test_pipeline",
workspace_name="test_workspace",
status=FileIndexingStatus.INDEXED_NO_DOCUMENTS,
)