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

Commitfd9154e

Browse files
authored
Merge pull request#2012 from rnoberger/rnoberger/test-projects
test: increase projects coverage
2 parentsd121d2d +fa47829 commitfd9154e

File tree

1 file changed

+116
-20
lines changed

1 file changed

+116
-20
lines changed

‎tests/unit/objects/test_projects.py

Lines changed: 116 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,30 @@
55
importpytest
66
importresponses
77

8-
fromgitlab.v4.objectsimportProject
8+
fromgitlab.v4.objectsimport (
9+
Project,
10+
ProjectFork,
11+
ProjectUser,
12+
StarredProject,
13+
UserProject,
14+
)
915

1016
project_content= {"name":"name","id":1}
17+
languages_content= {
18+
"python":80.00,
19+
"ruby":99.99,
20+
"CoffeeScript":0.01,
21+
}
22+
user_content= {
23+
"name":"first",
24+
"id":1,
25+
"state":"active",
26+
}
27+
forks_content= [
28+
{
29+
"id":1,
30+
},
31+
]
1132
import_content= {
1233
"id":1,
1334
"name":"project",
@@ -28,6 +49,71 @@ def resp_get_project():
2849
yieldrsps
2950

3051

52+
@pytest.fixture
53+
defresp_user_projects():
54+
withresponses.RequestsMock()asrsps:
55+
rsps.add(
56+
method=responses.GET,
57+
url="http://localhost/api/v4/users/1/projects",
58+
json=[project_content],
59+
content_type="application/json",
60+
status=200,
61+
)
62+
yieldrsps
63+
64+
65+
@pytest.fixture
66+
defresp_starred_projects():
67+
withresponses.RequestsMock()asrsps:
68+
rsps.add(
69+
method=responses.GET,
70+
url="http://localhost/api/v4/users/1/starred_projects",
71+
json=[project_content],
72+
content_type="application/json",
73+
status=200,
74+
)
75+
yieldrsps
76+
77+
78+
@pytest.fixture
79+
defresp_list_users():
80+
withresponses.RequestsMock()asrsps:
81+
rsps.add(
82+
method=responses.GET,
83+
url="http://localhost/api/v4/projects/1/users",
84+
json=[user_content],
85+
content_type="application/json",
86+
status=200,
87+
)
88+
yieldrsps
89+
90+
91+
@pytest.fixture
92+
defresp_list_forks():
93+
withresponses.RequestsMock()asrsps:
94+
rsps.add(
95+
method=responses.GET,
96+
url="http://localhost/api/v4/projects/1/forks",
97+
json=forks_content,
98+
content_type="application/json",
99+
status=200,
100+
)
101+
yieldrsps
102+
103+
104+
@pytest.fixture
105+
defresp_list_languages():
106+
withresponses.RequestsMock()asrsps:
107+
rsps.add(
108+
method=responses.GET,
109+
url="http://localhost/api/v4/projects/1/languages",
110+
json=languages_content,
111+
content_type="application/json",
112+
status=200,
113+
)
114+
yieldrsps
115+
116+
31117
@pytest.fixture
32118
defresp_list_projects():
33119
withresponses.RequestsMock()asrsps:
@@ -98,19 +184,26 @@ def test_import_bitbucket_server(gl, resp_import_bitbucket_server):
98184
assertres["import_status"]=="scheduled"
99185

100186

101-
@pytest.mark.skip(reason="missing test")
102-
deftest_list_user_projects(gl):
103-
pass
187+
deftest_list_user_projects(user,resp_user_projects):
188+
user_project=user.projects.list()[0]
189+
assertisinstance(user_project,UserProject)
190+
assertuser_project.name=="name"
191+
assertuser_project.id==1
104192

105193

106-
@pytest.mark.skip(reason="missing test")
107-
deftest_list_user_starred_projects(gl):
108-
pass
194+
deftest_list_user_starred_projects(user,resp_starred_projects):
195+
starred_projects=user.starred_projects.list()[0]
196+
assertisinstance(starred_projects,StarredProject)
197+
assertstarred_projects.name=="name"
198+
assertstarred_projects.id==1
109199

110200

111-
@pytest.mark.skip(reason="missing test")
112-
deftest_list_project_users(gl):
113-
pass
201+
deftest_list_project_users(project,resp_list_users):
202+
user=project.users.list()[0]
203+
assertisinstance(user,ProjectUser)
204+
assertuser.id==1
205+
assertuser.name=="first"
206+
assertuser.state=="active"
114207

115208

116209
@pytest.mark.skip(reason="missing test")
@@ -133,9 +226,10 @@ def test_fork_project(gl):
133226
pass
134227

135228

136-
@pytest.mark.skip(reason="missing test")
137-
deftest_list_project_forks(gl):
138-
pass
229+
deftest_list_project_forks(project,resp_list_forks):
230+
fork=project.forks.list()[0]
231+
assertisinstance(fork,ProjectFork)
232+
assertfork.id==1
139233

140234

141235
@pytest.mark.skip(reason="missing test")
@@ -153,9 +247,13 @@ def test_list_project_starrers(gl):
153247
pass
154248

155249

156-
@pytest.mark.skip(reason="missing test")
157-
deftest_get_project_languages(gl):
158-
pass
250+
deftest_get_project_languages(project,resp_list_languages):
251+
python=project.languages().get("python")
252+
ruby=project.languages().get("ruby")
253+
coffee_script=project.languages().get("CoffeeScript")
254+
assertpython==80.00
255+
assertruby==99.99
256+
assertcoffee_script==00.01
159257

160258

161259
@pytest.mark.skip(reason="missing test")
@@ -233,13 +331,11 @@ def test_delete_project_push_rule(gl):
233331
pass
234332

235333

236-
deftest_transfer_project(gl,resp_transfer_project):
237-
project=gl.projects.get(1,lazy=True)
334+
deftest_transfer_project(project,resp_transfer_project):
238335
project.transfer("test-namespace")
239336

240337

241-
deftest_transfer_project_deprecated_warns(gl,resp_transfer_project):
242-
project=gl.projects.get(1,lazy=True)
338+
deftest_transfer_project_deprecated_warns(project,resp_transfer_project):
243339
withpytest.warns(DeprecationWarning):
244340
project.transfer_project("test-namespace")
245341

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp