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