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)
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)
def test_forced(self): expected_output = "expected output" mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.return_value = (expected_output, 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_output, real_output)
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())
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())
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())
def test_node(self): node = "test_node" 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, 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 )
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)
def test_error_state(self): expected_error = "some error" expected_retval = 1 mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.return_value = (expected_error, expected_retval) assert_raise_library_error( lambda: lib.resource_cleanup(mock_runner), ( Severity.ERROR, report_codes.CRM_MON_ERROR, { "return_value": expected_retval, "stdout": expected_error, } ) ) mock_runner.run.assert_called_once_with(self.crm_mon_cmd())
def test_basic(self): expected_output = "expected output" 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_output, 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_output, real_output)
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)
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)