Skip to content

Commit f94e01f

Browse files
committed
♻️ Update create_fake_service_data type to CreateFakeServiceDataCallable across test files
1 parent d011aeb commit f94e01f

File tree

6 files changed

+35
-33
lines changed

6 files changed

+35
-33
lines changed

services/catalog/tests/unit/with_dbs/test_api_rest_services__list.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from models_library.services import ServiceMetaDataPublished
1515
from models_library.users import UserID
1616
from pydantic import TypeAdapter
17+
from pytest_simcore.helpers.catalog_services import CreateFakeServiceDataCallable
1718
from respx.router import MockRouter
1819
from starlette import status
1920
from starlette.testclient import TestClient
@@ -33,7 +34,7 @@ async def test_list_services_with_details(
3334
mocked_director_rest_api_base: MockRouter,
3435
user_id: UserID,
3536
target_product: ProductName,
36-
create_fake_service_data: Callable,
37+
create_fake_service_data: CreateFakeServiceDataCallable,
3738
services_db_tables_injector: Callable,
3839
client: TestClient,
3940
benchmark,
@@ -89,7 +90,7 @@ async def test_list_services_without_details(
8990
rabbitmq_and_rpc_setup_disabled: None,
9091
user_id: int,
9192
target_product: ProductName,
92-
create_fake_service_data: Callable,
93+
create_fake_service_data: CreateFakeServiceDataCallable,
9394
services_db_tables_injector: Callable,
9495
client: TestClient,
9596
benchmark,
@@ -133,7 +134,7 @@ async def test_list_services_without_details_with_wrong_user_id_returns_403(
133134
rabbitmq_and_rpc_setup_disabled: None,
134135
user_id: int,
135136
target_product: ProductName,
136-
create_fake_service_data: Callable,
137+
create_fake_service_data: CreateFakeServiceDataCallable,
137138
services_db_tables_injector: Callable,
138139
client: TestClient,
139140
):
@@ -166,7 +167,7 @@ async def test_list_services_without_details_with_another_product_returns_other_
166167
user_id: int,
167168
target_product: ProductName,
168169
other_product: ProductName,
169-
create_fake_service_data: Callable,
170+
create_fake_service_data: CreateFakeServiceDataCallable,
170171
services_db_tables_injector: Callable,
171172
client: TestClient,
172173
):
@@ -198,7 +199,7 @@ async def test_list_services_without_details_with_wrong_product_returns_0_servic
198199
rabbitmq_and_rpc_setup_disabled: None,
199200
user_id: int,
200201
target_product: ProductName,
201-
create_fake_service_data: Callable,
202+
create_fake_service_data: CreateFakeServiceDataCallable,
202203
services_db_tables_injector: Callable,
203204
client: TestClient,
204205
):
@@ -234,7 +235,7 @@ async def test_list_services_that_are_deprecated(
234235
mocked_director_rest_api_base: MockRouter,
235236
user_id: int,
236237
target_product: ProductName,
237-
create_fake_service_data: Callable,
238+
create_fake_service_data: CreateFakeServiceDataCallable,
238239
services_db_tables_injector: Callable,
239240
client: TestClient,
240241
):

services/catalog/tests/unit/with_dbs/test_api_rest_services_access_rights.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
)
1616
from models_library.products import ProductName
1717
from pydantic import TypeAdapter
18+
from pytest_simcore.helpers.catalog_services import CreateFakeServiceDataCallable
1819
from respx.router import MockRouter
1920
from starlette.testclient import TestClient
2021
from yarl import URL
@@ -33,7 +34,7 @@ async def test_get_service_access_rights(
3334
rabbitmq_and_rpc_setup_disabled: None,
3435
user: dict[str, Any],
3536
target_product: ProductName,
36-
create_fake_service_data: Callable,
37+
create_fake_service_data: CreateFakeServiceDataCallable,
3738
services_db_tables_injector: Callable,
3839
client: TestClient,
3940
):
@@ -80,7 +81,7 @@ async def test_get_service_access_rights_with_more_gids(
8081
rabbitmq_and_rpc_setup_disabled: None,
8182
user: dict[str, Any],
8283
other_product: ProductName,
83-
create_fake_service_data: Callable,
84+
create_fake_service_data: CreateFakeServiceDataCallable,
8485
services_db_tables_injector: Callable,
8586
user_groups_ids: list[int],
8687
client: TestClient,

services/catalog/tests/unit/with_dbs/test_api_rest_services_specifications.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ async def test_get_service_specifications(
183183
user: dict[str, Any],
184184
user_groups_ids: list[int],
185185
target_product: ProductName,
186-
create_fake_service_data: Callable,
186+
create_fake_service_data: CreateFakeServiceDataCallable,
187187
services_db_tables_injector: Callable,
188188
services_specifications_injector: Callable,
189189
sqlalchemy_async_engine: AsyncEngine,
@@ -278,7 +278,7 @@ async def test_get_service_specifications_are_passed_to_newer_versions_of_servic
278278
user: dict[str, Any],
279279
user_groups_ids: list[int],
280280
target_product: ProductName,
281-
create_fake_service_data: Callable,
281+
create_fake_service_data: CreateFakeServiceDataCallable,
282282
services_db_tables_injector: Callable,
283283
services_specifications_injector: Callable,
284284
create_service_specifications: Callable[..., ServiceSpecificationsAtDB],

services/catalog/tests/unit/with_dbs/test_api_rpc.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from models_library.users import UserID
2727
from packaging import version
2828
from pydantic import ValidationError
29+
from pytest_simcore.helpers.catalog_services import CreateFakeServiceDataCallable
2930
from pytest_simcore.helpers.faker_factories import random_icon_url
3031
from pytest_simcore.helpers.monkeypatch_envs import setenvs_from_dict
3132
from pytest_simcore.helpers.typing_env import EnvVarsDict
@@ -70,7 +71,7 @@ def num_versions_per_service() -> int:
7071
@pytest.fixture
7172
def fake_data_for_services(
7273
target_product: ProductName,
73-
create_fake_service_data: Callable,
74+
create_fake_service_data: CreateFakeServiceDataCallable,
7475
num_services: int,
7576
num_versions_per_service: int,
7677
) -> list:
@@ -169,7 +170,7 @@ async def test_rpc_list_services_paginated_with_filter_combinations(
169170
product_name: ProductName,
170171
user_id: UserID,
171172
app: FastAPI,
172-
create_fake_service_data: Callable,
173+
create_fake_service_data: CreateFakeServiceDataCallable,
173174
services_db_tables_injector: Callable,
174175
):
175176
"""Tests all combinations of filters for list_services_paginated"""
@@ -565,7 +566,7 @@ async def test_rpc_batch_get_my_services(
565566
user: dict[str, Any],
566567
user_id: UserID,
567568
app: FastAPI,
568-
create_fake_service_data: Callable,
569+
create_fake_service_data: CreateFakeServiceDataCallable,
569570
services_db_tables_injector: Callable,
570571
):
571572
# Create fake services data
@@ -645,7 +646,7 @@ async def test_rpc_list_my_service_history_paginated(
645646
product_name: ProductName,
646647
user_id: UserID,
647648
app: FastAPI,
648-
create_fake_service_data: Callable,
649+
create_fake_service_data: CreateFakeServiceDataCallable,
649650
services_db_tables_injector: Callable,
650651
):
651652
assert app
@@ -775,7 +776,7 @@ async def test_rpc_get_service_ports_permission_denied(
775776
user_id: UserID,
776777
other_user: dict[str, Any],
777778
app: FastAPI,
778-
create_fake_service_data: Callable,
779+
create_fake_service_data: CreateFakeServiceDataCallable,
779780
services_db_tables_injector: Callable,
780781
):
781782
"""Tests that appropriate error is raised when user doesn't have permission"""

services/catalog/tests/unit/with_dbs/test_service_access_rights.py

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from models_library.services import ServiceMetaDataPublished, ServiceVersion
1212
from pydantic import TypeAdapter
1313
from pytest_mock import MockerFixture
14+
from pytest_simcore.helpers.catalog_services import CreateFakeServiceDataCallable
1415
from simcore_service_catalog.models.services_db import ServiceAccessRightsDB
1516
from simcore_service_catalog.repository.services import ServicesRepository
1617
from simcore_service_catalog.service.access_rights import (
@@ -89,7 +90,7 @@ async def test_auto_upgrade_policy(
8990
target_product: ProductName,
9091
other_product: ProductName,
9192
services_db_tables_injector: Callable,
92-
create_fake_service_data: Callable,
93+
create_fake_service_data: CreateFakeServiceDataCallable,
9394
mocker: MockerFixture,
9495
):
9596
everyone_gid, user_gid, team_gid = user_groups_ids
@@ -122,6 +123,17 @@ async def test_auto_upgrade_policy(
122123
new_service_metadata.version = TypeAdapter(ServiceVersion).validate_python("1.0.11")
123124
new_service_metadata.icon = None # Remove icon to test inheritance
124125

126+
latest_release_service, *latest_release_service_access_rights = (
127+
create_fake_service_data(
128+
new_service_metadata.key,
129+
"1.0.10",
130+
team_access="x",
131+
everyone_access=None,
132+
product=target_product,
133+
)
134+
)
135+
latest_release_service["icon"] = "https://foo/previous_icon.svg"
136+
125137
# we have three versions of the service in the database for which the sorting matters: (1.0.11 should inherit from 1.0.10 not 1.0.9)
126138
await services_db_tables_injector(
127139
[
@@ -141,23 +153,10 @@ async def test_auto_upgrade_policy(
141153
),
142154
# new release is a patch on released 1.0.X
143155
# which were released in two different product
144-
create_fake_service_data(
145-
new_service_metadata.key,
146-
"1.0.10",
147-
team_access="x",
148-
everyone_access=None,
149-
product=target_product,
150-
icon="previous_icon.svg",
151-
),
152-
create_fake_service_data(
153-
new_service_metadata.key,
154-
"1.0.10",
155-
team_access="x",
156-
everyone_access=None,
157-
product=other_product,
158-
),
156+
(latest_release_service, *latest_release_service_access_rights),
159157
]
160158
)
159+
161160
# ------------
162161

163162
app = FastAPI()
@@ -201,7 +200,7 @@ async def test_auto_upgrade_policy(
201200
# Check metadata inheritance
202201
inherited_metadata = inherited_data["metadata_updates"]
203202
assert "icon" in inherited_metadata
204-
assert inherited_metadata["icon"] == "previous_icon.svg"
203+
assert inherited_metadata["icon"] == latest_release_service["icon"]
205204

206205
# ALL
207206
service_access_rights += inherited_access_rights

services/catalog/tests/unit/with_dbs/test_service_catalog_services.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def num_versions_per_service() -> int:
5454
@pytest.fixture
5555
def fake_services_data(
5656
target_product: ProductName,
57-
create_fake_service_data: Callable,
57+
create_fake_service_data: CreateFakeServiceDataCallable,
5858
num_services: int,
5959
num_versions_per_service: int,
6060
) -> list:

0 commit comments

Comments
 (0)