[LYN-4288] Adding error page if resource mapping tool has invalid setup (#1219)

This commit is contained in:
Vincent Liu
2021-06-09 19:29:34 -07:00
committed by GitHub
parent 463e0cfff3
commit ac8ee00aff
16 changed files with 281 additions and 47 deletions
@@ -33,6 +33,7 @@ class TestConfigurationManager(TestCase):
def test_get_instance_raise_exception(self) -> None:
self.assertRaises(Exception, ConfigurationManager)
@patch("utils.aws_utils.setup_default_session")
@patch("utils.aws_utils.get_default_region", return_value=_expected_region)
@patch("utils.aws_utils.get_default_account_id", return_value=_expected_account_id)
@patch("utils.file_utils.find_files_with_suffix_under_directory", return_value=_expected_config_files)
@@ -42,8 +43,10 @@ class TestConfigurationManager(TestCase):
mock_check_path_exists: MagicMock,
mock_find_files_with_suffix_under_directory: MagicMock,
mock_get_default_account_id: MagicMock,
mock_get_default_region: MagicMock) -> None:
TestConfigurationManager._expected_configuration_manager.setup("")
mock_get_default_region: MagicMock,
mock_setup_default_session: MagicMock) -> None:
TestConfigurationManager._expected_configuration_manager.setup("", "")
mock_setup_default_session.assert_called_once()
mock_get_current_directory_path.assert_called_once()
mock_check_path_exists.assert_called_once_with(TestConfigurationManager._expected_directory_path)
mock_find_files_with_suffix_under_directory.assert_called_once_with(
@@ -59,6 +62,7 @@ class TestConfigurationManager(TestCase):
assert TestConfigurationManager._expected_configuration_manager.configuration.region == \
TestConfigurationManager._expected_region
@patch("utils.aws_utils.setup_default_session")
@patch("utils.aws_utils.get_default_region", return_value=_expected_region)
@patch("utils.aws_utils.get_default_account_id", return_value=_expected_account_id)
@patch("utils.file_utils.find_files_with_suffix_under_directory", return_value=_expected_config_files)
@@ -68,8 +72,11 @@ class TestConfigurationManager(TestCase):
mock_check_path_exists: MagicMock,
mock_find_files_with_suffix_under_directory: MagicMock,
mock_get_default_account_id: MagicMock,
mock_get_default_region: MagicMock) -> None:
TestConfigurationManager._expected_configuration_manager.setup(TestConfigurationManager._expected_directory_path)
mock_get_default_region: MagicMock,
mock_setup_default_session: MagicMock) -> None:
TestConfigurationManager._expected_configuration_manager.setup(
"", TestConfigurationManager._expected_directory_path)
mock_setup_default_session.assert_called_once()
mock_normalize_file_path.assert_called_once()
mock_check_path_exists.assert_called_once_with(TestConfigurationManager._expected_directory_path)
mock_find_files_with_suffix_under_directory.assert_called_once_with(
@@ -25,6 +25,9 @@ class TestControllerManager(TestCase):
@classmethod
def setUpClass(cls) -> None:
error_controller_patcher: patch = patch("manager.controller_manager.ErrorController")
cls._mock_error_controller = error_controller_patcher.start()
import_resources_controller_patcher: patch = patch("manager.controller_manager.ImportResourcesController")
cls._mock_import_resources_controller = import_resources_controller_patcher.start()
@@ -52,8 +55,14 @@ class TestControllerManager(TestCase):
mocked_import_resources_controller: MagicMock = \
TestControllerManager._mock_import_resources_controller.return_value
TestControllerManager._expected_controller_manager.setup()
TestControllerManager._expected_controller_manager.setup(False)
mocked_view_edit_controller.setup.assert_called_once()
mocked_import_resources_controller.setup.assert_called_once()
mocked_import_resources_controller.add_import_resources_sender.connect.assert_called_once_with(
mocked_view_edit_controller.add_import_resources_receiver)
def test_setup_error_controller_setup_gets_invoked(self) -> None:
mocked_error_controller: MagicMock = TestControllerManager._mock_error_controller.return_value
TestControllerManager._expected_controller_manager.setup(True)
mocked_error_controller.setup.assert_called_once()
@@ -45,9 +45,15 @@ class TestThreadManager(TestCase):
def test_setup_thread_pool_setup_with_expected_configuration(self) -> None:
mocked_thread_pool: MagicMock = TestThreadManager._mock_thread_pool.return_value
TestThreadManager._expected_thread_manager.setup()
TestThreadManager._expected_thread_manager.setup(False)
mocked_thread_pool.setMaxThreadCount.assert_called_once_with(1)
def test_setup_thread_pool_skip_setup(self) -> None:
mocked_thread_pool: MagicMock = TestThreadManager._mock_thread_pool.return_value
TestThreadManager._expected_thread_manager.setup(True)
mocked_thread_pool.setMaxThreadCount.asset_not_called()
def test_start_thread_pool_start_expected_worker(self) -> None:
mocked_thread_pool: MagicMock = TestThreadManager._mock_thread_pool.return_value
expected_mocked_worker: MagicMock = MagicMock()
@@ -13,13 +13,14 @@ from typing import List
from unittest import TestCase
from unittest.mock import (call, MagicMock, patch)
from manager.view_manager import (ViewManager, ViewManagerConstants)
from manager.view_manager import (ERROR_PAGE_INDEX, ViewManager, ViewManagerConstants)
class TestViewManager(TestCase):
"""
ViewManager unit test cases
"""
_mock_error_page: MagicMock
_mock_import_resources_page: MagicMock
_mock_view_edit_page: MagicMock
_mock_main_window: MagicMock
@@ -28,6 +29,9 @@ class TestViewManager(TestCase):
@classmethod
def setUpClass(cls) -> None:
error_page_patcher: patch = patch("manager.view_manager.ErrorPage")
cls._mock_error_page = error_page_patcher.start()
import_resources_page_patcher: patch = patch("manager.view_manager.ImportResourcesPage")
cls._mock_import_resources_page = import_resources_page_patcher.start()
@@ -60,6 +64,15 @@ class TestViewManager(TestCase):
def test_get_instance_raise_exception(self) -> None:
self.assertRaises(Exception, ViewManager)
def test_get_error_page_return_expected_page(self) -> None:
expected_page: MagicMock = TestViewManager._mock_error_page.return_value
mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value
mocked_stacked_pages.widget.return_value = expected_page
actual_page: MagicMock = TestViewManager._expected_view_manager.get_error_page()
mocked_stacked_pages.widget.assert_called_once_with(ERROR_PAGE_INDEX)
assert actual_page == expected_page
def test_get_import_resources_page_return_expected_page(self) -> None:
expected_page: MagicMock = TestViewManager._mock_import_resources_page.return_value
mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value
@@ -83,18 +96,34 @@ class TestViewManager(TestCase):
mocked_import_resources_page: MagicMock = TestViewManager._mock_import_resources_page.return_value
mocked_view_edit_page: MagicMock = TestViewManager._mock_view_edit_page.return_value
TestViewManager._expected_view_manager.setup()
TestViewManager._expected_view_manager.setup(False)
mocked_calls: List[call] = [call(mocked_view_edit_page), call(mocked_import_resources_page)]
mocked_stacked_pages.addWidget.assert_has_calls(mocked_calls)
def test_setup_error_page_only(self) -> None:
mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value
mocked_error_page: MagicMock = TestViewManager._mock_error_page.return_value
TestViewManager._expected_view_manager.setup(True)
mocked_calls: List[call] = [call(mocked_error_page)]
mocked_stacked_pages.addWidget.assert_has_calls(mocked_calls)
def test_show_stacked_pages_show_with_expected_index(self) -> None:
mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value
mocked_main_window: MagicMock = TestViewManager._mock_main_window.return_value
TestViewManager._expected_view_manager.show()
TestViewManager._expected_view_manager.show(False)
mocked_stacked_pages.setCurrentIndex.assert_called_once_with(ViewManagerConstants.VIEW_AND_EDIT_PAGE_INDEX)
mocked_main_window.show.assert_called_once()
def test_show_stacked_pages_show_error_plage(self) -> None:
mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value
mocked_main_window: MagicMock = TestViewManager._mock_main_window.return_value
TestViewManager._expected_view_manager.show(True)
mocked_stacked_pages.setCurrentIndex.assert_called_once_with(ERROR_PAGE_INDEX)
mocked_main_window.show.assert_called_once()
def test_switch_to_view_edit_page_stacked_pages_switch_to_expected_index(self) -> None:
mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value