66from collections .abc import AsyncIterable , Awaitable , Callable
77
88import pytest
9+ import simcore_service_webserver .api_keys ._db as db
910from aiohttp .test_utils import TestServer
1011from faker import Faker
1112from models_library .api_schemas_webserver import WEBSERVER_RPC_NAMESPACE
2021from servicelib .rabbitmq import RabbitMQRPCClient
2122from settings_library .rabbit import RabbitSettings
2223from simcore_postgres_database .models .users import UserRole
23- from simcore_service_webserver .api_keys ._db import ApiKeyRepo
2424from simcore_service_webserver .application_settings import ApplicationSettings
2525
2626pytest_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
98101async 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
115118async 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