def test__stopped(module_patch, sleep_patch): mock_module = setup_module(module_patch) setup_monit(mock_module, MONIT_OUTPUT % "Stopped") sleep_patch.return_value = None main() assert sleep_patch.call_count == 3 verify_monit(mock_module, 4) mock_module.fail_json.assert_called_once_with( msg="Process %s did not transition to active within %i seconds" % ( TEST_PARAMS["name"][0], TEST_PARAMS["timeout_seconds"]))
def test__status_ok(module_patch, sleep_patch): mock_module = setup_module(module_patch) setup_monit(mock_module, MONIT_OUTPUT % "Status ok") sleep_patch.return_value = None main() sleep_patch.assert_not_called() verify_monit(mock_module, 1) state = create_expected_state("Status ok", 1) mock_module.fail_json.assert_not_called() mock_module.exit_json.assert_called_once_with(changed=True, name=TEST_PARAMS["name"][0], state=state)
def test__wrong_process(module_patch, sleep_patch): params = dict(TEST_PARAMS) params["name"] = ["foobar"] mock_module = setup_module(module_patch, params) setup_monit(mock_module, MONIT_OUTPUT % "Stopped") sleep_patch.return_value = None main() assert sleep_patch.call_count == 3 assert mock_module.run_command.call_count == 4 mock_module.fail_json.assert_called_once_with( msg="Process %s did not transition to active within %i seconds" % ( "foobar", TEST_PARAMS["timeout_seconds"]))
def test__restart_failed(module_patch, sleep_patch): mock_module = setup_module(module_patch) setup_monit(mock_module, MONIT_OUTPUT % "Failed") sleep_patch.return_value = None main() assert sleep_patch.call_count == 3 assert mock_module.run_command.call_count == 5 mock_module.run_command.assert_has_calls( [call("/usr/bin/monit restart " + TEST_PARAMS["name"][0], check_rc=True)]) mock_module.fail_json.assert_called_once_with( msg="Process %s did not transition to active within %i seconds" % ( TEST_PARAMS["name"][0], TEST_PARAMS["timeout_seconds"]))
def test__waiting(module_patch, sleep_patch): mock_module = setup_module(module_patch) setup_monit(mock_module, MONIT_OUTPUT % "Waiting") mock_module.run_command.side_effect = [ (0, MONIT_OUTPUT % "Waiting", ""), (0, MONIT_OUTPUT % "Waiting", ""), (0, MONIT_OUTPUT % "Running", "")] sleep_patch.return_value = None main() assert sleep_patch.call_count == 2 verify_monit(mock_module, 3) state = create_expected_state("Running", 3) mock_module.fail_json.assert_not_called() mock_module.exit_json.assert_called_once_with(changed=True, name=TEST_PARAMS["name"][0], state=state)
def test__restart_success(module_patch, sleep_patch): mock_module = setup_module(module_patch) setup_monit(mock_module, MONIT_OUTPUT % "Failed") mock_module.run_command.side_effect = [ (0, MONIT_OUTPUT % "Failed", ""), (0, MONIT_OUTPUT % "Failed", ""), (0, MONIT_OUTPUT % "Failed", ""), (0, MONIT_OUTPUT % "Running", "")] sleep_patch.return_value = None main() assert sleep_patch.call_count == 2 assert mock_module.run_command.call_count == 4 mock_module.run_command.assert_has_calls( [call("/usr/bin/monit restart " + TEST_PARAMS["name"][0], check_rc=True)]) state = create_expected_state("Running", 3) mock_module.fail_json.assert_not_called() mock_module.exit_json.assert_called_once_with(changed=True, name=TEST_PARAMS["name"][0], state=state)