123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- from flask import url_for
- from pycs.database.Model import Model
- from pycs.database.Project import Project
- from pycs.database.Label import Label
- from tests.base import BaseTestCase
- class ProjectCreationTests(BaseTestCase):
- def setupModels(self):
- model = Model.new(
- commit=False,
- name="TestModel",
- description="Model for a test case",
- root_folder="models/fixed_model",
- )
- model.supports = ["labeled-image"]
- model.flush()
- self.model = model
- def test_project_creation(self):
- 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,
- )
- )
- self.assertEqual(1, Project.query.count())
- project = Project.query.first()
- self.assertIsNotNone(project)
- self.assertIsNotNone(project.model)
- self.assertIsNone(project.label_provider)
- def test_project_deletion(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(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.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.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())
- for i in range(1, 11):
- 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.assertEqual(0, Project.query.count())
- self.assertEqual(0, Label.query.count())
|