def test_successful_write(self, mock_post): xml_frag = """<InstantaneousDemand></InstantaneousDemand>""" response = mock.MagicMock() response.status_code = 200 response.content = "OK" mock_post.return_value = response writer = WeMonitorWriter() writer.update(xml_frag) self.assertTrue(mock_post.called, "Failed to call requests.post")
def test_one_connection_error(self, mock_post, mock_sleep, mock_syslog, mock_system): xml_frag = """<InstantaneousDemand></InstantaneousDemand>""" mock_post.side_effect = requests.ConnectionError("whoops") mock_system.return_value = 0 writer = WeMonitorWriter() with self.assertRaises(requests.ConnectionError): writer.update(xml_frag) observed_arg = mock_syslog.call_args[0][1] self.assertRegexpMatches(observed_arg, 'ping')
def test_failing_write(self, mock_post, mock_syslog): xml_frag = """<InstantaneousDemand></InstantaneousDemand>""" response = mock.MagicMock() response.status_code = 403 response.content = "Forbidden" mock_post.return_value = response writer = WeMonitorWriter() writer.update(xml_frag) observed_arg = mock_syslog.call_args[0][1] self.assertRegexpMatches(observed_arg, 'Forbidden')