diff options
author | Nejc Habjan <hab.nejc@gmail.com> | 2020-03-08 18:30:03 +0100 |
---|---|---|
committer | Nejc Habjan <nejc.habjan@siemens.com> | 2020-03-18 17:06:47 -0400 |
commit | f7aad5f78c49ad1a4e05a393bcf236b7bbad2f2a (patch) | |
tree | f3e3c2e0a6a1e5535ff828408f9859f92d7a0b62 /gitlab | |
parent | 600dc86f34b6728b37a98b44e6aba73044bf3191 (diff) | |
download | gitlab-f7aad5f78c49ad1a4e05a393bcf236b7bbad2f2a.tar.gz |
test: add unit tests for Project Import
Diffstat (limited to 'gitlab')
-rw-r--r-- | gitlab/tests/objects/test_projects.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/gitlab/tests/objects/test_projects.py b/gitlab/tests/objects/test_projects.py index 7fb51b5..010ce04 100644 --- a/gitlab/tests/objects/test_projects.py +++ b/gitlab/tests/objects/test_projects.py @@ -212,3 +212,56 @@ class TestProjectExport(TestProject): download = export.download() self.assertIsInstance(download, bytes) self.assertEqual(download, binary_content) + + +@urlmatch( + scheme="http", netloc="localhost", path="/api/v4/projects/import", method="post", +) +def resp_import_project(url, request): + """Mock for Project Import POST response""" + content = """{ + "id": 1, + "description": null, + "name": "api-project", + "name_with_namespace": "Administrator / api-project", + "path": "api-project", + "path_with_namespace": "root/api-project", + "created_at": "2018-02-13T09:05:58.023Z", + "import_status": "scheduled" + }""" + content = content.encode("utf-8") + return response(200, content, headers, None, 25, request) + + +@urlmatch( + scheme="http", netloc="localhost", path="/api/v4/projects/1/import", method="get", +) +def resp_import_status(url, request): + """Mock for Project Import GET response""" + content = """{ + "id": 1, + "description": "Itaque perspiciatis minima aspernatur corporis consequatur.", + "name": "Gitlab Test", + "name_with_namespace": "Gitlab Org / Gitlab Test", + "path": "gitlab-test", + "path_with_namespace": "gitlab-org/gitlab-test", + "created_at": "2017-08-29T04:36:44.383Z", + "import_status": "finished" + }""" + content = content.encode("utf-8") + return response(200, content, headers, None, 25, request) + + +class TestProjectImport(TestProject): + # import_github is tested in test_gitlab.py + + @with_httmock(resp_import_project) + def test_import_project(self): + project_import = self.gl.projects.import_project("file", "api-project") + self.assertEqual(project_import["import_status"], "scheduled") + + @with_httmock(resp_import_project, resp_import_status) + def test_refresh_project_import_status(self): + project_import = self.project.imports.get() + project_import.refresh() + self.assertEqual(project_import.import_status, "finished") |