|
@@ -6,8 +6,7 @@ from pycs.database.Label import Label
|
|
|
|
|
|
from tests.base import BaseTestCase
|
|
|
|
|
|
-
|
|
|
-class ProjectCreationTests(BaseTestCase):
|
|
|
+class _BaseProjectTests(BaseTestCase):
|
|
|
|
|
|
def setupModels(self):
|
|
|
|
|
@@ -22,17 +21,52 @@ class ProjectCreationTests(BaseTestCase):
|
|
|
|
|
|
self.model = model
|
|
|
|
|
|
- def test_project_creation(self):
|
|
|
+class ProjectCreationTests(_BaseProjectTests):
|
|
|
+
|
|
|
+ def setUp(self):
|
|
|
+ super().setUp()
|
|
|
+ self.url = url_for("create_project")
|
|
|
+
|
|
|
+
|
|
|
+ def test_project_creation_without_name(self):
|
|
|
+ self.assertEqual(0, Project.query.count())
|
|
|
+
|
|
|
+ self.post(self.url, json=dict(
|
|
|
+ # name="Some Project",
|
|
|
+ description="Some description",
|
|
|
+ model=self.model.id,
|
|
|
+ label=None,
|
|
|
+ external=None,
|
|
|
+ ),
|
|
|
+ status_code=400,
|
|
|
+ )
|
|
|
+
|
|
|
+ self.assertEqual(0, Project.query.count())
|
|
|
+
|
|
|
+ def test_project_creation_without_description(self):
|
|
|
+ self.assertEqual(0, Project.query.count())
|
|
|
+
|
|
|
+ self.post(self.url, json=dict(
|
|
|
+ name="Some Project",
|
|
|
+ # description="Some description",
|
|
|
+ model=self.model.id,
|
|
|
+ label=None,
|
|
|
+ external=None,
|
|
|
+ ),
|
|
|
+ status_code=400,
|
|
|
+ )
|
|
|
|
|
|
self.assertEqual(0, Project.query.count())
|
|
|
- url = url_for("create_project")
|
|
|
-
|
|
|
- self.post(url, json=dict(
|
|
|
- name="Some Project",
|
|
|
- description="Some description",
|
|
|
- model=self.model.id,
|
|
|
- label=None,
|
|
|
- external=None,
|
|
|
+
|
|
|
+ def test_project_creation(self):
|
|
|
+ self.assertEqual(0, Project.query.count())
|
|
|
+
|
|
|
+ self.post(self.url, json=dict(
|
|
|
+ name="Some Project",
|
|
|
+ description="Some description",
|
|
|
+ model=self.model.id,
|
|
|
+ label=None,
|
|
|
+ external=None,
|
|
|
)
|
|
|
)
|
|
|
self.assertEqual(1, Project.query.count())
|
|
@@ -43,10 +77,11 @@ class ProjectCreationTests(BaseTestCase):
|
|
|
self.assertIsNotNone(project.model)
|
|
|
self.assertIsNone(project.label_provider)
|
|
|
|
|
|
- def test_project_deletion(self):
|
|
|
+class ProjectDeletionTests(_BaseProjectTests):
|
|
|
|
|
|
- self.assertEqual(0, Project.query.count())
|
|
|
- project = Project.new(
|
|
|
+ def setupModels(self):
|
|
|
+ super().setupModels()
|
|
|
+ self.project = Project.new(
|
|
|
name="test_project",
|
|
|
description="Project for a test case",
|
|
|
model=self.model,
|
|
@@ -54,55 +89,40 @@ class ProjectCreationTests(BaseTestCase):
|
|
|
external_data=False,
|
|
|
data_folder="project_folder/data",)
|
|
|
|
|
|
+ @property
|
|
|
+ def url(self):
|
|
|
+ return url_for("remove_project",
|
|
|
+ project_id=self.project.id)
|
|
|
+
|
|
|
+
|
|
|
+ def test_project_deletion(self):
|
|
|
+
|
|
|
self.assertEqual(1, Project.query.count())
|
|
|
|
|
|
- url = url_for("remove_project", project_id=project.id)
|
|
|
- self.post(url, json=dict(remove=True))
|
|
|
+ self.post(self.url, json=dict(remove=True))
|
|
|
self.assertEqual(0, Project.query.count())
|
|
|
|
|
|
def test_project_deletion_without_flag(self):
|
|
|
|
|
|
- self.assertEqual(0, Project.query.count())
|
|
|
- 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",)
|
|
|
-
|
|
|
self.assertEqual(1, Project.query.count())
|
|
|
|
|
|
- url = url_for("remove_project", project_id=project.id)
|
|
|
- self.post(url, json=dict(), status_code=400)
|
|
|
+ self.post(self.url, json=dict(), status_code=400)
|
|
|
self.assertEqual(1, Project.query.count())
|
|
|
|
|
|
- url = url_for("remove_project", project_id=project.id)
|
|
|
- self.post(url, json=dict(remove=False), status_code=400)
|
|
|
+ self.post(self.url, json=dict(remove=False), status_code=400)
|
|
|
self.assertEqual(1, Project.query.count())
|
|
|
|
|
|
def test_project_deletion_with_labels(self):
|
|
|
|
|
|
- self.assertEqual(0, Project.query.count())
|
|
|
- self.assertEqual(0, Label.query.count())
|
|
|
-
|
|
|
- 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",)
|
|
|
-
|
|
|
self.assertEqual(1, Project.query.count())
|
|
|
+ self.assertEqual(0, Label.query.count())
|
|
|
|
|
|
for i in range(1, 11):
|
|
|
- project.create_label(name=f"Label_{i}")
|
|
|
+ self.project.create_label(name=f"Label_{i}")
|
|
|
|
|
|
self.assertEqual(10, Label.query.count())
|
|
|
|
|
|
- url = url_for("remove_project", project_id=project.id)
|
|
|
- self.post(url, json=dict(remove=True))
|
|
|
+ self.post(self.url, json=dict(remove=True))
|
|
|
|
|
|
self.assertEqual(0, Project.query.count())
|
|
|
self.assertEqual(0, Label.query.count())
|