Skip to content

Commit 3202cab

Browse files
committed
test: added missing test for processing service
1 parent 0d65055 commit 3202cab

File tree

3 files changed

+51
-1
lines changed

3 files changed

+51
-1
lines changed

tests/conftest.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from app.database.models.upscaling_task import UpscalingTaskRecord
1414
from app.main import app
1515
from app.schemas.enum import OutputFormatEnum, ProcessingStatusEnum, ProcessTypeEnum
16+
from app.schemas.parameters import ParamRequest, ParamTypeEnum, Parameter
1617
from app.schemas.unit_job import (
1718
BaseJobRequest,
1819
ProcessingJob,
@@ -198,3 +199,28 @@ def fake_sync_response():
198199
media_type="application/json",
199200
status_code=200,
200201
)
202+
203+
204+
@pytest.fixture
205+
def fake_param_request():
206+
return ParamRequest(
207+
label=ProcessTypeEnum.OPENEO,
208+
service=ServiceDetails(endpoint="foo", application="bar"),
209+
)
210+
211+
@pytest.fixture
212+
def fake_parameter_result():
213+
return [
214+
Parameter(
215+
name="spatial_extent",
216+
type=ParamTypeEnum.BOUNDING_BOX,
217+
optional=True,
218+
description="Spatial extent parameter",
219+
),
220+
Parameter(
221+
name="temporal_extent",
222+
type=ParamTypeEnum.DATE_INTERVAL,
223+
optional=True,
224+
description="Temporal extent parameter",
225+
),
226+
]

tests/platforms/test_dispatcher.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from stac_pydantic import Collection
1111

12-
from tests.conftest import fake_sync_response
12+
from tests.conftest import fake_parameter_result, fake_sync_response
1313

1414

1515
class DummyPlatform(BaseProcessingPlatform):
@@ -30,6 +30,9 @@ def get_job_status(self, job_id, details):
3030

3131
def get_job_results(self, job_id, details):
3232
return self.fake_result
33+
34+
def get_service_parameters(self, user_token, details):
35+
return fake_parameter_result()
3336

3437

3538
@pytest.fixture(autouse=True)

tests/services/test_processing.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
get_job_status,
1919
get_processing_job_by_user_id,
2020
get_processing_jobs_by_user_id,
21+
retrieve_service_parameters,
2122
)
2223

2324

@@ -534,3 +535,23 @@ async def test_create_sync_job_calls_platform_execute_failure(
534535
parameters=fake_processing_job_request.parameters,
535536
format=fake_processing_job_request.format,
536537
)
538+
539+
540+
@pytest.mark.asyncio
541+
@patch("app.services.processing.get_processing_platform")
542+
async def test_retrieve_service_parameters_success(
543+
mock_get_platform, fake_parameter_result, fake_param_request
544+
):
545+
546+
fake_platform = MagicMock()
547+
fake_platform.get_service_parameters = AsyncMock(return_value=fake_parameter_result)
548+
mock_get_platform.return_value = fake_platform
549+
550+
result = await retrieve_service_parameters("foobar-token", fake_param_request)
551+
552+
mock_get_platform.assert_called_once_with(fake_param_request.label)
553+
fake_platform.get_service_parameters.assert_called_once_with(
554+
user_token="foobar-token",
555+
details=fake_param_request.service,
556+
)
557+
assert result == fake_parameter_result

0 commit comments

Comments
 (0)