33# pylint: disable=unused-variable
44# pylint: disable=too-many-arguments
55
6+ import random
67from collections import Counter
78from collections .abc import Callable
89from dataclasses import dataclass , field
@@ -488,18 +489,26 @@ async def test_get_service_history_page(
488489 # inject services with multiple versions
489490 service_key = "simcore/services/dynamic/test-service"
490491 num_versions = 10
492+
493+ release_versions = [
494+ f"{ random .randint (0 , 2 )} .{ random .randint (0 , 9 )} .{ random .randint (0 , 9 )} " # noqa: S311
495+ for _ in range (num_versions )
496+ ]
491497 await services_db_tables_injector (
492498 [
493499 create_fake_service_data (
494500 service_key ,
495- f" { v } .0.0" ,
501+ service_version ,
496502 team_access = None ,
497503 everyone_access = None ,
498504 product = target_product ,
499505 )
500- for v in range ( num_versions )
506+ for service_version in release_versions
501507 ]
502508 )
509+ # sorted AFTER injecting
510+ release_versions = sorted (release_versions , key = version .Version , reverse = True )
511+ assert version .Version (release_versions [0 ]) > version .Version (release_versions [- 1 ])
503512
504513 # fetch full history using get_service_history_page
505514 total_count , history = await services_repo .get_service_history_page (
@@ -509,9 +518,7 @@ async def test_get_service_history_page(
509518 )
510519 assert total_count == num_versions
511520 assert len (history ) == num_versions
512- assert [release .version for release in history ] == [
513- f"{ v } .0.0" for v in reversed (range (num_versions ))
514- ]
521+ assert [release .version for release in history ] == release_versions
515522
516523 # fetch full history using deprecated get_service_history
517524 deprecated_history = await services_repo .get_service_history (
@@ -536,8 +543,8 @@ async def test_get_service_history_page(
536543 )
537544 assert total_count == num_versions
538545 assert len (paginated_history ) == limit
539- assert [release .version for release in paginated_history ] == [
540- f" { v } .0.0" for v in reversed ( range ( offset , offset + limit ))
546+ assert [release .version for release in paginated_history ] == release_versions [
547+ offset : offset + limit
541548 ]
542549
543550 # compare paginated results with the corresponding slice of the full history
0 commit comments