Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6c12089

Browse files
committed
test: update api tests
- Make sure we're testing python-gitlab functionality,make sure we're not awaiting on Gitlab Async functions- Decouple and improve test stabilitySigned-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk>
1 parent24d9d3c commit6c12089

25 files changed

+523
-234
lines changed
Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
1+
fromgitlabimportGitlabDeleteError
2+
3+
14
deftest_project_boards(project):
25
assertnotproject.boards.list()
36

47
board=project.boards.create({"name":"testboard"})
58
board=project.boards.get(board.id)
69

7-
project.boards.delete(board.id)
8-
assertnotproject.boards.list()
10+
# Raises:
11+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
12+
try:
13+
project.boards.delete(board.id)
14+
exceptGitlabDeleteErroraserror:
15+
assertFalse,f"project.boards.delete raise error{error}"
916

1017

1118
deftest_group_boards(group):
@@ -14,5 +21,9 @@ def test_group_boards(group):
1421
board=group.boards.create({"name":"testboard"})
1522
board=group.boards.get(board.id)
1623

17-
group.boards.delete(board.id)
18-
assertnotgroup.boards.list()
24+
# Raises:
25+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
26+
try:
27+
group.boards.delete(board.id)
28+
exceptGitlabDeleteErroraserror:
29+
assertFalse,f"group.boards.delete raise error{error}"

‎tests/functional/api/test_branches.py‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
https://docs.gitlab.com/ee/api/branches.html
44
"""
55

6+
fromgitlabimportGitlabDeleteError
7+
68

79
deftest_branch_name_with_period(project):
810
# Make sure we can create and get a branch name containing a period '.'
@@ -14,4 +16,9 @@ def test_branch_name_with_period(project):
1416
fetched_branch=project.branches.get(branch_name)
1517
assertbranch.name==fetched_branch.name
1618

17-
branch.delete()
19+
# Raises:
20+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
21+
try:
22+
branch.delete()
23+
exceptGitlabDeleteErroraserror:
24+
assertFalse,f"branch.delete raise error{error}"

‎tests/functional/api/test_bulk_imports.py‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
importtime
2+
23
importpytest
34

45
importgitlab
@@ -15,14 +16,16 @@ def bulk_import_enabled(gl: gitlab.Gitlab):
1516
# todo: why so fussy with feature flag timing?
1617
time.sleep(5)
1718
get_settings=gl.settings.get()
18-
assertget_settings.bulk_import_enabled==True
19+
assertget_settings.bulk_import_enabledisTrue
1920

2021
yieldsettings
2122

2223
settings.bulk_import_enabled=bulk_import_default
2324
settings.save()
2425

2526

27+
# https://github.com/python-gitlab/python-gitlab/pull/2790#pullrequestreview-1873617123
28+
@pytest.mark.skip(reason="Bulk Imports to be worked on in a follow up")
2629
deftest_bulk_imports(gl,group,bulk_import_enabled):
2730
destination=f"{group.full_path}-import"
2831
configuration= {

‎tests/functional/api/test_current_user.py‎

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
1+
fromgitlabimportGitlabDeleteError
2+
3+
14
deftest_current_user_email(gl):
25
gl.auth()
36
mail=gl.user.emails.create({"email":"current@user.com"})
47
assertmailingl.user.emails.list()
58

6-
mail.delete()
7-
assertmailnotingl.user.emails.list()
9+
# Raises:
10+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
11+
try:
12+
mail.delete()
13+
exceptGitlabDeleteErroraserror:
14+
assertFalse,f"mail.delete raise error{error}"
815

916

1017
deftest_current_user_gpg_keys(gl,GPG_KEY):
@@ -14,17 +21,25 @@ def test_current_user_gpg_keys(gl, GPG_KEY):
1421

1522
# Seems broken on the gitlab side
1623
gkey=gl.user.gpgkeys.get(gkey.id)
17-
gkey.delete()
18-
assertgkeynotingl.user.gpgkeys.list()
24+
# Raises:
25+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
26+
try:
27+
gkey.delete()
28+
exceptGitlabDeleteErroraserror:
29+
assertFalse,f"gkey.delete raise error{error}"
1930

2031

2132
deftest_current_user_ssh_keys(gl,SSH_KEY):
2233
gl.auth()
2334
key=gl.user.keys.create({"title":"testkey","key":SSH_KEY})
2435
assertkeyingl.user.keys.list()
2536

26-
key.delete()
27-
assertkeynotingl.user.keys.list()
37+
# Raises:
38+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
39+
try:
40+
key.delete()
41+
exceptGitlabDeleteErroraserror:
42+
assertFalse,f"key.delete raise error{error}"
2843

2944

3045
deftest_current_user_status(gl):
Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
fromgitlabimportGitlabDeleteError
2+
3+
14
deftest_project_deploy_keys(gl,project,DEPLOY_KEY):
25
deploy_key=project.keys.create({"title":"foo@bar","key":DEPLOY_KEY})
36
assertdeploy_keyinproject.keys.list()
@@ -6,6 +9,16 @@ def test_project_deploy_keys(gl, project, DEPLOY_KEY):
69
project2.keys.enable(deploy_key.id)
710
assertdeploy_keyinproject2.keys.list()
811

9-
project2.keys.delete(deploy_key.id)
10-
assertdeploy_keynotinproject2.keys.list()
11-
project2.delete()
12+
# Raises:
13+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
14+
try:
15+
project2.keys.delete(deploy_key.id)
16+
exceptGitlabDeleteErroraserror:
17+
assertFalse,f"project2.keys.delete raise error{error}"
18+
19+
# Raises:
20+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
21+
try:
22+
project2.delete()
23+
exceptGitlabDeleteErroraserror:
24+
assertFalse,f"project2.delete raise error{error}"

‎tests/functional/api/test_deploy_tokens.py‎

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
fromdatetimeimportdate
22

3+
fromgitlabimportGitlabDeleteError
4+
35

46
deftest_project_deploy_tokens(gl,project):
57
today=date.today().isoformat()
@@ -20,9 +22,12 @@ def test_project_deploy_tokens(gl, project):
2022
assertdeploy_token.scopes== ["read_registry"]
2123
assertdeploy_token.username=="bar"
2224

23-
deploy_token.delete()
24-
assertdeploy_tokennotinproject.deploytokens.list()
25-
assertdeploy_tokennotingl.deploytokens.list()
25+
# Raises:
26+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
27+
try:
28+
deploy_token.delete()
29+
exceptGitlabDeleteErroraserror:
30+
assertFalse,f"deploy_token.delete raise error{error}"
2631

2732

2833
deftest_group_deploy_tokens(gl,group):
@@ -40,6 +45,9 @@ def test_group_deploy_tokens(gl, group):
4045
assertdeploy_token.name=="foo"
4146
assertdeploy_token.scopes== ["read_registry"]
4247

43-
deploy_token.delete()
44-
assertdeploy_tokennotingroup.deploytokens.list()
45-
assertdeploy_tokennotingl.deploytokens.list()
48+
# Raises:
49+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
50+
try:
51+
deploy_token.delete()
52+
exceptGitlabDeleteErroraserror:
53+
assertFalse,f"deploy_token.delete raise error{error}"

‎tests/functional/api/test_epics.py‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
importpytest
22

3+
fromgitlabimportGitlabDeleteError
4+
35
pytestmark=pytest.mark.gitlab_premium
46

57

@@ -22,8 +24,12 @@ def test_epic_issues(epic, issue):
2224
epic_issue=epic.issues.create({"issue_id":issue.id})
2325
assertepic.issues.list()
2426

25-
epic_issue.delete()
26-
assertnotepic.issues.list()
27+
# Raises:
28+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
29+
try:
30+
epic_issue.delete()
31+
exceptGitlabDeleteErroraserror:
32+
assertFalse,f"epic_issue.delete raise error{error}"
2733

2834

2935
deftest_epic_notes(epic):

‎tests/functional/api/test_gitlab.py‎

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
importrequests
33

44
importgitlab
5+
fromgitlabimportGitlabDeleteError
56

67

78
@pytest.fixture(
@@ -52,8 +53,12 @@ def test_broadcast_messages(gl, get_all_kwargs):
5253
msg=gl.broadcastmessages.get(msg_id)
5354
assertmsg.color=="#444444"
5455

55-
msg.delete()
56-
assertmsgnotingl.broadcastmessages.list()
56+
# Raises:
57+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
58+
try:
59+
msg.delete()
60+
exceptGitlabDeleteErroraserror:
61+
assertFalse,f"msg.delete raise error{error}"
5762

5863

5964
deftest_markdown(gl):
@@ -150,8 +155,12 @@ def test_hooks(gl):
150155
hook=gl.hooks.create({"url":"http://whatever.com"})
151156
asserthookingl.hooks.list()
152157

153-
hook.delete()
154-
asserthooknotingl.hooks.list()
158+
# Raises:
159+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
160+
try:
161+
hook.delete()
162+
exceptGitlabDeleteErroraserror:
163+
assertFalse,f"hook.delete raise error{error}"
155164

156165

157166
deftest_namespaces(gl,get_all_kwargs):
@@ -201,8 +210,12 @@ def test_features(gl):
201210
assertfeat.name=="foo"
202211
assertfeatingl.features.list()
203212

204-
feat.delete()
205-
assertfeatnotingl.features.list()
213+
# Raises:
214+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
215+
try:
216+
feat.delete()
217+
exceptGitlabDeleteErroraserror:
218+
assertFalse,f"feat.delete raise error{error}"
206219

207220

208221
deftest_pagination(gl,project):
@@ -214,7 +227,12 @@ def test_pagination(gl, project):
214227
assertlen(list2)==1
215228
assertlist1[0].id!=list2[0].id
216229

217-
project2.delete()
230+
# Raises:
231+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
232+
try:
233+
project2.delete()
234+
exceptGitlabDeleteErroraserror:
235+
assertFalse,f"project2.delete raise error{error}"
218236

219237

220238
deftest_rate_limits(gl):

‎tests/functional/api/test_groups.py‎

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
importpytest
22

33
importgitlab
4+
fromgitlabimportGitlabDeleteError
45

56

67
deftest_groups(gl):
@@ -104,9 +105,15 @@ def test_groups(gl):
104105
assertlen(result)==1
105106
assertresult[0].id==user.id
106107

107-
group1.members.delete(user.id)
108-
assertusernotingroup1.members.list()
108+
# Raises:
109+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
110+
try:
111+
group1.members.delete(user.id)
112+
exceptGitlabDeleteErroraserror:
113+
assertFalse,f"group1.members.delete(user.id) raise error{error}"
114+
109115
assertgroup1.members_all.list()
116+
110117
member=group1.members.get(user2.id)
111118
member.access_level=gitlab.const.AccessLevel.OWNER
112119
member.save()
@@ -134,8 +141,12 @@ def test_group_labels(group):
134141
label=group.labels.get("Label:that requires:encoding")
135142
assertlabel.name=="Label:that requires:encoding"
136143

137-
label.delete()
138-
assertlabelnotingroup.labels.list()
144+
# Raises:
145+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
146+
try:
147+
label.delete()
148+
exceptGitlabDeleteErroraserror:
149+
assertFalse,f"label.delete raise error{error}"
139150

140151

141152
@pytest.mark.gitlab_premium
@@ -193,8 +204,12 @@ def test_group_badges(group):
193204
badge=group.badges.get(badge.id)
194205
assertbadge.image_url=="http://another.example.com"
195206

196-
badge.delete()
197-
assertbadgenotingroup.badges.list()
207+
# Raises:
208+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
209+
try:
210+
badge.delete()
211+
exceptGitlabDeleteErroraserror:
212+
assertFalse,f"badge.delete raise error{error}"
198213

199214

200215
deftest_group_milestones(group):
@@ -227,8 +242,12 @@ def test_group_custom_attributes(gl, group):
227242
assertattr.value=="value2"
228243
assertattringroup.customattributes.list()
229244

230-
attr.delete()
231-
assertattrnotingroup.customattributes.list()
245+
# Raises:
246+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
247+
try:
248+
attr.delete()
249+
exceptGitlabDeleteErroraserror:
250+
assertFalse,f"attr.delete raise error{error}"
232251

233252

234253
deftest_group_subgroups_projects(gl,user):
@@ -269,8 +288,12 @@ def test_group_wiki(group):
269288
wiki.content="new content"
270289
wiki.save()
271290

272-
wiki.delete()
273-
assertwikinotingroup.wikis.list()
291+
# Raises:
292+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
293+
try:
294+
wiki.delete()
295+
exceptGitlabDeleteErroraserror:
296+
assertFalse,f"wiki.delete raise error{error}"
274297

275298

276299
@pytest.mark.gitlab_premium
@@ -284,8 +307,12 @@ def test_group_hooks(group):
284307
hook=group.hooks.get(hook.id)
285308
asserthook.note_eventsisTrue
286309

287-
hook.delete()
288-
asserthooknotingroup.hooks.list()
310+
# Raises:
311+
# GitlabDeleteError: If the server cannot perform the request (the return code is not 2xx)
312+
try:
313+
hook.delete()
314+
exceptGitlabDeleteErroraserror:
315+
assertFalse,f"hook.delete raise error{error}"
289316

290317

291318
deftest_group_transfer(gl,group):

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp