Skip to content

Commit c1660c6

Browse files
committed
Fix gh action tests
1 parent 7e74a60 commit c1660c6

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

packages/service-library/src/servicelib/rabbitmq/rpc_interfaces/webserver/functions/functions_rpc_interface.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
from typing import get_origin
23

34
from models_library.api_schemas_webserver import (
45
WEBSERVER_RPC_NAMESPACE,
@@ -37,7 +38,7 @@ async def register_function(
3738
TypeAdapter(RPCMethodName).validate_python("register_function"),
3839
function=function,
3940
)
40-
assert isinstance(result, Function) # nosec
41+
assert isinstance(result, get_origin(Function) or Function) # nosec
4142
return result
4243

4344

@@ -52,7 +53,7 @@ async def get_function(
5253
TypeAdapter(RPCMethodName).validate_python("get_function"),
5354
function_id=function_id,
5455
)
55-
assert isinstance(result, Function) # nosec
56+
assert isinstance(result, get_origin(Function) or Function) # nosec
5657
return result
5758

5859

@@ -117,8 +118,9 @@ async def list_functions(
117118
)
118119
)
119120
assert isinstance(result, tuple)
120-
assert len(result) == 2 # nosec
121121
assert isinstance(result[0], list) # nosec
122+
assert isinstance(result[1], PageMetaInfoLimitOffset) # nosec
123+
return result
122124

123125

124126
@log_decorator(_logger, level=logging.DEBUG)
@@ -137,7 +139,6 @@ async def list_function_jobs(
137139
)
138140
)
139141
assert isinstance(result, tuple)
140-
assert len(result) == 2 # nosec
141142
assert isinstance(result[0], list) # nosec
142143
assert isinstance(result[1], PageMetaInfoLimitOffset) # nosec
143144
return result
@@ -159,7 +160,6 @@ async def list_function_job_collections(
159160
)
160161
)
161162
assert isinstance(result, tuple)
162-
assert len(result) == 2 # nosec
163163
assert isinstance(result[0], list) # nosec
164164
assert isinstance(result[1], PageMetaInfoLimitOffset) # nosec
165165
return result
@@ -178,7 +178,7 @@ async def run_function(
178178
function_id=function_id,
179179
inputs=inputs,
180180
)
181-
assert isinstance(result, FunctionJob) # nosec
181+
assert isinstance(result, get_origin(FunctionJob) or FunctionJob) # nosec
182182
return result
183183

184184

@@ -193,7 +193,7 @@ async def register_function_job(
193193
TypeAdapter(RPCMethodName).validate_python("register_function_job"),
194194
function_job=function_job,
195195
)
196-
assert isinstance(result, FunctionJob) # nosec
196+
assert isinstance(result, get_origin(FunctionJob) or FunctionJob) # nosec
197197
return result
198198

199199

@@ -208,7 +208,7 @@ async def get_function_job(
208208
TypeAdapter(RPCMethodName).validate_python("get_function_job"),
209209
function_job_id=function_job_id,
210210
)
211-
assert isinstance(result, FunctionJob) # nosec
211+
assert isinstance(result, get_origin(FunctionJob) or FunctionJob) # nosec
212212
return result
213213

214214

@@ -242,7 +242,7 @@ async def find_cached_function_job(
242242
)
243243
if result is None:
244244
return None
245-
assert isinstance(result, FunctionJob) # nosec
245+
assert isinstance(result, get_origin(FunctionJob) or FunctionJob) # nosec
246246
return result
247247

248248

services/api-server/src/simcore_service_api_server/api/routes/functions_routes.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,10 +201,10 @@ async def validate_function_inputs(
201201
):
202202
function = await wb_api_rpc.get_function(function_id=function_id)
203203

204-
if function.input_schema is None:
204+
if function.input_schema is None or function.input_schema.schema_dict is None:
205205
return True, "No input schema defined for this function"
206206
try:
207-
jsonschema.validate(instance=inputs, schema=function.input_schema.schema_dict) # type: ignore
207+
jsonschema.validate(instance=inputs, schema=function.input_schema.schema_dict)
208208
except ValidationError as err:
209209
return False, str(err)
210210
return True, "Inputs are valid"
@@ -421,7 +421,7 @@ async def function_job_status(
421421
):
422422
job_status = await studies_jobs.inspect_study_job(
423423
study_id=function.project_id,
424-
job_id=function_job.project_job_id, # type: ignore
424+
job_id=function_job.project_job_id,
425425
user_id=user_id,
426426
director2_api=director2_api,
427427
)
@@ -466,7 +466,7 @@ async def function_job_outputs(
466466
):
467467
job_outputs = await studies_jobs.get_study_job_outputs(
468468
study_id=function.project_id,
469-
job_id=function_job.project_job_id, # type: ignore
469+
job_id=function_job.project_job_id,
470470
user_id=user_id,
471471
webserver_api=webserver_api,
472472
storage_client=storage_client,
@@ -539,7 +539,11 @@ async def map_function( # noqa: PLR0913
539539
uid=None,
540540
title="Function job collection of function map",
541541
description=function_job_collection_description,
542-
job_ids=[function_job.uid for function_job in function_jobs], # type: ignore
542+
job_ids=[
543+
function_job.uid
544+
for function_job in function_jobs
545+
if function_job.uid is not None
546+
],
543547
),
544548
)
545549

0 commit comments

Comments
 (0)