def test_export_fail(self, now_mock, should_export_mock, requests_post_mock):
""" Test export() failing by denied API call. """
now_mock.return_value = timezone.make_aware(timezone.datetime(2015, 12, 12, hour=4, minute=45))
should_export_mock.return_value = True
settings = MinderGasSettings.get_solo()
self.assertFalse(settings.export)
self.assertIsNone(settings.next_export)
self.assertFalse(requests_post_mock.called)
# Mindergas error codes according to docs.
for current_error_code in (401, 422):
requests_post_mock.return_value = mock.MagicMock(status_code=current_error_code, text='Error message')
dsmr_mindergas.services.export()
settings = MinderGasSettings.get_solo()
# This should be set one hour forward now.
self.assertEqual(settings.next_export, timezone.now() + timezone.timedelta(hours=1))
self.assertTrue(requests_post_mock.called)
评论列表
文章目录