1515from models_library .rest_pagination import MAXIMUM_NUMBER_OF_ITEMS_PER_PAGE
1616from models_library .services_history import ServiceRelease
1717from models_library .services_regex import (
18- COMPUTATIONAL_SERVICE_KEY_PREFIX ,
19- FRONTEND_SERVICE_KEY_PREFIX ,
18+ DYNAMIC_SERVICE_KEY_PREFIX ,
2019)
2120from models_library .services_types import ServiceKey , ServiceVersion
2221from models_library .users import UserID
@@ -571,10 +570,27 @@ async def test_rpc_list_services_paginated_with_filters(
571570):
572571 assert app
573572
573+ # only computational services introduced by the background_sync_task_mocked
574+ page = await list_services_paginated (
575+ rpc_client ,
576+ product_name = product_name ,
577+ user_id = user_id ,
578+ filters = {"service_type" : "computational" },
579+ )
580+ assert page .meta .total == page .meta .count
581+ assert page .meta .total > 0
582+
583+ page = await list_services_paginated (
584+ rpc_client ,
585+ product_name = product_name ,
586+ user_id = user_id ,
587+ filters = {"service_type" : "dynamic" },
588+ )
589+ assert page .meta .total == 0
590+
574591 # Create fake services with different types
575- service_key_1 = f"{ COMPUTATIONAL_SERVICE_KEY_PREFIX } /test-filter-service-1"
576- service_key_2 = f"{ FRONTEND_SERVICE_KEY_PREFIX } /test-filter-service-2"
577- service_version = "1.0.0"
592+ service_key_1 = f"{ DYNAMIC_SERVICE_KEY_PREFIX } /test-filter-service"
593+ service_version = "1.2.3"
578594
579595 fake_services = [
580596 create_fake_service_data (
@@ -584,32 +600,24 @@ async def test_rpc_list_services_paginated_with_filters(
584600 everyone_access = None ,
585601 product = product_name ,
586602 ),
587- create_fake_service_data (
588- service_key_2 ,
589- service_version ,
590- team_access = None ,
591- everyone_access = None ,
592- product = product_name ,
593- ),
594603 ]
595604
596605 # Inject fake services into the database
597606 await services_db_tables_injector (fake_services )
598607
599608 # Apply a filter to match only computational services
600- filters = {"service_type" : "computational" }
601609 page = await list_services_paginated (
602610 rpc_client ,
603611 product_name = product_name ,
604612 user_id = user_id ,
605- filters = filters ,
613+ filters = { "service_type" : "dynamic" } ,
606614 )
607615
608616 # Validate the response
609- assert len (page .data ) == 1
610- assert page .data [0 ].key == service_key_1
611- assert page .data [0 ].service_type == "computational"
612617 assert page .meta .total == 1
613618 assert page .meta .count == 1
619+ assert len (page .data ) == 1
620+ assert page .data [0 ].key == service_key_1
621+ assert page .data [0 ].service_type == "frontend"
614622 assert page .links .next is None
615623 assert page .links .prev is None
0 commit comments