Exemple #1
0
    def test__register_operations(self, mock_operations, mock_find_files, mock_get_data, mock_get_class, mock_logger):
        mock_file_path = MagicMock(spec=str)
        mock_find_files.return_value = (mock_file_path, )

        mock_module_name = MagicMock(spec=str)
        mock_class_name = MagicMock(spec=str)

        data = {
            "operations": [
                (mock_module_name, mock_class_name),
            ]
        }
        mock_get_data.return_value = data

        mgr = manager.PyFilterManager()

        operations = []
        mock_operations.return_value = operations

        mgr._register_operations()

        mock_get_data.assert_called_with(mock_file_path)
        mock_get_class.assert_called_with(mock_module_name, mock_class_name)

        self.assertTrue(mock_get_class.return_value.return_value in operations)
        mock_get_class.return_value.assert_called_with(mgr)
Exemple #2
0
    def test_operations(self):
        value = MagicMock(spec=list)

        mgr = manager.PyFilterManager()

        mgr._operations = value

        self.assertEqual(mgr.operations, value)
Exemple #3
0
    def test_data(self):
        value = MagicMock(spec=dict)

        mgr = manager.PyFilterManager()

        mgr._data = value

        self.assertEqual(mgr.data, value)
Exemple #4
0
    def test_run_operations_for_stage__no_operations(self, mock_operations):
        mock_stage_name = MagicMock(spec=str)

        mgr = manager.PyFilterManager()

        result = mgr.run_operations_for_stage(mock_stage_name)

        self.assertFalse(result)
Exemple #5
0
    def test___init__(self, mock_register, mock_parse, mock_process):
        mgr = manager.PyFilterManager()

        self.assertEqual(mgr._data, {})
        self.assertEqual(mgr._operations, [])

        mock_register.assert_called()
        mock_parse.assert_called()
        mock_process.assert_called_with(mock_parse.return_value)
Exemple #6
0
    def test__process_parsed_args(self, mock_operations):
        mock_args = MagicMock(spec=argparse.Namespace)

        mock_operation = MagicMock(spec=PyFilterOperation)

        mock_operations.return_value = [mock_operation]

        mgr = manager.PyFilterManager()

        mgr._process_parsed_args(mock_args)

        mock_operation.process_parsed_args.assert_called_with(mock_args)
Exemple #7
0
    def test__get_parsed_args(self, mock_build_parser, mock_register_args):
        mock_parser = MagicMock(argparse.ArgumentParser)

        mock_build_parser.return_value = mock_parser

        mgr = manager.PyFilterManager()

        result = mgr._get_parsed_args()

        self.assertEqual(result, mock_parser.parse_known_args.return_value[0])

        mock_register_args.assert_called_with(mock_parser)
Exemple #8
0
    def test__register_parser_args(self, mock_operations):
        mock_parser = MagicMock(spec=argparse.ArgumentParser)

        mock_operation = MagicMock(spec=PyFilterOperation)

        mgr = manager.PyFilterManager()

        mock_operations.return_value = [mock_operation]

        mgr._register_parser_args(mock_parser)

        mock_operation.register_parser_args.assert_called_with(mock_parser)
Exemple #9
0
    def test_run_operations_for_stage__no_matching_stage(self, mock_operations):
        stage_name = "stage_name"

        mock_operation = MagicMock(spec=PyFilterOperation)
        mock_operation.should_run.return_value = True

        mgr = manager.PyFilterManager()

        mock_operations.return_value = [mock_operation]

        result = mgr.run_operations_for_stage(stage_name)

        self.assertFalse(result)
Exemple #10
0
    def test_run_operations_for_stage__no_runnable(self, mock_operations):
        mock_stage_name = MagicMock(spec=str)

        mock_operation = MagicMock(spec=PyFilterOperation)
        mock_operation.should_run.return_value = False

        mgr = manager.PyFilterManager()

        mock_operations.return_value = [mock_operation]

        result = mgr.run_operations_for_stage(mock_stage_name)

        self.assertFalse(result)
Exemple #11
0
    def test__register_operations__no_data(self, mock_find_files, mock_get_data, mock_get_class, mock_logger):
        mock_file_path = MagicMock(spec=str)
        mock_find_files.return_value = (mock_file_path, )

        data = {}
        mock_get_data.return_value = data

        mgr = manager.PyFilterManager()

        mgr._register_operations()

        mock_get_data.assert_called_with(mock_file_path)
        mock_get_class.assert_not_called()
Exemple #12
0
    def test___init__(self, mocker):
        mock_register = mocker.patch(
            "ht.pyfilter.manager.PyFilterManager._register_operations")
        mock_parse = mocker.patch(
            "ht.pyfilter.manager.PyFilterManager._get_parsed_args")
        mock_process = mocker.patch(
            "ht.pyfilter.manager.PyFilterManager._process_parsed_args")

        mgr = manager.PyFilterManager()

        assert mgr._data == {}
        assert mgr._operations == []

        mock_register.assert_called()
        mock_parse.assert_called()
        mock_process.assert_called_with(mock_parse.return_value)
Exemple #13
0
    def test_run_operations_for_stage(self, mock_operations):
        stage_name = "stage_name"

        mock_func = MagicMock()
        mock_func.return_value = True

        mock_operation = MagicMock(spec=PyFilterOperation)
        mock_operation.should_run.return_value = True
        mock_operation.stage_name = mock_func

        mgr = manager.PyFilterManager()

        mock_operations.return_value = [mock_operation]

        result = mgr.run_operations_for_stage(stage_name, "value", bar="value")

        self.assertTrue(result)

        mock_func.assert_called_with("value", bar="value")
Exemple #14
0
 def _create():
     return manager.PyFilterManager()