diff options
Diffstat (limited to 'gitlab/tests/objects/test_submodules.py')
| -rw-r--r-- | gitlab/tests/objects/test_submodules.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gitlab/tests/objects/test_submodules.py b/gitlab/tests/objects/test_submodules.py new file mode 100644 index 0000000..2e76302 --- /dev/null +++ b/gitlab/tests/objects/test_submodules.py @@ -0,0 +1,58 @@ +""" +GitLab API: https://docs.gitlab.com/ce/api/repository_submodules.html +""" + +from httmock import response, urlmatch, with_httmock + +from gitlab.v4.objects import Project + +from .mocks import headers + + +@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1$", method="get") +def resp_get_project(url, request): + content = '{"name": "name", "id": 1}'.encode("utf-8") + return response(200, content, headers, None, 5, request) + + +@urlmatch( + scheme="http", + netloc="localhost", + path="/api/v4/projects/1/repository/submodules/foo%2Fbar", + method="put", +) +def resp_update_submodule(url, request): + content = """{ + "id": "ed899a2f4b50b4370feeea94676502b42383c746", + "short_id": "ed899a2f4b5", + "title": "Message", + "author_name": "Author", + "author_email": "author@example.com", + "committer_name": "Author", + "committer_email": "author@example.com", + "created_at": "2018-09-20T09:26:24.000-07:00", + "message": "Message", + "parent_ids": [ "ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba" ], + "committed_date": "2018-09-20T09:26:24.000-07:00", + "authored_date": "2018-09-20T09:26:24.000-07:00", + "status": null}""" + content = content.encode("utf-8") + return response(200, content, headers, None, 5, request) + + +@with_httmock(resp_get_project, resp_update_submodule) +def test_update_submodule(gl): + project = gl.projects.get(1) + assert isinstance(project, Project) + assert project.name == "name" + assert project.id == 1 + + ret = project.update_submodule( + submodule="foo/bar", + branch="master", + commit_sha="4c3674f66071e30b3311dac9b9ccc90502a72664", + commit_message="Message", + ) + assert isinstance(ret, dict) + assert ret["message"] == "Message" + assert ret["id"] == "ed899a2f4b50b4370feeea94676502b42383c746" |
