def test_create_downtime_when_no_id(self, downtimes_api_mock): set_module_args({ "monitor_tags": ["foo:bar"], "scope": ["*"], "monitor_id": 12345, "downtime_message": "Message", "start": 1111, "end": 2222, "timezone": "UTC", "rrule": "rrule", "api_key": "an_api_key", "app_key": "an_app_key", }) downtime = Downtime() downtime.monitor_tags = ["foo:bar"] downtime.scope = ["*"] downtime.monitor_id = 12345 downtime.message = "Message" downtime.start = 1111 downtime.end = 2222 downtime.timezone = "UTC" downtime.recurrence = DowntimeRecurrence( rrule="rrule" ) create_downtime_mock = MagicMock(return_value=Downtime(id=12345)) downtimes_api_mock.return_value = MagicMock(create_downtime=create_downtime_mock) with self.assertRaises(AnsibleExitJson) as result: self.module.main() self.assertTrue(result.exception.args[0]['changed']) self.assertEqual(result.exception.args[0]['downtime']['id'], 12345) create_downtime_mock.assert_called_once_with(downtime)
def test_update_downtime_no_change(self, downtimes_api_mock): set_module_args({ "id": 1212, "monitor_tags": ["foo:bar"], "scope": ["*"], "monitor_id": 12345, "downtime_message": "Message", "start": 1111, "end": 2222, "timezone": "UTC", "rrule": "rrule", "api_key": "an_api_key", "app_key": "an_app_key", }) downtime = Downtime() downtime.monitor_tags = ["foo:bar"] downtime.scope = ["*"] downtime.monitor_id = 12345 downtime.message = "Message" downtime.start = 1111 downtime.end = 2222 downtime.timezone = "UTC" downtime.recurrence = DowntimeRecurrence( rrule="rrule" ) downtime_get = Downtime() downtime_get.id = 1212 downtime_get.disabled = False downtime_get.monitor_tags = ["foo:bar"] downtime_get.scope = ["*"] downtime_get.monitor_id = 12345 downtime_get.message = "Message" downtime_get.start = 1111 downtime_get.end = 2222 downtime_get.timezone = "UTC" downtime_get.recurrence = DowntimeRecurrence( rrule="rrule" ) update_downtime_mock = MagicMock(return_value=downtime_get) get_downtime_mock = MagicMock(return_value=downtime_get) downtimes_api_mock.return_value = MagicMock( update_downtime=update_downtime_mock, get_downtime=get_downtime_mock ) with self.assertRaises(AnsibleExitJson) as result: self.module.main() self.assertFalse(result.exception.args[0]['changed']) self.assertEqual(result.exception.args[0]['downtime']['id'], 1212) update_downtime_mock.assert_called_once_with(1212, downtime) get_downtime_mock.assert_called_once_with(1212)
def test_delete_downtime(self, downtimes_api_mock): set_module_args({ "id": 1212, "state": "absent", "api_key": "an_api_key", "app_key": "an_app_key", }) cancel_downtime_mock = MagicMock() get_downtime_mock = MagicMock(return_value=Downtime(id=1212)) downtimes_api_mock.return_value = MagicMock( get_downtime=get_downtime_mock, cancel_downtime=cancel_downtime_mock ) with self.assertRaises(AnsibleExitJson) as result: self.module.main() self.assertTrue(result.exception.args[0]['changed']) cancel_downtime_mock.assert_called_once_with(1212)