Skip to content

Commit 6ba4260

Browse files
committed
adds tests
1 parent 83bfca1 commit 6ba4260

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
from collections.abc import AsyncGenerator, Callable
2+
3+
from models_library.api_schemas_api_server.api_keys import ApiKeyInDB
4+
from pydantic import PositiveInt
5+
from simcore_service_api_server.repository.api_keys import ApiKeysRepository
6+
from sqlalchemy.ext.asyncio import AsyncEngine
7+
8+
9+
async def test_get_user_with_valid_credentials(
10+
async_engine: AsyncEngine,
11+
create_fake_api_keys: Callable[[PositiveInt], AsyncGenerator[ApiKeyInDB, None]],
12+
):
13+
# Arrange
14+
repo = ApiKeysRepository(db_engine=async_engine)
15+
16+
# Generate a fake API key
17+
async for api_key_in_db in create_fake_api_keys(1):
18+
# Act
19+
result = await repo.get_user(
20+
api_key=api_key_in_db.api_key, api_secret=api_key_in_db.api_secret
21+
)
22+
23+
# Assert
24+
assert result is not None
25+
assert result.user_id == api_key_in_db.user_id
26+
assert result.product_name == api_key_in_db.product_name
27+
break
28+
29+
30+
async def test_get_user_with_invalid_credentials(
31+
async_engine: AsyncEngine,
32+
create_fake_api_keys: Callable[[PositiveInt], AsyncGenerator[ApiKeyInDB, None]],
33+
):
34+
# Arrange
35+
repo = ApiKeysRepository(db_engine=async_engine)
36+
37+
# Generate a fake API key
38+
async for api_key_in_db in create_fake_api_keys(1):
39+
# Act - use wrong secret
40+
result = await repo.get_user(
41+
api_key=api_key_in_db.api_key, api_secret="wrong_secret"
42+
)
43+
44+
# Assert
45+
assert result is None
46+
break

0 commit comments

Comments
 (0)