77from mavedb .models .enums .user_role import UserRole
88from mavedb .models .user import User
99
10+ from tests .helpers .util import create_api_key_for_current_user , create_admin_key_for_current_user
11+
1012
1113def test_create_user_access_key (client , setup_router_db , session ):
12- response = client .post ("api/v1/users/me/access-keys" )
13- assert response .status_code == 200
14- response_value = response .json ()
14+ key_id = create_api_key_for_current_user (client )
1515
16- saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == response_value [ "keyId" ] ).one_or_none ()
16+ saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == key_id ).one_or_none ()
1717 assert saved_access_key is not None
1818
1919 # Some lingering db transaction holds this test open unless it is explicitly closed.
@@ -44,12 +44,9 @@ def test_user_cannot_create_access_key_for_role_they_dont_have(client, setup_rou
4444
4545def test_admin_can_create_admin_key (client , setup_router_db , session , admin_app_overrides ):
4646 with DependencyOverrider (admin_app_overrides ):
47- response = client .post ("api/v1/users/me/access-keys/admin" )
48-
49- assert response .status_code == 200
50- response_value = response .json ()
47+ key_id = create_admin_key_for_current_user (client )
5148
52- saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == response_value [ "keyId" ] ).one_or_none ()
49+ saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == key_id ).one_or_none ()
5350 assert saved_access_key is not None
5451 assert saved_access_key .role is UserRole .admin
5552
@@ -58,30 +55,26 @@ def test_admin_can_create_admin_key(client, setup_router_db, session, admin_app_
5855
5956
6057def test_user_can_delete_access_key (client , setup_router_db , session ):
61- response = client .post ("api/v1/users/me/access-keys" )
62- assert response .status_code == 200
63- response_value = response .json ()
64- saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == response_value ["keyId" ]).one_or_none ()
58+ key_id = create_api_key_for_current_user (client )
59+ saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == key_id ).one_or_none ()
6560 assert saved_access_key is not None
6661
67- del_response = client .delete (f"api/v1/users/me/access-keys/{ response_value [ 'keyId' ] } " )
62+ del_response = client .delete (f"api/v1/users/me/access-keys/{ key_id } " )
6863 assert del_response .status_code == 200
69- saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == response_value [ "keyId" ] ).one_or_none ()
64+ saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == key_id ).one_or_none ()
7065 assert saved_access_key is None
7166
7267 # Some lingering db transaction holds this test open unless it is explicitly closed.
7368 session .commit ()
7469
7570
7671def test_anonymous_user_cannot_delete_access_key (client , setup_router_db , session , anonymous_app_overrides ):
77- response = client .post ("api/v1/users/me/access-keys" )
78- assert response .status_code == 200
79- response_value = response .json ()
80- saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == response_value ["keyId" ]).one_or_none ()
72+ key_id = create_api_key_for_current_user (client )
73+ saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == key_id ).one_or_none ()
8174 assert saved_access_key is not None
8275
8376 with DependencyOverrider (anonymous_app_overrides ):
84- del_response = client .delete (f"api/v1/users/me/access-keys/{ response_value [ 'keyId' ] } " )
77+ del_response = client .delete (f"api/v1/users/me/access-keys/{ key_id } " )
8578
8679 assert del_response .status_code == 401
8780 response_value = del_response .json ()
@@ -92,10 +85,8 @@ def test_anonymous_user_cannot_delete_access_key(client, setup_router_db, sessio
9285
9386
9487def test_user_cannot_delete_other_users_access_key (client , setup_router_db , session ):
95- response = client .post ("api/v1/users/me/access-keys" )
96- assert response .status_code == 200
97- response_value = response .json ()
98- saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == response_value ["keyId" ]).one_or_none ()
88+ key_id = create_api_key_for_current_user (client )
89+ saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == key_id ).one_or_none ()
9990 assert saved_access_key is not None
10091
10192 extra_user = session .query (User ).filter (User .username == EXTRA_USER ["username" ]).one_or_none ()
@@ -104,9 +95,9 @@ def test_user_cannot_delete_other_users_access_key(client, setup_router_db, sess
10495 session .add (saved_access_key )
10596 session .commit ()
10697
107- del_response = client .delete (f"api/v1/users/me/access-keys/{ response_value [ 'keyId' ] } " )
98+ del_response = client .delete (f"api/v1/users/me/access-keys/{ key_id } " )
10899 assert del_response .status_code == 200
109- saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == response_value [ "keyId" ] ).one_or_none ()
100+ saved_access_key = session .query (AccessKey ).filter (AccessKey .key_id == key_id ).one_or_none ()
110101 assert saved_access_key is not None
111102
112103 # Some lingering db transaction holds this test open unless it is explicitly closed.
0 commit comments