Пример #1
0
    def test_error_cleanup(self):
        expected_stdout = "some info"
        expected_stderr = "some error"
        expected_retval = 1
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        call_list = [
            mock.call(self.crm_mon_cmd()),
            mock.call([self.path("crm_resource"), "--cleanup"]),
        ]
        return_value_list = [
            (self.fixture_status_xml(1, 1), "", 0),
            (expected_stdout, expected_stderr, expected_retval),
        ]
        mock_runner.run.side_effect = return_value_list

        assert_raise_library_error(
            lambda: lib.resource_cleanup(mock_runner),
            (
                Severity.ERROR,
                report_codes.RESOURCE_CLEANUP_ERROR,
                {
                    "reason": expected_stderr + "\n" + expected_stdout,
                }
            )
        )

        self.assertEqual(len(return_value_list), len(call_list))
        self.assertEqual(len(return_value_list), mock_runner.run.call_count)
        mock_runner.run.assert_has_calls(call_list)
Пример #2
0
    def test_error_cleanup(self):
        expected_stdout = "some info"
        expected_stderr = "some error"
        expected_retval = 1
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        call_list = [
            mock.call(self.crm_mon_cmd()),
            mock.call([self.path("crm_resource"), "--cleanup"]),
        ]
        return_value_list = [
            (self.fixture_status_xml(1, 1), "", 0),
            (expected_stdout, expected_stderr, expected_retval),
        ]
        mock_runner.run.side_effect = return_value_list

        assert_raise_library_error(
            lambda: lib.resource_cleanup(mock_runner),
            (
                Severity.ERROR,
                report_codes.RESOURCE_CLEANUP_ERROR,
                {
                    "reason": expected_stderr + "\n" + expected_stdout,
                }
            )
        )

        self.assertEqual(len(return_value_list), len(call_list))
        self.assertEqual(len(return_value_list), mock_runner.run.call_count)
        mock_runner.run.assert_has_calls(call_list)
Пример #3
0
 def test_basic(self):
     self.config.runner.pcmk.resource_cleanup(
         stdout=self.stdout, stderr=self.stderr
     )
     env = self.env_assist.get_env()
     real_output = lib.resource_cleanup(env.cmd_runner())
     self.assert_output(real_output)
Пример #4
0
 def test_basic(self):
     self.config.runner.pcmk.resource_cleanup(
         stdout=self.stdout,
         stderr=self.stderr
     )
     env = self.env_assist.get_env()
     real_output = lib.resource_cleanup(env.cmd_runner())
     self.assert_output(real_output)
Пример #5
0
    def test_forced(self):
        expected_stdout = "expected output"
        expected_stderr = "expected stderr"
        mock_runner = get_runner(expected_stdout, expected_stderr, 0)

        real_output = lib.resource_cleanup(mock_runner, force=True)

        mock_runner.run.assert_called_once_with(
            [self.path("crm_resource"), "--cleanup"])
        self.assertEqual(expected_stdout + "\n" + expected_stderr, real_output)
Пример #6
0
    def test_threshold_exceeded(self):
        mock_runner = get_runner(self.fixture_status_xml(1000, 1000), "", 0)

        assert_raise_library_error(
            lambda: lib.resource_cleanup(mock_runner),
            (Severity.ERROR, report_codes.RESOURCE_CLEANUP_TOO_TIME_CONSUMING,
             {
                 "threshold": 100
             }, report_codes.FORCE_LOAD_THRESHOLD))

        mock_runner.run.assert_called_once_with(self.crm_mon_cmd())
Пример #7
0
    def test_node(self):
        node = "test_node"
        expected_stdout = "expected output"
        expected_stderr = "expected stderr"
        mock_runner = get_runner(expected_stdout, expected_stderr, 0)

        real_output = lib.resource_cleanup(mock_runner, node=node)

        mock_runner.run.assert_called_once_with(
            [self.path("crm_resource"), "--cleanup", "--node", node])
        self.assertEqual(expected_stdout + "\n" + expected_stderr, real_output)
Пример #8
0
    def test_forced(self):
        expected_stdout = "expected output"
        expected_stderr = "expected stderr"
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = (expected_stdout, expected_stderr, 0)

        real_output = lib.resource_cleanup(mock_runner, force=True)

        mock_runner.run.assert_called_once_with(
            [self.path("crm_resource"), "--cleanup"])
        self.assertEqual(expected_stdout + "\n" + expected_stderr, real_output)
Пример #9
0
    def test_all_options(self):
        self.config.runner.pcmk.resource_cleanup(stdout=self.stdout,
                                                 stderr=self.stderr,
                                                 resource=self.resource,
                                                 node=self.node)

        env = self.env_assist.get_env()
        real_output = lib.resource_cleanup(env.cmd_runner(),
                                           resource=self.resource,
                                           node=self.node)
        self.assert_output(real_output)
Пример #10
0
 def test_resource_strict(self):
     self.config.runner.pcmk.resource_cleanup(
         stdout=self.stdout,
         stderr=self.stderr,
         resource=self.resource,
         strict=True,
     )
     env = self.env_assist.get_env()
     real_output = lib.resource_cleanup(env.cmd_runner(),
                                        resource=self.resource,
                                        strict=True)
     self.assert_output(real_output)
Пример #11
0
    def test_error_cleanup(self):
        self.config.runner.pcmk.resource_cleanup(stdout=self.stdout,
                                                 stderr=self.stderr,
                                                 returncode=1)

        env = self.env_assist.get_env()
        self.env_assist.assert_raise_library_error(
            lambda: lib.resource_cleanup(env.cmd_runner()), [
                fixture.error(report_codes.RESOURCE_CLEANUP_ERROR,
                              force_code=None,
                              reason=(self.stderr + "\n" + self.stdout))
            ],
            expected_in_processor=False)
Пример #12
0
    def test_all_options(self):
        self.config.runner.pcmk.resource_cleanup(
            stdout=self.stdout,
            stderr=self.stderr,
            resource=self.resource,
            node=self.node
        )

        env = self.env_assist.get_env()
        real_output = lib.resource_cleanup(
            env.cmd_runner(), resource=self.resource, node=self.node
        )
        self.assert_output(real_output)
Пример #13
0
    def test_error_state(self):
        expected_stdout = "some info"
        expected_stderr = "some error"
        expected_retval = 1
        mock_runner = get_runner(expected_stdout, expected_stderr,
                                 expected_retval)

        assert_raise_library_error(
            lambda: lib.resource_cleanup(mock_runner),
            (Severity.ERROR, report_codes.CRM_MON_ERROR, {
                "reason": expected_stderr + "\n" + expected_stdout,
            }))

        mock_runner.run.assert_called_once_with(self.crm_mon_cmd())
Пример #14
0
    def test_forced(self):
        expected_stdout = "expected output"
        expected_stderr = "expected stderr"
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = (expected_stdout, expected_stderr, 0)

        real_output = lib.resource_cleanup(mock_runner, force=True)

        mock_runner.run.assert_called_once_with(
            [self.path("crm_resource"), "--cleanup"]
        )
        self.assertEqual(
            expected_stdout + "\n" + expected_stderr,
            real_output
        )
Пример #15
0
    def test_node_and_resource(self):
        node = "test_node"
        resource = "test_resource"
        expected_stdout = "expected output"
        expected_stderr = "expected stderr"
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = (expected_stdout, expected_stderr, 0)

        real_output = lib.resource_cleanup(mock_runner,
                                           resource=resource,
                                           node=node)

        mock_runner.run.assert_called_once_with([
            self.path("crm_resource"), "--cleanup", "--resource", resource,
            "--node", node
        ])
        self.assertEqual(expected_stdout + "\n" + expected_stderr, real_output)
Пример #16
0
    def test_threshold_exceeded(self):
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = (
            self.fixture_status_xml(1000, 1000),
            "",
            0
        )

        assert_raise_library_error(
            lambda: lib.resource_cleanup(mock_runner),
            (
                Severity.ERROR,
                report_codes.RESOURCE_CLEANUP_TOO_TIME_CONSUMING,
                {"threshold": 100},
                report_codes.FORCE_LOAD_THRESHOLD
            )
        )

        mock_runner.run.assert_called_once_with(self.crm_mon_cmd())
Пример #17
0
    def test_error_cleanup(self):
        self.config.runner.pcmk.resource_cleanup(
            stdout=self.stdout,
            stderr=self.stderr,
            returncode=1
        )

        env = self.env_assist.get_env()
        self.env_assist.assert_raise_library_error(
            lambda: lib.resource_cleanup(env.cmd_runner()),
            [
                fixture.error(
                    report_codes.RESOURCE_CLEANUP_ERROR,
                    force_code=None,
                    reason=(self.stderr + "\n" + self.stdout)
                )
            ],
            expected_in_processor=False
        )
Пример #18
0
    def test_basic(self):
        expected_stdout = "expected output"
        expected_stderr = "expected stderr"
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        call_list = [
            mock.call(self.crm_mon_cmd()),
            mock.call([self.path("crm_resource"), "--cleanup"]),
        ]
        return_value_list = [
            (self.fixture_status_xml(1, 1), "", 0),
            (expected_stdout, expected_stderr, 0),
        ]
        mock_runner.run.side_effect = return_value_list

        real_output = lib.resource_cleanup(mock_runner)

        self.assertEqual(len(return_value_list), len(call_list))
        self.assertEqual(len(return_value_list), mock_runner.run.call_count)
        mock_runner.run.assert_has_calls(call_list)
        self.assertEqual(expected_stdout + "\n" + expected_stderr, real_output)
Пример #19
0
    def test_node_and_resource(self):
        node = "test_node"
        resource = "test_resource"
        expected_stdout = "expected output"
        expected_stderr = "expected stderr"
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = (expected_stdout, expected_stderr, 0)

        real_output = lib.resource_cleanup(
            mock_runner, resource=resource, node=node
        )

        mock_runner.run.assert_called_once_with(
            [
                self.path("crm_resource"),
                "--cleanup", "--resource", resource, "--node", node
            ]
        )
        self.assertEqual(
            expected_stdout + "\n" + expected_stderr,
            real_output
        )
Пример #20
0
    def test_basic(self):
        expected_stdout = "expected output"
        expected_stderr = "expected stderr"
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        call_list = [
            mock.call(self.crm_mon_cmd()),
            mock.call([self.path("crm_resource"), "--cleanup"]),
        ]
        return_value_list = [
            (self.fixture_status_xml(1, 1), "", 0),
            (expected_stdout, expected_stderr, 0),
        ]
        mock_runner.run.side_effect = return_value_list

        real_output = lib.resource_cleanup(mock_runner)

        self.assertEqual(len(return_value_list), len(call_list))
        self.assertEqual(len(return_value_list), mock_runner.run.call_count)
        mock_runner.run.assert_has_calls(call_list)
        self.assertEqual(
            expected_stdout + "\n" + expected_stderr,
            real_output
        )
Пример #21
0
    def test_error_state(self):
        expected_stdout = "some info"
        expected_stderr = "some error"
        expected_retval = 1
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = (
            expected_stdout,
            expected_stderr,
            expected_retval
        )

        assert_raise_library_error(
            lambda: lib.resource_cleanup(mock_runner),
            (
                Severity.ERROR,
                report_codes.CRM_MON_ERROR,
                {
                    "reason": expected_stderr + "\n" + expected_stdout,
                }
            )
        )

        mock_runner.run.assert_called_once_with(self.crm_mon_cmd())