Skip to content

Commit 8b25997

Browse files
committed
start implementing test for solver function
1 parent 2191ac7 commit 8b25997

File tree

2 files changed

+179
-49
lines changed

2 files changed

+179
-49
lines changed

services/api-server/tests/unit/api_functions/conftest.py

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@
2626
RegisteredProjectFunction,
2727
RegisteredProjectFunctionJob,
2828
)
29-
from models_library.functions import RegisteredFunctionJobCollection
29+
from models_library.functions import (
30+
RegisteredFunctionJobCollection,
31+
RegisteredSolverFunction,
32+
)
3033
from models_library.functions_errors import FunctionIDNotFoundError
3134
from models_library.projects import ProjectID
3235
from pytest_mock import MockerFixture
@@ -119,7 +122,7 @@ def mock_function(
119122

120123

121124
@pytest.fixture
122-
def mock_registered_function(mock_function: Function) -> RegisteredFunction:
125+
def mock_registered_project_function(mock_function: Function) -> RegisteredFunction:
123126
return RegisteredProjectFunction(
124127
**{
125128
**mock_function.dict(),
@@ -130,9 +133,33 @@ def mock_registered_function(mock_function: Function) -> RegisteredFunction:
130133

131134

132135
@pytest.fixture
133-
def mock_function_job(mock_registered_function: RegisteredFunction) -> FunctionJob:
136+
def mock_registered_solver_function(
137+
mock_function: Function,
138+
sample_input_schema: JSONFunctionInputSchema,
139+
sample_output_schema: JSONFunctionOutputSchema,
140+
) -> RegisteredFunction:
141+
return RegisteredSolverFunction(
142+
**{
143+
"title": "test_function",
144+
"function_class": FunctionClass.SOLVER,
145+
"description": "A test function",
146+
"input_schema": sample_input_schema,
147+
"output_schema": sample_output_schema,
148+
"default_inputs": None,
149+
"uid": str(uuid4()),
150+
"created_at": datetime.datetime.now(datetime.UTC),
151+
"solver_key": "simcore/services/comp/ans-model",
152+
"solver_version": "1.0.1",
153+
}
154+
)
155+
156+
157+
@pytest.fixture
158+
def mock_function_job(
159+
mock_registered_project_function: RegisteredFunction,
160+
) -> FunctionJob:
134161
mock_function_job = {
135-
"function_uid": mock_registered_function.uid,
162+
"function_uid": mock_registered_project_function.uid,
136163
"title": "Test Function Job",
137164
"description": "A test function job",
138165
"inputs": {"key": "value"},

0 commit comments

Comments
 (0)