Skip to content

Commit faf78d4

Browse files
committed
Add 2 extra function rpc tests
1 parent cb78209 commit faf78d4

File tree

1 file changed

+64
-3
lines changed

1 file changed

+64
-3
lines changed

services/web/server/tests/unit/with_dbs/04/functions_rpc/test_function_jobs_controller_rpc.py

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
ProjectFunction,
1212
ProjectFunctionJob,
1313
)
14-
from models_library.functions import FunctionJobStatus
14+
from models_library.functions import FunctionJobCollection, FunctionJobStatus
1515
from models_library.functions_errors import (
1616
FunctionJobIDNotFoundError,
1717
FunctionJobReadAccessDeniedError,
@@ -211,7 +211,7 @@ async def test_list_function_jobs(
211211
"user_role",
212212
[UserRole.USER],
213213
)
214-
async def test_list_function_jobs_for_functionid(
214+
async def test_list_function_jobs_filtering(
215215
client: TestClient,
216216
rpc_client: RabbitMQRPCClient,
217217
mock_function: ProjectFunction,
@@ -273,6 +273,19 @@ async def test_list_function_jobs_for_functionid(
273273
)
274274
)
275275

276+
function_job_collection = await functions_rpc.register_function_job_collection(
277+
rabbitmq_rpc_client=rpc_client,
278+
function_job_collection=FunctionJobCollection(
279+
job_ids=[
280+
job.uid
281+
for job in first_registered_function_jobs[1:2]
282+
+ second_registered_function_jobs[0:1]
283+
]
284+
),
285+
user_id=logged_user["id"],
286+
product_name=osparc_product_name,
287+
)
288+
276289
# List function jobs for a specific function ID
277290
jobs, _ = await functions_rpc.list_function_jobs(
278291
rabbitmq_rpc_client=rpc_client,
@@ -284,10 +297,58 @@ async def test_list_function_jobs_for_functionid(
284297
)
285298

286299
# Assert the list contains the registered job
287-
assert len(jobs) > 0
288300
assert len(jobs) == 3
289301
assert all(j.function_uid == first_registered_function.uid for j in jobs)
290302

303+
# List function jobs for a specific function job IDs
304+
jobs, _ = await functions_rpc.list_function_jobs(
305+
rabbitmq_rpc_client=rpc_client,
306+
pagination_limit=10,
307+
pagination_offset=0,
308+
filter_by_function_job_ids=[
309+
job.uid
310+
for job in first_registered_function_jobs[0:1]
311+
+ second_registered_function_jobs[1:2]
312+
],
313+
user_id=logged_user["id"],
314+
product_name=osparc_product_name,
315+
)
316+
317+
# Assert the list contains the registered job
318+
assert len(jobs) == 2
319+
assert jobs[0].uid == first_registered_function_jobs[0].uid
320+
assert jobs[1].uid == second_registered_function_jobs[1].uid
321+
322+
# List function jobs for a specific function job collection
323+
jobs, _ = await functions_rpc.list_function_jobs(
324+
rabbitmq_rpc_client=rpc_client,
325+
pagination_limit=10,
326+
pagination_offset=0,
327+
filter_by_function_job_collection_id=function_job_collection.uid,
328+
user_id=logged_user["id"],
329+
product_name=osparc_product_name,
330+
)
331+
332+
# Assert the list contains the registered job
333+
assert len(jobs) == 2
334+
assert jobs[0].uid == first_registered_function_jobs[1].uid
335+
assert jobs[1].uid == second_registered_function_jobs[0].uid
336+
337+
# List function jobs for a specific function job collection and function job id
338+
jobs, _ = await functions_rpc.list_function_jobs(
339+
rabbitmq_rpc_client=rpc_client,
340+
pagination_limit=10,
341+
pagination_offset=0,
342+
filter_by_function_job_collection_id=function_job_collection.uid,
343+
filter_by_function_job_ids=[first_registered_function_jobs[1].uid],
344+
user_id=logged_user["id"],
345+
product_name=osparc_product_name,
346+
)
347+
348+
# Assert the list contains the registered job
349+
assert len(jobs) == 1
350+
assert jobs[0].uid == first_registered_function_jobs[1].uid
351+
291352

292353
@pytest.mark.parametrize(
293354
"user_role",

0 commit comments

Comments
 (0)