summaryrefslogtreecommitdiff
path: root/gitlab
diff options
context:
space:
mode:
authorNejc Habjan <hab.nejc@gmail.com>2020-03-08 18:30:03 +0100
committerNejc Habjan <nejc.habjan@siemens.com>2020-03-18 17:06:47 -0400
commitf7aad5f78c49ad1a4e05a393bcf236b7bbad2f2a (patch)
treef3e3c2e0a6a1e5535ff828408f9859f92d7a0b62 /gitlab
parent600dc86f34b6728b37a98b44e6aba73044bf3191 (diff)
downloadgitlab-f7aad5f78c49ad1a4e05a393bcf236b7bbad2f2a.tar.gz
test: add unit tests for Project Import
Diffstat (limited to 'gitlab')
-rw-r--r--gitlab/tests/objects/test_projects.py53
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")