Skip to content

Commit 009bcad

Browse files
committed
refactor(client): delete methods now return None in case deletion was successful
1 parent b5f7f6b commit 009bcad

File tree

2 files changed

+20
-31
lines changed

2 files changed

+20
-31
lines changed

pygitguardian/client.py

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ def is_create_ok(resp: Response) -> bool:
142142
def is_delete_ok(resp: Response) -> bool:
143143
"""
144144
is_delete_ok returns True if the API returns code 204
145-
and the content type is JSON.
146145
"""
147146
return resp.status_code == codes.no_content
148147

@@ -992,7 +991,7 @@ def delete_member(
992991
self,
993992
member: DeleteMember,
994993
extra_headers: Optional[Dict[str, str]] = None,
995-
) -> Union[Detail, int]:
994+
) -> Optional[Detail]:
996995
member_id = member.id
997996
data = member.to_dict()
998997
del data["id"]
@@ -1002,10 +1001,8 @@ def delete_member(
10021001
)
10031002

10041003
# We bypass `is_ok` because the response content type is none
1005-
if is_delete_ok(response):
1006-
return response.status_code
1007-
1008-
return load_detail(response)
1004+
if not is_delete_ok(response):
1005+
return load_detail(response)
10091006

10101007
def list_teams(
10111008
self,
@@ -1093,16 +1090,14 @@ def delete_team(
10931090
self,
10941091
team_id: int,
10951092
extra_headers: Optional[Dict[str, str]] = None,
1096-
) -> Union[Detail, int]:
1093+
) -> Optional[Detail]:
10971094
response = self.delete(
10981095
endpoint=f"teams/{team_id}",
10991096
extra_headers=extra_headers,
11001097
)
11011098

1102-
if is_delete_ok(response):
1103-
return response.status_code
1104-
1105-
return load_detail(response)
1099+
if not is_delete_ok(response):
1100+
return load_detail(response)
11061101

11071102
def list_team_invitations(
11081103
self,
@@ -1153,16 +1148,14 @@ def delete_team_invitation(
11531148
team_id: int,
11541149
invitation_id: int,
11551150
extra_headers: Optional[Dict[str, str]] = None,
1156-
) -> Union[Detail, int]:
1151+
) -> Optional[Detail]:
11571152
response = self.delete(
11581153
endpoint=f"teams/{team_id}/team_invitations/{invitation_id}",
11591154
extra_headers=extra_headers,
11601155
)
11611156

1162-
if is_delete_ok(response):
1163-
return response.status_code
1164-
1165-
return load_detail(response)
1157+
if not is_delete_ok(response):
1158+
return load_detail(response)
11661159

11671160
def list_team_members(
11681161
self,
@@ -1215,16 +1208,14 @@ def delete_team_member(
12151208
team_id: int,
12161209
team_member_id: int,
12171210
extra_headers: Optional[Dict[str, str]] = None,
1218-
) -> Union[Detail, int]:
1211+
) -> Optional[Detail]:
12191212
response = self.delete(
12201213
endpoint=f"teams/{team_id}/team_memberships/{team_member_id}",
12211214
extra_headers=extra_headers,
12221215
)
12231216

1224-
if is_delete_ok(response):
1225-
return response.status_code
1226-
1227-
return load_detail(response)
1217+
if not is_delete_ok(response):
1218+
return load_detail(response)
12281219

12291220
def list_sources(
12301221
self,
@@ -1335,12 +1326,10 @@ def delete_invitation(
13351326
self,
13361327
invitation_id: int,
13371328
extra_headers: Optional[Dict[str, str]] = None,
1338-
) -> Union[Detail, int]:
1329+
) -> Optional[Detail]:
13391330
response = self.delete(
13401331
endpoint=f"invitations/{invitation_id}", extra_headers=extra_headers
13411332
)
13421333

1343-
if is_delete_ok(response):
1344-
return response.status_code
1345-
1346-
return load_detail(response)
1334+
if not is_delete_ok(response):
1335+
return load_detail(response)

tests/test_client.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1498,7 +1498,7 @@ def test_delete_member(client: GGClient):
14981498

14991499
result = client.delete_member(DeleteMember(id=11))
15001500

1501-
assert result == 204, result.content
1501+
assert result is None, result.content
15021502

15031503

15041504
@my_vcr.use_cassette("test_create_team.yaml", ignore_localhost=False)
@@ -1585,7 +1585,7 @@ def test_delete_team(client: GGClient):
15851585

15861586
result = client.delete_team(8)
15871587

1588-
assert result == 204
1588+
assert result is None
15891589

15901590

15911591
@my_vcr.use_cassette("test_create_team_invitation.yaml", ignore_localhost=False)
@@ -1652,7 +1652,7 @@ def test_delete_team_invitation(client: GGClient):
16521652

16531653
result = client.delete_team_invitation(9, 1)
16541654

1655-
assert result == 204
1655+
assert result is None
16561656

16571657

16581658
@my_vcr.use_cassette("test_list_team_members.yaml", ignore_localhost=False)
@@ -1731,7 +1731,7 @@ def test_delete_team_member(client: GGClient):
17311731

17321732
result = client.delete_team_member(9, 10)
17331733

1734-
assert result == 204
1734+
assert result is None
17351735

17361736

17371737
@my_vcr.use_cassette("test_list_sources.yaml", ignore_localhost=False)
@@ -1872,4 +1872,4 @@ def test_delete_invitation(client: GGClient):
18721872

18731873
result = client.delete_invitation(2)
18741874

1875-
assert result == 204
1875+
assert result is None

0 commit comments

Comments
 (0)