Skip to content

Commit 3b744f3

Browse files
committed
adds tests
1 parent 2a44aa2 commit 3b744f3

File tree

3 files changed

+87
-7
lines changed

3 files changed

+87
-7
lines changed

services/web/server/src/simcore_service_webserver/catalog/_tags_handlers.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
import logging
22

33
from aiohttp import web
4-
from models_library.api_schemas_webserver.catalog import CatalogServiceGet
54
from models_library.basic_types import IdInt
65
from servicelib.aiohttp.requests_validation import parse_request_path_parameters_as
76

87
from .._meta import API_VTAG
98
from ..login.decorators import login_required
109
from ..security.decorators import permission_required
11-
from ..tags.schemas import TagGet
1210
from ._handlers import ServicePathParams
1311

1412
_logger = logging.getLogger(__name__)
@@ -30,8 +28,6 @@ class ServiceTagPathParams(ServicePathParams):
3028
async def list_service_tags(request: web.Request):
3129
path_params = parse_request_path_parameters_as(ServicePathParams, request)
3230
assert path_params # nosec
33-
34-
assert list[TagGet] # nosec
3531
raise NotImplementedError
3632

3733

@@ -46,7 +42,6 @@ async def add_service_tag(request: web.Request):
4642
assert path_params # nosec
4743

4844
# responds with parent's resource to get the current state (as with patch/update)
49-
assert CatalogServiceGet # nosec
5045
raise NotImplementedError
5146

5247

@@ -61,5 +56,4 @@ async def remove_service_tag(request: web.Request):
6156
assert path_params # nosec
6257

6358
# responds with parent's resource to get the current state (as with patch/update)
64-
assert CatalogServiceGet # nosec
6559
raise NotImplementedError

services/web/server/tests/unit/with_dbs/01/test_catalog_handlers__services.py

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,3 +216,89 @@ async def test_get_and_patch_service(
216216

217217
assert mocked_rpc_catalog_service_api["get_service"].call_count == 1
218218
assert mocked_rpc_catalog_service_api["update_service"].call_count == 1
219+
220+
221+
@pytest.xfail(reason="service tags entrypoints under development")
222+
@pytest.mark.parametrize(
223+
"user_role",
224+
[UserRole.USER],
225+
)
226+
async def test_tags_in_services(
227+
client: TestClient,
228+
logged_user: UserInfoDict,
229+
mocked_rpc_catalog_service_api: dict[str, MagicMock],
230+
):
231+
assert client.app
232+
assert client.app.router
233+
234+
service_key = "simcore/services/dynamic/someservice"
235+
service_version = "3.4.5"
236+
237+
# the service
238+
url = client.app.router["get_service"].url_for(
239+
service_key=urllib.parse.quote(service_key, safe=""),
240+
service_version=service_version,
241+
)
242+
response = await client.get(f"{url}")
243+
data, error = await assert_status(response, status.HTTP_200_OK)
244+
assert not error
245+
246+
# list tags
247+
url = client.app.router["list_service_tags"].url_for(
248+
service_key=urllib.parse.quote(service_key, safe=""),
249+
service_version=service_version,
250+
)
251+
response = await client.get(f"{url}")
252+
data, error = await assert_status(response, status.HTTP_200_OK)
253+
254+
assert not error
255+
assert not data
256+
257+
# create a tag
258+
fake_tag = {"name": "tag1", "description": "description1", "color": "#f00"}
259+
url = client.app.router["create_tag"].url_for()
260+
resp = await client.post(f"{url}", json=fake_tag)
261+
tag, _ = await assert_status(resp, status.HTTP_201_CREATED)
262+
263+
tag_id = tag["id"]
264+
assert tag["name"] == fake_tag["name"]
265+
266+
# add_service_tag
267+
url = client.app.router["add_service_tag"].url_for(
268+
service_key=urllib.parse.quote(service_key, safe=""),
269+
service_version=service_version,
270+
tag_id=tag_id,
271+
)
272+
response = await client.get(f"{url}")
273+
data, error = await assert_status(response, status.HTTP_200_OK)
274+
275+
# list_service_tags
276+
url = client.app.router["list_service_tags"].url_for(
277+
service_key=urllib.parse.quote(service_key, safe=""),
278+
service_version=service_version,
279+
)
280+
response = await client.put(f"{url}")
281+
data, error = await assert_status(response, status.HTTP_200_OK)
282+
283+
assert not error
284+
assert len(data) == 1
285+
286+
# remove_service_tag
287+
url = client.app.router["remove_service_tag"].url_for(
288+
service_key=urllib.parse.quote(service_key, safe=""),
289+
service_version=service_version,
290+
tag_id=tag_id,
291+
)
292+
response = await client.delete(f"{url}")
293+
data, error = await assert_status(response, status.HTTP_204_NO_CONTENT)
294+
295+
# list_service_tags
296+
url = client.app.router["list_service_tags"].url_for(
297+
service_key=urllib.parse.quote(service_key, safe=""),
298+
service_version=service_version,
299+
)
300+
response = await client.put(f"{url}")
301+
data, error = await assert_status(response, status.HTTP_200_OK)
302+
303+
assert not error
304+
assert not data

services/web/server/tests/unit/with_dbs/03/tags/test_tags.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ async def test_tags_to_studies(
6868
added_tags.append(added_tag)
6969

7070
# Add tag to study
71-
url = client.app.router["add_tag"].url_for(
71+
url = client.app.router["add_project_tag"].url_for(
7272
project_uuid=user_project.get("uuid"), tag_id=str(added_tag.get("id"))
7373
)
7474
resp = await client.put(f"{url}")

0 commit comments

Comments
 (0)