diff --git a/src/superannotate/lib/app/interface/sdk_interface.py b/src/superannotate/lib/app/interface/sdk_interface.py index 3a9387e2a..ee9403039 100644 --- a/src/superannotate/lib/app/interface/sdk_interface.py +++ b/src/superannotate/lib/app/interface/sdk_interface.py @@ -96,8 +96,6 @@ "Vector", "Video", "Document", - "Tiled", - "PointCloud", "Multimodal", ] @@ -1409,7 +1407,7 @@ def create_project( :param project_description: The new project's description. :type project_description: str - :param project_type: The project type. Supported types: 'Vector', 'Video', 'Document', 'Tiled', 'PointCloud', 'Multimodal'. + :param project_type: The project type. Supported types: 'Vector', 'Video', 'Document', 'Multimodal'. :type project_type: str :param settings: list of settings objects diff --git a/tests/integration/aggregations/test_df_processing.py b/tests/integration/aggregations/test_df_processing.py index 321b1379a..b401351dc 100644 --- a/tests/integration/aggregations/test_df_processing.py +++ b/tests/integration/aggregations/test_df_processing.py @@ -30,7 +30,8 @@ def test_filter_instances(self): def test_invalid_project_type(self): with self.assertRaisesRegex( - AppException, "The function is not supported for PointCloud projects." + AppException, + "Input should be 'Vector', 'Video', 'Document' or 'Multimodal'", ): sa.aggregate_annotations_as_df(self.folder_path, "PointCloud") diff --git a/tests/integration/export/test_export.py b/tests/integration/export/test_export.py index b97c844e7..25ddb215e 100644 --- a/tests/integration/export/test_export.py +++ b/tests/integration/export/test_export.py @@ -65,10 +65,10 @@ def setUpClass(cls) -> None: @classmethod def tearDownClass(cls) -> None: - projects = sa.search_projects(cls.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name=cls.PROJECT_NAME) for project in projects: try: - sa.delete_project(project) + sa.delete_project(project=project["id"]) except AppException as e: logging.error(e) diff --git a/tests/integration/items/test_attach_category.py b/tests/integration/items/test_attach_category.py index 4515be1c7..965be3405 100644 --- a/tests/integration/items/test_attach_category.py +++ b/tests/integration/items/test_attach_category.py @@ -66,11 +66,11 @@ def setUpClass(cls, *args, **kwargs) -> None: @classmethod def tearDownClass(cls) -> None: # cleanup test scores and project - projects = sa.search_projects(cls.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name__in=[cls.PROJECT_NAME]) for project in projects: try: - sa.delete_project(project) - except Exception: + sa.delete_project(project=project["id"]) + except Exception as _: pass @staticmethod diff --git a/tests/integration/items/test_generate_items.py b/tests/integration/items/test_generate_items.py index 9f895bab2..352c80e8e 100644 --- a/tests/integration/items/test_generate_items.py +++ b/tests/integration/items/test_generate_items.py @@ -27,6 +27,7 @@ class TestGenerateItemsMM(TestCase): } def setUp(self, *args, **kwargs): + self.tearDown() sa.create_project( self.PROJECT_NAME, self.PROJECT_DESCRIPTION, @@ -37,10 +38,10 @@ def setUp(self, *args, **kwargs): def tearDown(self) -> None: try: - projects = sa.search_projects(self.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name=self.PROJECT_NAME) for project in projects: try: - sa.delete_project(project) + sa.delete_project(project=project["id"]) except Exception as e: print(str(e)) except Exception as e: diff --git a/tests/integration/mixpanel/test_mixpanel_decorator.py b/tests/integration/mixpanel/test_mixpanel_decorator.py index 52f96614f..855bf3c4b 100644 --- a/tests/integration/mixpanel/test_mixpanel_decorator.py +++ b/tests/integration/mixpanel/test_mixpanel_decorator.py @@ -44,10 +44,10 @@ def tearDownClass(cls) -> None: @classmethod def _safe_delete_project(cls, project_name): - projects = sa.search_projects(project_name, return_metadata=True) + projects = sa.list_projects(name=project_name) for project in projects: try: - sa.delete_project(project) + sa.delete_project(project=project["id"]) except Exception: raise diff --git a/tests/integration/projects/test_create_project.py b/tests/integration/projects/test_create_project.py index ef5e604b0..5dcf04a6c 100644 --- a/tests/integration/projects/test_create_project.py +++ b/tests/integration/projects/test_create_project.py @@ -95,7 +95,7 @@ def test_create_project_datetime(self): def test_create_project_with_wrong_type(self): with self.assertRaisesRegex( AppException, - "Input should be 'Vector', 'Video', 'Document', 'Tiled', 'PointCloud' or 'Multimodal'", + "Input should be 'Vector', 'Video', 'Document' or 'Multimodal'", ): sa.create_project(self.PROJECT, "desc", "wrong_type") @@ -130,6 +130,13 @@ def test_create_project_with_classes_and_workflows(self): assert steps[1]["attribute"][0]["attribute"]["name"] == "Track" assert steps[1]["attribute"][1]["attribute"]["name"] == "Bus" + def test_deprecated_project_crate(self): + error_msg = "Input should be 'Vector', 'Video', 'Document' or 'Multimodal'" + with self.assertRaisesRegex(AppException, error_msg): + sa.create_project(self.PROJECT, "desc", "Tiled") + with self.assertRaisesRegex(AppException, error_msg): + sa.create_project(self.PROJECT, "desc", "PointCloud") + class TestCreateVideoProject(ProjectCreateBaseTestCase): PROJECT = "test_video_project" diff --git a/tests/integration/projects/test_project_rename.py b/tests/integration/projects/test_project_rename.py index d63eebede..1a58068aa 100644 --- a/tests/integration/projects/test_project_rename.py +++ b/tests/integration/projects/test_project_rename.py @@ -20,16 +20,17 @@ def setUp(self, *args, **kwargs): ) def tearDown(self) -> None: - projects = [] - projects.extend(sa.search_projects(self.PROJECT_NAME, return_metadata=True)) - projects.extend(sa.search_projects(self.NEW_PROJECT_NAME, return_metadata=True)) - projects.extend( - sa.search_projects(self.REPLACED_PROJECT_NAME, return_metadata=True) + projects = sa.list_projects( + name__in=[ + self.PROJECT_NAME, + self.NEW_PROJECT_NAME, + self.REPLACED_PROJECT_NAME, + self.NAME_TO_RENAME, + ] ) - projects.extend(sa.search_projects(self.NAME_TO_RENAME, return_metadata=True)) for project in projects: try: - sa.delete_project(project) + sa.delete_project(project=project["id"]) except Exception as _: pass diff --git a/tests/integration/projects/test_search_project.py b/tests/integration/projects/test_search_project.py index f96736061..3a9036338 100644 --- a/tests/integration/projects/test_search_project.py +++ b/tests/integration/projects/test_search_project.py @@ -22,19 +22,17 @@ def setUp(self, *args, **kwargs): ) def tearDown(self) -> None: - projects = [] - projects.extend(sa.search_projects(self.PROJECT_NAME, return_metadata=True)) - projects.extend( - sa.search_projects(self.REPLACED_PROJECT_NAME, return_metadata=True) - ) - projects.extend( - sa.search_projects( - self.PROJECT_NAME_CONTAIN_SPECIAL_CHARACTER, return_metadata=True - ) + projects = sa.list_projects( + name__in=[ + self.PROJECT_NAME, + self.PROJECT_NAME_2, + self.REPLACED_PROJECT_NAME, + self.PROJECT_NAME_CONTAIN_SPECIAL_CHARACTER, + ] ) for project in projects: try: - sa.delete_project(project) + sa.delete_project(project=project["id"]) except Exception as _: pass diff --git a/tests/integration/settings/test_settings.py b/tests/integration/settings/test_settings.py index 8fc9ee145..60abbff96 100644 --- a/tests/integration/settings/test_settings.py +++ b/tests/integration/settings/test_settings.py @@ -15,16 +15,14 @@ def setUp(self) -> None: self.tearDown() def tearDown(self) -> None: - try: - projects = sa.list_projects(name=self.PROJECT_NAME) - projects.extend(sa.list_projects(name=self.SECOND_PROJECT_NAME)) - for project in projects: - try: - sa.delete_project(project=project["id"]) - except Exception: - pass - except Exception as e: - print(str(e)) + projects = sa.list_projects( + name__in=[self.PROJECT_NAME, self.SECOND_PROJECT_NAME] + ) + for project in projects: + try: + sa.delete_project(project=project["id"]) + except Exception as _: + pass class TestSettings(BaseTestCase): diff --git a/tests/integration/test_cli.py b/tests/integration/test_cli.py index f95fd8e72..55dc8ab7f 100644 --- a/tests/integration/test_cli.py +++ b/tests/integration/test_cli.py @@ -37,9 +37,12 @@ def setUp(self, *args, **kwargs): self.tearDown() def tearDown(self) -> None: - projects = sa.search_projects(self.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name__in=[self.PROJECT_NAME]) for project in projects: - sa.delete_project(project) + try: + sa.delete_project(project=project["id"]) + except Exception as _: + pass @property def convertor_data_path(self): diff --git a/tests/integration/test_depricated_functions_document.py b/tests/integration/test_depricated_functions_document.py index f61c603ef..46bc0d0c9 100644 --- a/tests/integration/test_depricated_functions_document.py +++ b/tests/integration/test_depricated_functions_document.py @@ -40,13 +40,12 @@ def setUp(self, *args, **kwargs): ) def tearDown(self) -> None: - projects = sa.search_projects(self.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name__in=[self.PROJECT_NAME, self.PROJECT_NAME_2]) for project in projects: - sa.delete_project(project) - - projects = sa.search_projects(self.PROJECT_NAME_2, return_metadata=True) - for project in projects: - sa.delete_project(project) + try: + sa.delete_project(project=project["id"]) + except Exception as _: + pass @property def video_export_path(self): diff --git a/tests/integration/test_depricated_functions_video.py b/tests/integration/test_depricated_functions_video.py index a60926f2b..02fb3f800 100644 --- a/tests/integration/test_depricated_functions_video.py +++ b/tests/integration/test_depricated_functions_video.py @@ -38,10 +38,12 @@ def setUp(self, *args, **kwargs): ) def tearDown(self) -> None: - projects = sa.search_projects(self.PROJECT_NAME, return_metadata=True) - projects.extend(sa.search_projects(self.PROJECT_NAME_2, return_metadata=True)) + projects = sa.list_projects(name__in=[self.PROJECT_NAME, self.PROJECT_NAME_2]) for project in projects: - sa.delete_project(project) + try: + sa.delete_project(project=project["id"]) + except Exception as _: + pass @property def video_export_path(self): diff --git a/tests/integration/test_video.py b/tests/integration/test_video.py index e47000a0f..6ff1e0bfa 100644 --- a/tests/integration/test_video.py +++ b/tests/integration/test_video.py @@ -45,10 +45,14 @@ def setUp(self, *args, **kwargs): ) def tearDown(self) -> None: - for project_name in (self.PROJECT_NAME, self.SECOND_PROJECT_NAME): - projects = sa.search_projects(project_name, return_metadata=True) - for project in projects: - sa.delete_project(project) + projects = sa.list_projects( + name__in=[self.PROJECT_NAME, self.SECOND_PROJECT_NAME] + ) + for project in projects: + try: + sa.delete_project(project=project["id"]) + except Exception as _: + pass def test_videos_upload_from_folder(self): res = sa.upload_videos_from_folder_to_project( diff --git a/tests/integration/tiled_project/test_tiled_project.py b/tests/integration/tiled_project/test_tiled_project.py deleted file mode 100644 index 12517fa96..000000000 --- a/tests/integration/tiled_project/test_tiled_project.py +++ /dev/null @@ -1,14 +0,0 @@ -from src.superannotate import SAClient -from tests.integration.base import BaseTestCase - -sa = SAClient() - - -class TestTiledProject(BaseTestCase): - PROJECT_NAME = "TestGetIntegrations" - PROJECT_DESCRIPTION = "desc" - PROJECT_TYPE = "Tiled" - - def test_get_metadata(self): - self._attach_items() - assert all(i["metadata"]["name"] for i in sa.get_annotations(self.PROJECT_NAME)) diff --git a/tests/integration/work_management/test_contributors_categories.py b/tests/integration/work_management/test_contributors_categories.py index fdeb82a91..313ef841b 100644 --- a/tests/integration/work_management/test_contributors_categories.py +++ b/tests/integration/work_management/test_contributors_categories.py @@ -74,11 +74,11 @@ def setUpClass(cls, *args, **kwargs) -> None: @classmethod def tearDownClass(cls) -> None: - projects = sa.search_projects(cls.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name__in=[cls.PROJECT_NAME]) for project in projects: try: - sa.delete_project(project) - except Exception: + sa.delete_project(project=project["id"]) + except Exception as _: pass def tearDown(self): diff --git a/tests/integration/work_management/test_project_categories.py b/tests/integration/work_management/test_project_categories.py index 1d873de73..7b86b745d 100644 --- a/tests/integration/work_management/test_project_categories.py +++ b/tests/integration/work_management/test_project_categories.py @@ -67,11 +67,11 @@ def setUpClass(cls, *args, **kwargs) -> None: @classmethod def tearDownClass(cls) -> None: # cleanup test scores and project - projects = sa.search_projects(cls.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name__in=[cls.PROJECT_NAME]) for project in projects: try: - sa.delete_project(project) - except Exception: + sa.delete_project(project=project["id"]) + except Exception as _: pass def test_project_categories_flow(self): diff --git a/tests/integration/work_management/test_project_user_permissions.py b/tests/integration/work_management/test_project_user_permissions.py index ed0f044a3..0a3593db8 100644 --- a/tests/integration/work_management/test_project_user_permissions.py +++ b/tests/integration/work_management/test_project_user_permissions.py @@ -29,11 +29,11 @@ def setUpClass(cls, *args, **kwargs) -> None: @classmethod def tearDownClass(cls) -> None: - projects = sa.search_projects(cls.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name__in=[cls.PROJECT_NAME]) for project in projects: try: - sa.delete_project(project) - except Exception: + sa.delete_project(project=project["id"]) + except Exception as _: pass def tearDown(self): diff --git a/tests/integration/work_management/test_user_scoring.py b/tests/integration/work_management/test_user_scoring.py index fee2a2371..3363d44e6 100644 --- a/tests/integration/work_management/test_user_scoring.py +++ b/tests/integration/work_management/test_user_scoring.py @@ -91,11 +91,11 @@ def setUpClass(cls, *args, **kwargs) -> None: @classmethod def tearDownClass(cls) -> None: # cleanup test scores and project - projects = sa.search_projects(cls.PROJECT_NAME, return_metadata=True) + projects = sa.list_projects(name__in=[cls.PROJECT_NAME]) for project in projects: try: - sa.delete_project(project) - except Exception: + sa.delete_project(project=project["id"]) + except Exception as _: pass score_templates_name_id_map = {