Skip to content

Commit 668faf4

Browse files
committed
TST: failing tests for 'login' API
1 parent 0bb0bad commit 668faf4

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

tests/test_package.py

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
from __future__ import annotations
22

3+
import asyncio
34
import importlib.metadata
45

5-
import asyncio
66
import pytest
7-
from .common import _is_async
87

98
import save_and_restore_api
109
from save_and_restore_api import SaveRestoreAPI as SaveRestoreAPI_Threads
1110
from save_and_restore_api.aio import SaveRestoreAPI as SaveRestoreAPI_Async
1211

12+
from .common import _is_async
13+
1314
admin_username, admin_password = "admin", "adminPass"
1415
user_username, user_password = "user", "userPass"
1516
read_username, read_password = "johndoe", "1234"
@@ -23,30 +24,39 @@ def test_version():
2324

2425
# fmt: off
2526
@pytest.mark.parametrize("library", ["THREADS", "ASYNC"])
26-
@pytest.mark.parametrize("username, password, roles", [
27-
(admin_username, admin_password, ["ROLE_SAR-ADMIN"]),
28-
(user_username, user_password, ["ROLE_SAR-USER"]),
29-
(read_username, read_password, []),
27+
@pytest.mark.parametrize("username, password, roles, code", [
28+
(admin_username, admin_password, ["ROLE_SAR-ADMIN"], 200),
29+
(user_username, user_password, ["ROLE_SAR-USER"], 200),
30+
(read_username, read_password, [], 200),
31+
(user_username, read_password, [], 401),
3032
])
3133
# fmt: on
32-
def test_login_01(username, password, roles, library):
34+
def test_login_01(username, password, roles, library, code):
3335
if not _is_async(library):
3436
SR = SaveRestoreAPI_Threads(base_url=base_url, timeout=2)
3537
SR.set_auth(username=user_username, password=user_password)
3638
SR.open()
37-
response = SR.login(username=username, password=password)
39+
if code == 200:
40+
response = SR.login(username=username, password=password)
41+
assert response["userName"] == username
42+
assert response["roles"] == roles
43+
else:
44+
with pytest.raises(SR.HTTPClientError, match=f"{code}"):
45+
SR.login(username=username, password=password)
3846
SR.close()
39-
assert response["userName"] == username
40-
assert response["roles"] == roles
4147
else:
4248
async def testing():
43-
SR = SaveRestoreAPI_Threads(base_url=base_url, timeout=2)
49+
SR = SaveRestoreAPI_Async(base_url=base_url, timeout=2)
4450
SR.set_auth(username=user_username, password=user_password)
4551
SR.open()
46-
response = SR.login(username=username, password=password)
47-
SR.close()
48-
assert response["userName"] == username
49-
assert response["roles"] == roles
52+
if code == 200:
53+
response = await SR.login(username=username, password=password)
54+
assert response["userName"] == username
55+
assert response["roles"] == roles
56+
else:
57+
with pytest.raises(SR.HTTPClientError, match=f"{code}"):
58+
await SR.login(username=username, password=password)
59+
await SR.close()
5060

5161
asyncio.run(testing())
5262

0 commit comments

Comments
 (0)