@@ -15,7 +15,7 @@ def get_delete_service_account_url(team_name: str) -> str:
15
15
16
16
17
17
def make_request (api_client : APIClient , team_name : str , account : ServiceAccount ):
18
- return api_client .post (
18
+ return api_client .delete (
19
19
path = get_delete_service_account_url (team_name ),
20
20
data = json .dumps ({"uuid" : str (account .uuid )}),
21
21
content_type = "application/json" ,
@@ -46,8 +46,10 @@ def test_delete_service_account_fail_user_is_not_authenticated(
46
46
assert ServiceAccount .objects .filter (uuid = service_account .uuid ).count () == 1
47
47
48
48
response = make_request (api_client , team .name , service_account )
49
- assert response . status_code == 401
49
+ expected_response = { "detail" : "Authentication credentials were not provided." }
50
50
51
+ assert response .status_code == 401
52
+ assert response .json () == expected_response
51
53
assert ServiceAccount .objects .filter (uuid = service_account .uuid ).count () == 1
52
54
53
55
@@ -63,8 +65,10 @@ def test_delete_service_account_fails_because_user_is_not_team_member(
63
65
api_client .force_authenticate (non_team_user )
64
66
65
67
response = make_request (api_client , team .name , service_account )
66
- assert response . status_code == 403
68
+ expected_response = { "detail" : "User does not have permission to access this team." }
67
69
70
+ assert response .status_code == 403
71
+ assert response .json () == expected_response
68
72
assert ServiceAccount .objects .filter (uuid = service_account .uuid ).count () == 1
69
73
70
74
@@ -78,8 +82,31 @@ def test_delete_service_account_fail_because_user_is_not_team_owner(
78
82
assert ServiceAccount .objects .filter (uuid = service_account .uuid ).count () == 1
79
83
80
84
api_client .force_authenticate (team_member .user )
81
-
82
85
response = make_request (api_client , team .name , service_account )
86
+
87
+ error_message = (
88
+ "User does not have permission to delete service accounts for this team."
89
+ )
90
+ expected_response = {"detail" : error_message }
91
+
83
92
assert response .status_code == 403
93
+ assert response .json () == expected_response
94
+ assert ServiceAccount .objects .filter (uuid = service_account .uuid ).count () == 1
95
+
96
+
97
+ @pytest .mark .django_db
98
+ def test_delete_service_account_fail_because_invalid_uuid (
99
+ api_client : APIClient ,
100
+ team_owner : TeamMember ,
101
+ team : Team ,
102
+ service_account : ServiceAccount ,
103
+ ):
104
+ assert ServiceAccount .objects .filter (uuid = service_account .uuid ).count () == 1
105
+
106
+ api_client .force_authenticate (team_owner .user )
107
+ response = make_request (api_client , team .name , ServiceAccount (uuid = "invalid-uuid" ))
108
+ expected_response = {"uuid" : ["Must be a valid UUID." ]}
84
109
110
+ assert response .status_code == 400
111
+ assert response .json () == expected_response
85
112
assert ServiceAccount .objects .filter (uuid = service_account .uuid ).count () == 1
0 commit comments