Skip to content

Commit cd416cc

Browse files
refactor rpc
1 parent 3e6b3a9 commit cd416cc

File tree

2 files changed

+29
-26
lines changed

2 files changed

+29
-26
lines changed

services/web/server/src/simcore_service_webserver/api_keys/_rpc.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ async def delete_api_keys(
3232
*,
3333
product_name: ProductName,
3434
user_id: UserID,
35-
name: str,
35+
api_key_id: int,
3636
) -> None:
3737
await _api.delete_api_key(
38-
app, name=name, user_id=user_id, product_name=product_name
38+
app, api_key_id=api_key_id, user_id=user_id, product_name=product_name
3939
)
4040

4141

@@ -45,10 +45,10 @@ async def api_key_get(
4545
*,
4646
product_name: ProductName,
4747
user_id: UserID,
48-
name: str,
48+
api_key_id: int,
4949
) -> ApiKeyGet | None:
5050
return await _api.get_api_key(
51-
app, name=name, user_id=user_id, product_name=product_name
51+
app, api_key_id=api_key_id, user_id=user_id, product_name=product_name
5252
)
5353

5454

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

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from collections.abc import AsyncIterable, Awaitable, Callable
77

88
import pytest
9+
import simcore_service_webserver.api_keys._db as db
910
from aiohttp.test_utils import TestServer
1011
from faker import Faker
1112
from models_library.api_schemas_webserver import WEBSERVER_RPC_NAMESPACE
@@ -20,7 +21,6 @@
2021
from servicelib.rabbitmq import RabbitMQRPCClient
2122
from settings_library.rabbit import RabbitSettings
2223
from simcore_postgres_database.models.users import UserRole
23-
from simcore_service_webserver.api_keys._db import ApiKeyRepo
2424
from simcore_service_webserver.application_settings import ApplicationSettings
2525

2626
pytest_simcore_core_services_selection = [
@@ -58,30 +58,33 @@ def user_role() -> UserRole:
5858

5959

6060
@pytest.fixture
61-
async def fake_user_api_keys(
61+
async def fake_user_api_ids(
6262
user_role: UserRole,
6363
web_server: TestServer,
6464
logged_user: UserInfoDict,
6565
osparc_product_name: ProductName,
66-
) -> AsyncIterable[list[str]]:
67-
names = ["foo", "bar", "beta", "alpha"]
68-
repo = ApiKeyRepo.create_from_app(app=web_server.app)
69-
70-
for name in names:
71-
await repo.create(
66+
faker: Faker,
67+
) -> AsyncIterable[list[int]]:
68+
assert web_server.app
69+
api_key_ids: list[int] = [
70+
await db.create(
71+
web_server.app,
7272
user_id=logged_user["id"],
7373
product_name=osparc_product_name,
74-
display_name=name,
74+
display_name=faker.pystr(),
7575
expiration=None,
76-
api_key=f"{name}-key",
77-
api_secret=f"{name}-secret",
76+
api_key=faker.pystr(),
77+
api_secret=faker.pystr(),
7878
)
79+
for _ in range(5)
80+
]
7981

80-
yield names
82+
yield api_key_ids
8183

82-
for name in names:
83-
await repo.delete_by_name(
84-
display_name=name,
84+
for api_key_id in api_key_ids:
85+
await db.delete(
86+
web_server.app,
87+
api_key_id=api_key_id,
8588
user_id=logged_user["id"],
8689
product_name=osparc_product_name,
8790
)
@@ -96,20 +99,20 @@ async def rpc_client(
9699

97100

98101
async def test_api_key_get(
99-
fake_user_api_keys: list[str],
102+
fake_user_api_ids: list[int],
100103
rpc_client: RabbitMQRPCClient,
101104
osparc_product_name: ProductName,
102105
logged_user: UserInfoDict,
103106
):
104-
for api_key_name in fake_user_api_keys:
107+
for api_key_id in fake_user_api_ids:
105108
result = await rpc_client.request(
106109
WEBSERVER_RPC_NAMESPACE,
107110
TypeAdapter(RPCMethodName).validate_python("api_key_get"),
108111
product_name=osparc_product_name,
109112
user_id=logged_user["id"],
110-
name=api_key_name,
113+
api_key_id=api_key_id,
111114
)
112-
assert result.display_name == api_key_name
115+
assert result.id_ == api_key_id
113116

114117

115118
async def test_api_keys_workflow(
@@ -137,7 +140,7 @@ async def test_api_keys_workflow(
137140
TypeAdapter(RPCMethodName).validate_python("api_key_get"),
138141
product_name=osparc_product_name,
139142
user_id=logged_user["id"],
140-
name=key_name,
143+
api_key_id=created_api_key.id_,
141144
)
142145
assert queried_api_key.display_name == key_name
143146

@@ -149,7 +152,7 @@ async def test_api_keys_workflow(
149152
TypeAdapter(RPCMethodName).validate_python("delete_api_keys"),
150153
product_name=osparc_product_name,
151154
user_id=logged_user["id"],
152-
name=key_name,
155+
api_key_id=created_api_key.id_,
153156
)
154157
assert delete_key_result is None
155158

@@ -159,6 +162,6 @@ async def test_api_keys_workflow(
159162
TypeAdapter(RPCMethodName).validate_python("api_key_get"),
160163
product_name=osparc_product_name,
161164
user_id=logged_user["id"],
162-
name=key_name,
165+
api_key_id=created_api_key.id_,
163166
)
164167
assert query_missing_query is None

0 commit comments

Comments
 (0)