From a807c45a4ae470cc139eed4e132cca508be4a477 Mon Sep 17 00:00:00 2001 From: ougongchang Date: Mon, 30 Mar 2020 17:17:40 +0800 Subject: [PATCH] add some exceptions, such as TrainJobNotExistError, GraphNotExistError and so on --- mindinsight/datavisual/common/exceptions.py | 48 +++++++++++++++++++ mindinsight/datavisual/common/validation.py | 6 +-- .../datavisual/data_transform/data_manager.py | 10 ++-- .../datavisual/processors/graph_processor.py | 4 +- .../datavisual/processors/images_processor.py | 13 +++-- .../processors/scalars_processor.py | 7 ++- .../processors/train_task_manager.py | 2 +- mindinsight/datavisual/utils/tools.py | 2 +- mindinsight/utils/constant.py | 6 ++- mindinsight/utils/exceptions.py | 9 ++++ .../image/test_single_image_restful_api.py | 17 ++++--- .../taskmanager/test_plugins_restful_api.py | 5 +- .../datavisual/test_task_manager_api.py | 6 +-- .../data_transform/test_data_manager.py | 4 +- .../processors/test_graph_processor.py | 14 +++--- .../processors/test_images_processor.py | 33 +++++++------ .../processors/test_scalars_processor.py | 13 ++--- .../processors/test_train_task_manager.py | 11 ++--- 18 files changed, 144 insertions(+), 66 deletions(-) diff --git a/mindinsight/datavisual/common/exceptions.py b/mindinsight/datavisual/common/exceptions.py index 05fdcd6..441b362 100644 --- a/mindinsight/datavisual/common/exceptions.py +++ b/mindinsight/datavisual/common/exceptions.py @@ -90,3 +90,51 @@ class MaxCountExceededError(MindInsightException): super(MaxCountExceededError, self).__init__(DataVisualErrors.MAX_COUNT_EXCEEDED_ERROR, error_msg, http_code=400) + + +class TrainJobNotExistError(MindInsightException): + """Can not find the given train job.""" + def __init__(self, error_detail=None): + if error_detail is None: + error_msg = f"Train job is not exist." + else: + error_msg = f"Train job is not exist. Detail: {error_detail}" + super(TrainJobNotExistError, self).__init__(DataVisualErrors.TRAIN_JOB_NOT_EXIST, + error_msg, + http_code=400) + + +class PluginNotAvailableError(MindInsightException): + """The given plugin is not available.""" + def __init__(self, error_detail): + error_msg = f"Plugin is not available. Detail: {error_detail}" + super(PluginNotAvailableError, self).__init__(DataVisualErrors.PLUGIN_NOT_AVAILABLE, + error_msg, + http_code=400) + + +class GraphNotExistError(MindInsightException): + """Can not found the given graph.""" + def __init__(self): + error_msg = 'Graph is not exist.' + super(GraphNotExistError, self).__init__(DataVisualErrors.GRAPH_NOT_EXIST, + error_msg, + http_code=400) + + +class ImageNotExistError(MindInsightException): + """Unable to get a image based on a given condition.""" + def __init__(self, error_detail): + error_msg = f'Image is not exist. Detail: {error_detail}' + super(ImageNotExistError, self).__init__(DataVisualErrors.IMAGE_NOT_EXIST, + error_msg, + http_code=400) + + +class ScalarNotExistError(MindInsightException): + """Unable to get scalar values based on a given condition.""" + def __init__(self, error_detail): + error_msg = f'Scalar value is not exist. Detail: {error_detail}' + super(ScalarNotExistError, self).__init__(DataVisualErrors.SCALAR_NOT_EXIST, + error_msg, + http_code=400) diff --git a/mindinsight/datavisual/common/validation.py b/mindinsight/datavisual/common/validation.py index 30b8391..377d4f3 100644 --- a/mindinsight/datavisual/common/validation.py +++ b/mindinsight/datavisual/common/validation.py @@ -16,6 +16,7 @@ from numbers import Number from mindinsight.utils.exceptions import ParamValueError from mindinsight.utils.exceptions import ParamMissError +from mindinsight.datavisual.common.exceptions import PluginNotAvailableError from mindinsight.datavisual.common.enums import PluginNameEnum from mindinsight.datavisual.utils.tools import to_int @@ -94,9 +95,8 @@ class Validation: plugin_name (str): The plugin name. Raises: - ParamValueError: When plugin name is not valid. + PluginNotAvailableError: When plugin name is not valid. """ plugin_name_list = PluginNameEnum.list_members() if plugin_name not in plugin_name_list: - raise ParamValueError("'plugin_name' only can be one of {}" - "".format(plugin_name_list)) + raise PluginNotAvailableError(f"'plugin_name' only can be one of {plugin_name_list}") diff --git a/mindinsight/datavisual/data_transform/data_manager.py b/mindinsight/datavisual/data_transform/data_manager.py index f09e777..f068fde 100644 --- a/mindinsight/datavisual/data_transform/data_manager.py +++ b/mindinsight/datavisual/data_transform/data_manager.py @@ -30,6 +30,7 @@ from mindinsight.datavisual.common import exceptions from mindinsight.datavisual.common.log import logger from mindinsight.datavisual.common.enums import DataManagerStatus from mindinsight.datavisual.common.enums import PluginNameEnum +from mindinsight.datavisual.common.exceptions import TrainJobNotExistError from mindinsight.datavisual.data_transform.loader_generators.loader_generator import MAX_DATA_LOADER_SIZE from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator from mindinsight.utils.exceptions import MindInsightException @@ -343,7 +344,7 @@ class DataManager: self._check_status_valid() loader_pool = self._get_snapshot_loader_pool() if not self._is_loader_in_loader_pool(train_id, loader_pool): - raise ParamValueError("Can not find any data in loader pool about the train job.") + raise TrainJobNotExistError("Can not find the given train job in cache.") data_loader = loader_pool[train_id].data_loader events_data = data_loader.get_events_data() @@ -365,7 +366,7 @@ class DataManager: loader_pool (dict[str, LoaderStruct]): Refer to self._loader_pool. Raises: - ParamValueError: Can not found train job in data manager. + TrainJobNotExistError: Can not find train job in data manager. """ is_exist = False if train_id in loader_pool: @@ -375,7 +376,7 @@ class DataManager: is_exist = True break if not is_exist: - raise ParamValueError("Can not find the train job in data manager.") + raise TrainJobNotExistError("Can not find the train job in data manager.") def _is_loader_in_loader_pool(self, train_id, loader_pool): """ @@ -406,8 +407,7 @@ class DataManager: """Check if the status is valid to load data.""" if self.status == DataManagerStatus.INIT.value: - raise exceptions.SummaryLogIsLoading("Data is being loaded, " - "current status: %s." % self._status) + raise exceptions.SummaryLogIsLoading("Data is being loaded, current status: %s." % self._status) def get_single_train_job(self, train_id, manual_update=False): """ diff --git a/mindinsight/datavisual/processors/graph_processor.py b/mindinsight/datavisual/processors/graph_processor.py index 8ff7370..a1da429 100644 --- a/mindinsight/datavisual/processors/graph_processor.py +++ b/mindinsight/datavisual/processors/graph_processor.py @@ -40,9 +40,9 @@ class GraphProcessor(BaseProcessor): train_job = self._data_manager.get_train_job_by_plugin(train_id, PluginNameEnum.GRAPH.value) if train_job is None: - raise exceptions.SummaryLogPathInvalid() + raise exceptions.TrainJobNotExistError() if not train_job['tags']: - raise ParamValueError("Can not find any graph data in the train job.") + raise exceptions.GraphNotExistError() if tag is None: tag = train_job['tags'][0] diff --git a/mindinsight/datavisual/processors/images_processor.py b/mindinsight/datavisual/processors/images_processor.py index fd52b54..a97cc2a 100644 --- a/mindinsight/datavisual/processors/images_processor.py +++ b/mindinsight/datavisual/processors/images_processor.py @@ -16,6 +16,7 @@ from mindinsight.datavisual.utils.tools import to_int from mindinsight.utils.exceptions import ParamValueError from mindinsight.datavisual.common.validation import Validation +from mindinsight.datavisual.common.exceptions import ImageNotExistError from mindinsight.datavisual.processors.base_processor import BaseProcessor @@ -46,7 +47,10 @@ class ImageProcessor(BaseProcessor): """ Validation.check_param_empty(train_id=train_id, tag=tag) result = [] - tensors = self._data_manager.list_tensors(train_id, tag) + try: + tensors = self._data_manager.list_tensors(train_id, tag) + except ParamValueError as ex: + raise ImageNotExistError(ex.message) for tensor in tensors: # no tensor_proto in TensorEvent @@ -75,7 +79,10 @@ class ImageProcessor(BaseProcessor): Validation.check_param_empty(train_id=train_id, tag=tag, step=step) step = to_int(step, "step") - tensors = self._data_manager.list_tensors(train_id, tag) + try: + tensors = self._data_manager.list_tensors(train_id, tag) + except ParamValueError as ex: + raise ImageNotExistError(ex.message) image = None for tensor in tensors: @@ -87,6 +94,6 @@ class ImageProcessor(BaseProcessor): break if image is None: - raise ParamValueError("Can not find the step with given train job id and tag.") + raise ImageNotExistError("Can not find the step with given train job id and tag.") return image diff --git a/mindinsight/datavisual/processors/scalars_processor.py b/mindinsight/datavisual/processors/scalars_processor.py index e665c67..d7411fd 100644 --- a/mindinsight/datavisual/processors/scalars_processor.py +++ b/mindinsight/datavisual/processors/scalars_processor.py @@ -13,6 +13,8 @@ # limitations under the License. # ============================================================================ """Scalar Processor APIs.""" +from mindinsight.utils.exceptions import ParamValueError +from mindinsight.datavisual.common.exceptions import ScalarNotExistError from mindinsight.datavisual.common.validation import Validation from mindinsight.datavisual.processors.base_processor import BaseProcessor @@ -33,7 +35,10 @@ class ScalarsProcessor(BaseProcessor): """ Validation.check_param_empty(train_id=train_id, tag=tag) job_response = [] - tensors = self._data_manager.list_tensors(train_id, tag) + try: + tensors = self._data_manager.list_tensors(train_id, tag) + except ParamValueError as ex: + raise ScalarNotExistError(ex.message) for tensor in tensors: job_response.append({ diff --git a/mindinsight/datavisual/processors/train_task_manager.py b/mindinsight/datavisual/processors/train_task_manager.py index 9d0ab25..05b9508 100644 --- a/mindinsight/datavisual/processors/train_task_manager.py +++ b/mindinsight/datavisual/processors/train_task_manager.py @@ -38,7 +38,7 @@ class TrainTaskManager(BaseProcessor): Validation.check_plugin_name(plugin_name=plugin_name) train_job = self._data_manager.get_train_job_by_plugin(train_id=train_id, plugin_name=plugin_name) if train_job is None: - raise exceptions.SummaryLogPathInvalid() + raise exceptions.TrainJobNotExistError() return dict(train_jobs=[train_job]) def get_plugins(self, train_id, manual_update=True): diff --git a/mindinsight/datavisual/utils/tools.py b/mindinsight/datavisual/utils/tools.py index 1b4322d..753bcf5 100644 --- a/mindinsight/datavisual/utils/tools.py +++ b/mindinsight/datavisual/utils/tools.py @@ -133,7 +133,7 @@ def get_train_id(request): try: train_id = unquote(train_id, errors='strict') except UnicodeDecodeError: - raise exceptions.ParamValueError('Unquote error with strict mode') + raise exceptions.UrlDecodeError('Unquote train id error with strict mode') return train_id diff --git a/mindinsight/utils/constant.py b/mindinsight/utils/constant.py index 67a2cbc..d6ec95f 100644 --- a/mindinsight/utils/constant.py +++ b/mindinsight/utils/constant.py @@ -40,6 +40,7 @@ class GeneralErrors(Enum): PATH_NOT_EXISTS_ERROR = 4 FILE_SYSTEM_PERMISSION_ERROR = 8 PORT_NOT_AVAILABLE_ERROR = 9 + URL_DECODE_ERROR = 10 class LineageMgrErrors(Enum): @@ -55,6 +56,9 @@ class DataVisualErrors(Enum): TRAIN_JOB_NOT_EXIST = 5 SUMMARY_LOG_PATH_INVALID = 6 SUMMARY_LOG_IS_LOADING = 7 - SUMMARY_LOG_LOAD_FAILED = 8 NODE_NOT_IN_GRAPH_ERROR = 9 PATH_NOT_DIRECTORY_ERROR = 10 + PLUGIN_NOT_AVAILABLE = 11 + GRAPH_NOT_EXIST = 12 + IMAGE_NOT_EXIST = 13 + SCALAR_NOT_EXIST = 14 diff --git a/mindinsight/utils/exceptions.py b/mindinsight/utils/exceptions.py index 4b1624d..12f6862 100644 --- a/mindinsight/utils/exceptions.py +++ b/mindinsight/utils/exceptions.py @@ -176,3 +176,12 @@ class UnknownError(MindInsightException): GeneralErrors.UNKNOWN_ERROR, error_msg, http_code=500) + + +class UrlDecodeError(MindInsightException): + """Url decoding failed""" + def __init__(self, error_detail): + error_msg = f"Url decode failed. Detail: {error_detail}" + super(UrlDecodeError, self).__init__(GeneralErrors.URL_DECODE_ERROR, + error_msg, + http_code=400) diff --git a/tests/st/func/datavisual/image/test_single_image_restful_api.py b/tests/st/func/datavisual/image/test_single_image_restful_api.py index 573c5dc..ba0e207 100644 --- a/tests/st/func/datavisual/image/test_single_image_restful_api.py +++ b/tests/st/func/datavisual/image/test_single_image_restful_api.py @@ -127,9 +127,8 @@ class TestSingleImage: assert response.status_code == 400 response = response.get_json() - assert response['error_code'] == '50540002' - assert response['error_msg'] == "Invalid parameter value. Can not find any data " \ - "in loader pool about the train job." + assert response['error_code'] == '50545005' + assert response['error_msg'] == "Train job is not exist. Detail: Can not find the given train job in cache." @pytest.mark.level1 @pytest.mark.env_single @@ -149,9 +148,9 @@ class TestSingleImage: assert response.status_code == 400 response = response.get_json() - assert response['error_code'] == '50540002' - assert response['error_msg'] == "Invalid parameter value. Can not find any data " \ - "in this train job by given tag." + assert response['error_code'] == '5054500D' + assert response['error_msg'] == "Image is not exist. Detail: Invalid parameter value. " \ + "Can not find any data in this train job by given tag." @pytest.mark.level1 @pytest.mark.env_single @@ -170,9 +169,9 @@ class TestSingleImage: assert response.status_code == 400 response = response.get_json() - assert response['error_code'] == '50540002' - assert response['error_msg'] == "Invalid parameter value. Can not find the step " \ - "with given train job id and tag." + assert response['error_code'] == '5054500D' + assert response['error_msg'] == "Image is not exist. Detail: " \ + "Can not find the step with given train job id and tag." @pytest.mark.level1 @pytest.mark.env_single diff --git a/tests/st/func/datavisual/taskmanager/test_plugins_restful_api.py b/tests/st/func/datavisual/taskmanager/test_plugins_restful_api.py index 95bb9a2..ccd2a9a 100644 --- a/tests/st/func/datavisual/taskmanager/test_plugins_restful_api.py +++ b/tests/st/func/datavisual/taskmanager/test_plugins_restful_api.py @@ -89,9 +89,8 @@ class TestPlugins: assert response.status_code == 400 response = response.get_json() - assert response['error_code'] == '50540002' - assert response['error_msg'] == "Invalid parameter value. Can not find " \ - "the train job in data manager." + assert response['error_code'] == '50545005' + assert response['error_msg'] == "Train job is not exist. Detail: Can not find the train job in data manager." @pytest.mark.level1 @pytest.mark.env_single diff --git a/tests/ut/backend/datavisual/test_task_manager_api.py b/tests/ut/backend/datavisual/test_task_manager_api.py index 47475fd..6b9e689 100644 --- a/tests/ut/backend/datavisual/test_task_manager_api.py +++ b/tests/ut/backend/datavisual/test_task_manager_api.py @@ -64,9 +64,9 @@ class TestTrainTask: assert response.status_code == 400 response = response.get_json() - assert response['error_code'] == '50540002' - assert response['error_msg'] == "Invalid parameter value. 'plugin_name' " \ - "only can be one of {}".format(plugin_name_list) + assert response['error_code'] == '5054500B' + assert response['error_msg'] == f"Plugin is not available. " \ + f"Detail: 'plugin_name' only can be one of {plugin_name_list}" @patch.object(TrainTaskManager, 'get_single_train_task') def test_query_single_train_task_with_plugin_name_exists(self, mock_train_task_manager, client): diff --git a/tests/ut/datavisual/data_transform/test_data_manager.py b/tests/ut/datavisual/data_transform/test_data_manager.py index 0ed02a3..d324d3c 100644 --- a/tests/ut/datavisual/data_transform/test_data_manager.py +++ b/tests/ut/datavisual/data_transform/test_data_manager.py @@ -28,6 +28,7 @@ from unittest.mock import Mock, patch import pytest from mindinsight.datavisual.common.enums import DataManagerStatus, PluginNameEnum +from mindinsight.datavisual.common.exceptions import TrainJobNotExistError from mindinsight.datavisual.data_transform import data_manager, ms_data_loader from mindinsight.datavisual.data_transform.data_loader import DataLoader from mindinsight.datavisual.data_transform.data_manager import DataManager @@ -185,9 +186,10 @@ class TestDataManager: d_manager._status = DataManagerStatus.LOADING.value tag = 'image' train_job_01 = 'train_01' - with pytest.raises(ParamValueError): + with pytest.raises(TrainJobNotExistError) as ex_info: d_manager.list_tensors(train_job_01, tag) shutil.rmtree(summary_base_dir) + assert ex_info.value.message == 'Train job is not exist. Detail: Can not find the given train job in cache.' @patch.object(data_manager.DataLoaderGenerator, "generate_loaders") def test_caching(self, mock_generate_loaders): diff --git a/tests/ut/datavisual/processors/test_graph_processor.py b/tests/ut/datavisual/processors/test_graph_processor.py index 1a26357..e9963c8 100644 --- a/tests/ut/datavisual/processors/test_graph_processor.py +++ b/tests/ut/datavisual/processors/test_graph_processor.py @@ -26,6 +26,7 @@ import pytest from mindinsight.datavisual.common import exceptions from mindinsight.datavisual.common.enums import PluginNameEnum +from mindinsight.datavisual.common.exceptions import GraphNotExistError from mindinsight.datavisual.data_transform import data_manager from mindinsight.datavisual.data_transform.data_manager import DataManager from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator @@ -102,16 +103,16 @@ class TestGraphProcessor: def test_get_nodes_with_not_exist_train_id(self): """Test getting nodes with not exist train id.""" test_train_id = "not_exist_train_id" - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(exceptions.TrainJobNotExistError) as exc_info: GraphProcessor(test_train_id, self._mock_data_manager) - assert "Can not find the train job in data manager." in exc_info.value.message + assert "Train job is not exist. Detail: Can not find the train job in data manager." == exc_info.value.message @pytest.mark.usefixtures('load_graph_record') @patch.object(DataManager, 'get_train_job_by_plugin') def test_get_nodes_with_loader_is_none(self, mock_get_train_job_by_plugin): """Test get nodes with loader is None.""" mock_get_train_job_by_plugin.return_value = None - with pytest.raises(exceptions.SummaryLogPathInvalid): + with pytest.raises(exceptions.TrainJobNotExistError): GraphProcessor(self._train_id, self._mock_data_manager) assert mock_get_train_job_by_plugin.called @@ -223,7 +224,8 @@ class TestGraphProcessor: @pytest.mark.usefixtures('load_no_graph_record') def test_check_graph_status_no_graph(self): """Test checking graph status no graph.""" - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(GraphNotExistError) as exc_info: GraphProcessor(self._train_id, self._mock_data_manager) - assert exc_info.value.message == "Invalid parameter value. Can not find any graph data " \ - "in the train job." + + assert exc_info.value.error_code == '5054500C' + assert exc_info.value.message == "Graph is not exist." diff --git a/tests/ut/datavisual/processors/test_images_processor.py b/tests/ut/datavisual/processors/test_images_processor.py index defa711..d1e0f7a 100644 --- a/tests/ut/datavisual/processors/test_images_processor.py +++ b/tests/ut/datavisual/processors/test_images_processor.py @@ -24,6 +24,8 @@ from unittest.mock import Mock import pytest from mindinsight.datavisual.common.enums import PluginNameEnum +from mindinsight.datavisual.common.exceptions import TrainJobNotExistError +from mindinsight.datavisual.common.exceptions import ImageNotExistError from mindinsight.datavisual.data_transform import data_manager from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator from mindinsight.datavisual.processors.images_processor import ImageProcessor @@ -107,11 +109,11 @@ class TestImagesProcessor: """Test getting metadata list with not exist id.""" test_train_id = 'not_exist_id' image_processor = ImageProcessor(self._mock_data_manager) - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(TrainJobNotExistError) as exc_info: image_processor.get_metadata_list(test_train_id, self._tag_name) - assert exc_info.value.error_code == '50540002' - assert "Can not find any data in loader pool about the train job." in exc_info.value.message + assert exc_info.value.error_code == '50545005' + assert "Train job is not exist. Detail: Can not find the given train job in cache." == exc_info.value.message @pytest.mark.usefixtures('load_image_record') def test_get_metadata_list_with_not_exist_tag(self): @@ -120,10 +122,10 @@ class TestImagesProcessor: image_processor = ImageProcessor(self._mock_data_manager) - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(ImageNotExistError) as exc_info: image_processor.get_metadata_list(self._train_id, test_tag_name) - assert exc_info.value.error_code == '50540002' + assert exc_info.value.error_code == '5054500D' assert "Can not find any data in this train job by given tag." in exc_info.value.message @pytest.mark.usefixtures('load_image_record') @@ -144,11 +146,11 @@ class TestImagesProcessor: test_step = self._steps_list[0] image_processor = ImageProcessor(self._mock_data_manager) - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(TrainJobNotExistError) as exc_info: image_processor.get_single_image(test_train_id, test_tag_name, test_step) - assert exc_info.value.error_code == '50540002' - assert "Can not find any data in loader pool about the train job." in exc_info.value.message + assert exc_info.value.error_code == '50545005' + assert "Train job is not exist. Detail: Can not find the given train job in cache." == exc_info.value.message @pytest.mark.usefixtures('load_image_record') def test_get_single_image_with_not_exist_tag(self): @@ -158,10 +160,10 @@ class TestImagesProcessor: image_processor = ImageProcessor(self._mock_data_manager) - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(ImageNotExistError) as exc_info: image_processor.get_single_image(self._train_id, test_tag_name, test_step) - assert exc_info.value.error_code == '50540002' + assert exc_info.value.error_code == '5054500D' assert "Can not find any data in this train job by given tag." in exc_info.value.message @pytest.mark.usefixtures('load_image_record') @@ -172,11 +174,12 @@ class TestImagesProcessor: image_processor = ImageProcessor(self._mock_data_manager) - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(ImageNotExistError) as exc_info: image_processor.get_single_image(self._train_id, test_tag_name, test_step) - assert exc_info.value.error_code == '50540002' - assert "Can not find the step with given train job id and tag." in exc_info.value.message + assert exc_info.value.error_code == '5054500D' + assert "Image is not exist. " \ + "Detail: Can not find the step with given train job id and tag." == exc_info.value.message @pytest.mark.usefixtures('load_image_record') def test_get_single_image_success(self): @@ -206,7 +209,7 @@ class TestImagesProcessor: try: image_processor.get_single_image(self._train_id, test_tag_name, test_step) - except ParamValueError: + except ImageNotExistError: cnt += 1 assert len(self._more_steps_list) - cnt == 10 @@ -233,7 +236,7 @@ class TestImagesProcessor: try: image_processor.get_single_image(self._train_id, test_tag_name, test_step) current_step_list.append(test_step) - except ParamValueError: + except ImageNotExistError: not_found_step_list.append(test_step) assert current_step_list == [1, 2, 3, 4, 15] diff --git a/tests/ut/datavisual/processors/test_scalars_processor.py b/tests/ut/datavisual/processors/test_scalars_processor.py index 87c54ee..704d83f 100644 --- a/tests/ut/datavisual/processors/test_scalars_processor.py +++ b/tests/ut/datavisual/processors/test_scalars_processor.py @@ -24,11 +24,12 @@ from unittest.mock import Mock import pytest from mindinsight.datavisual.common.enums import PluginNameEnum +from mindinsight.datavisual.common.exceptions import TrainJobNotExistError +from mindinsight.datavisual.common.exceptions import ScalarNotExistError from mindinsight.datavisual.data_transform import data_manager from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator from mindinsight.datavisual.processors.scalars_processor import ScalarsProcessor from mindinsight.datavisual.utils import crc32 -from mindinsight.utils.exceptions import ParamValueError from ....utils.log_operations import LogOperations from ....utils.tools import check_loading_done, delete_files_or_dirs @@ -84,11 +85,11 @@ class TestScalarsProcessor: """Get metadata list with not exist id.""" test_train_id = 'not_exist_id' scalar_processor = ScalarsProcessor(self._mock_data_manager) - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(TrainJobNotExistError) as exc_info: scalar_processor.get_metadata_list(test_train_id, self._tag_name) - assert exc_info.value.error_code == '50540002' - assert "Can not find any data in loader pool about the train job." in exc_info.value.message + assert exc_info.value.error_code == '50545005' + assert "Train job is not exist. Detail: Can not find the given train job in cache." == exc_info.value.message @pytest.mark.usefixtures('load_scalar_record') def test_get_metadata_list_with_not_exist_tag(self): @@ -97,10 +98,10 @@ class TestScalarsProcessor: scalar_processor = ScalarsProcessor(self._mock_data_manager) - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(ScalarNotExistError) as exc_info: scalar_processor.get_metadata_list(self._train_id, test_tag_name) - assert exc_info.value.error_code == '50540002' + assert exc_info.value.error_code == '5054500E' assert "Can not find any data in this train job by given tag." in exc_info.value.message @pytest.mark.usefixtures('load_scalar_record') diff --git a/tests/ut/datavisual/processors/test_train_task_manager.py b/tests/ut/datavisual/processors/test_train_task_manager.py index ab6f38d..f3b0ea1 100644 --- a/tests/ut/datavisual/processors/test_train_task_manager.py +++ b/tests/ut/datavisual/processors/test_train_task_manager.py @@ -25,11 +25,11 @@ from unittest.mock import Mock import pytest from mindinsight.datavisual.common.enums import PluginNameEnum +from mindinsight.datavisual.common.exceptions import TrainJobNotExistError from mindinsight.datavisual.data_transform import data_manager from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator from mindinsight.datavisual.processors.train_task_manager import TrainTaskManager from mindinsight.datavisual.utils import crc32 -from mindinsight.utils.exceptions import ParamValueError from ....utils.log_operations import LogOperations from ....utils.tools import check_loading_done, delete_files_or_dirs @@ -109,12 +109,11 @@ class TestTrainTaskManager: train_task_manager = TrainTaskManager(self._mock_data_manager) for plugin_name in PluginNameEnum.list_members(): test_train_id = "not_exist_id" - with pytest.raises(ParamValueError) as exc_info: + with pytest.raises(TrainJobNotExistError) as exc_info: _ = train_task_manager.get_single_train_task(plugin_name, test_train_id) - assert exc_info.type == ParamValueError - assert exc_info.value.message == "Invalid parameter value. Can not find " \ - "the train job in data manager." - assert exc_info.value.error_code == '50540002' + assert exc_info.value.message == "Train job is not exist. " \ + "Detail: Can not find the train job in data manager." + assert exc_info.value.error_code == '50545005' @pytest.mark.usefixtures('load_data') def test_get_single_train_task_with_params(self): -- GitLab