Browse Source

added folder information test

Dimitri Korsch 3 năm trước cách đây
mục cha
commit
0b7628f958
3 tập tin đã thay đổi với 53 bổ sung3 xóa
  1. 1 3
      tests/__init__.py
  2. 32 0
      tests/client/__init__.py
  3. 20 0
      tests/client/project_tests.py

+ 1 - 3
tests/__init__.py

@@ -1,4 +1,2 @@
+from tests.client import *
 from tests.test_database import *
-
-from tests.client.label_tests import *
-from tests.client.project_tests import *

+ 32 - 0
tests/client/__init__.py

@@ -1,2 +1,34 @@
+import tempfile
+
+from flask import url_for
+
+from tests.base import BaseTestCase
 from tests.client.label_tests import *
 from tests.client.project_tests import *
+
+
+class FolderInformationTest(BaseTestCase):
+
+    def _check(self, url, folder, content_should):
+        response = self.post(url, json=dict(folder=folder))
+        self.assertTrue(response.is_json)
+        self.assertDictEqual(content_should, response.json)
+
+
+    def test_folder_information(self):
+
+        url = url_for("folder_information")
+        self.post(url, json=dict(), status_code=400)
+
+        with tempfile.TemporaryDirectory() as folder:
+
+            self._check(url, "/not_existing/folder",
+                dict(exists=False))
+
+            for i in range(10):
+                self._check(url, folder,
+                    dict(exists=True, count=i))
+
+                f = tempfile.NamedTemporaryFile(dir=folder, delete=False)
+
+

+ 20 - 0
tests/client/project_tests.py

@@ -445,6 +445,26 @@ class ProjectListTests(_BaseProjectTests):
 
             self.assertDictEqual(media_file.serialize(), entry)
 
+    def test_get_project_model(self):
+
+        project = Project.new(
+            name="test_project",
+            description="Project for a test case",
+            model=self.model,
+            root_folder="project_folder",
+            external_data=False,
+            data_folder="project_folder/data",)
+
+        url = url_for("get_project_model", project_id=42)
+        self.get(url, status_code=404)
+
+        url = url_for("get_project_model", project_id=project.id)
+        response = self.get(url)
+        self.assertTrue(response.is_json)
+
+        content = response.json
+        self.assertDictEqual(project.model.serialize(), content)
+
 
 class ProjectEditTests(_BaseProjectTests):