Skip to content

Commit d703873

Browse files
committed
Fixed data json dumping first.
1 parent 7dc6850 commit d703873

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

gitlab_api/gitlab_api.py

+23-11
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,9 @@ def cherry_pick_commit(self, **kwargs):
278278
try:
279279
response = self._session.post(url=f'{self.url}/projects/{commit.project_id}'
280280
f'/repository/commits/{commit.commit_hash}/cherry_pick',
281-
headers=self.headers, data=commit.data, verify=self.verify)
281+
headers=self.headers,
282+
data=json.dumps(commit.data, indent=2),
283+
verify=self.verify)
282284
except ValidationError as e:
283285
raise ParameterError(f"Invalid parameters: {e.errors()}")
284286
return response
@@ -301,7 +303,9 @@ def create_commit(self, **kwargs):
301303
try:
302304
response = self._session.post(url=f'{self.url}/projects/{commit.project_id}'
303305
f'/repository/commits',
304-
headers=self.headers, data=commit.data, verify=self.verify)
306+
headers=self.headers,
307+
data=json.dumps(commit.data, indent=2),
308+
verify=self.verify)
305309
except ValidationError as e:
306310
raise ParameterError(f"Invalid parameters: {e.errors()}")
307311
return response
@@ -324,7 +328,9 @@ def revert_commit(self, **kwargs):
324328
try:
325329
response = self._session.post(url=f'{self.url}/projects/{commit.project_id}'
326330
f'/repository/commits/{commit.commit_hash}/revert',
327-
headers=self.headers, data=commit.data, verify=self.verify)
331+
headers=self.headers,
332+
data=json.dumps(commit.data, indent=2),
333+
verify=self.verify)
328334
except ValidationError as e:
329335
raise ParameterError(f"Invalid parameters: {e.errors()}")
330336
return response
@@ -393,7 +399,9 @@ def create_commit_comment(self, **kwargs):
393399
try:
394400
response = self._session.post(url=f'{self.url}/projects/{commit.project_id}'
395401
f'/repository/commits/{commit.commit_hash}/comments',
396-
headers=self.headers, data=commit.data, verify=self.verify)
402+
headers=self.headers,
403+
data=json.dumps(commit.data, indent=2),
404+
verify=self.verify)
397405
except ValidationError as e:
398406
raise ParameterError(f"Invalid parameters: {e.errors()}")
399407
return response
@@ -462,7 +470,9 @@ def post_build_status_to_commit(self, **kwargs):
462470
try:
463471
response = self._session.post(url=f'{self.url}/projects/{commit.project_id}'
464472
f'/statuses/{commit.commit_hash}/',
465-
headers=self.headers, data=commit.data, verify=self.verify)
473+
headers=self.headers,
474+
data=json.dumps(commit.data, indent=2),
475+
verify=self.verify)
466476
except ValidationError as e:
467477
raise ParameterError(f"Invalid parameters: {e.errors()}")
468478
return response
@@ -1071,7 +1081,7 @@ def run_project_job(self, **kwargs):
10711081
raise MissingParameterError
10721082
try:
10731083
response = self._session.post(url=f'{self.url}/projects/{job.project_id}/jobs/{job.job_id}/play',
1074-
headers=self.headers, data=job.data, verify=self.verify)
1084+
headers=self.headers, data=json.dumps(job.data, indent=2), verify=self.verify)
10751085
except ValidationError as e:
10761086
raise ParameterError(f"Invalid parameters: {e.errors()}")
10771087
return response
@@ -1345,7 +1355,7 @@ def create_project_level_rule(self, **kwargs):
13451355
try:
13461356
response = self._session.post(url=f'{self.url}/projects/{merge_rule.project_id}/approval_rules',
13471357
headers=self.headers,
1348-
data=merge_rule.data,
1358+
data=json.dumps(merge_rule.data, indent=2),
13491359
verify=self.verify)
13501360

13511361
except ValidationError as e:
@@ -1370,7 +1380,8 @@ def update_project_level_rule(self, **kwargs):
13701380
try:
13711381
response = self._session.put(url=f'{self.url}/projects/{merge_rule.project_id}'
13721382
f'/approval_rules/{merge_rule.approval_rule_id}',
1373-
headers=self.headers, data=merge_rule.data, verify=self.verify)
1383+
headers=self.headers, data=json.dumps(merge_rule.data, indent=2),
1384+
verify=self.verify)
13741385
except ValidationError as e:
13751386
raise ParameterError(f"Invalid parameters: {e.errors()}")
13761387
return response
@@ -1393,7 +1404,8 @@ def delete_project_level_rule(self, **kwargs):
13931404
try:
13941405
response = self._session.put(url=f'{self.url}/projects/{merge_rule.project_id}'
13951406
f'/approval_rules/{merge_rule.approval_rule_id}',
1396-
headers=self.headers, data=merge_rule.data, verify=self.verify)
1407+
headers=self.headers, data=json.dumps(merge_rule.data, indent=2),
1408+
verify=self.verify)
13971409
except ValidationError as e:
13981410
raise ParameterError(f"Invalid parameters: {e.errors()}")
13991411
return response
@@ -2640,7 +2652,7 @@ def register_new_runner(self, **kwargs):
26402652
try:
26412653
response = self._session.put(url=f'{self.url}/runners',
26422654
headers=self.headers,
2643-
data=runner.data,
2655+
data=json.dumps(runner.data, indent=2),
26442656
verify=self.verify)
26452657
except ValidationError as e:
26462658
raise ParameterError(f"Invalid parameters: {e.errors()}")
@@ -3030,7 +3042,7 @@ def upload_wiki_page_attachment(self, **kwargs):
30303042
response = self._session.put(url=f'{self.url}/projects/{wiki.project_id}/wikis/attachments',
30313043
headers=headers,
30323044
verify=self.verify,
3033-
data=data)
3045+
data=json.dumps(data, indent=2))
30343046
except ValidationError as e:
30353047
raise ParameterError(f"Invalid parameters: {e.errors()}")
30363048
return response

test/test_gitlab_api.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def test_create_project_rule():
5757
# Create branch
5858
project = 79
5959
response = client.create_project_level_rule(project_id=project, name="Test_Rule", approvals_required=9)
60-
assert response.status_code == 201 or response.status_code == 400
60+
assert response.status_code == 201
6161

6262

6363
@pytest.mark.skipif(
@@ -68,7 +68,7 @@ def test_get_project_rules():
6868
# Create branch
6969
project = 79
7070
response = client.get_project_level_rules(project_id=project)
71-
assert response.status_code == 200 or response.status_code == 404
71+
assert response.status_code == 200
7272

7373

7474
if __name__ == "__main__":

0 commit comments

Comments
 (0)