mirror of
https://github.com/zulip/zulip.git
synced 2025-11-01 20:44:04 +00:00
logging: replace mock.patch() for logging with assertLogs()
This commit removes mock.patch with assertLogs(). * Adds return value to do_rest_call() in outgoing_webhook.py, to support asserting log output in test_outgoing_webhook_system.py. * Logs are not asserted in test_realm.py because it would require to users to be queried using users=User.objects.filter(realm=realm) and the order of resulting queryset varies for each run. * In test_decorators.py, replacement of mock.patch is not done because I'm not sure if it's worth the effort to replace it as it's a return value of a function. Tweaked by tabbott to set proper mypy types.
This commit is contained in:
committed by
Tim Abbott
parent
5d79dff00b
commit
cbfd6464a5
@@ -319,16 +319,19 @@ class TestGetChartData(ZulipTestCase):
|
||||
|
||||
realm.date_created = timezone_now() - timedelta(days=3)
|
||||
realm.save(update_fields=["date_created"])
|
||||
with mock.patch('logging.warning'):
|
||||
result = self.client_get('/json/analytics/chart_data',
|
||||
{'chart_name': 'messages_sent_over_time'})
|
||||
with self.assertLogs(level="WARNING") as m:
|
||||
result = self.client_get('/json/analytics/chart_data', {'chart_name': 'messages_sent_over_time'})
|
||||
self.assertEqual(m.output, [f"WARNING:root:User from realm zulip attempted to access /stats, but the computed start time: {realm.date_created} (creation of realm or installation) is later than the computed end time: 0001-01-01 00:00:00+00:00 (last successful analytics update). Is the analytics cron job running?"])
|
||||
|
||||
self.assert_json_error_contains(result, 'No analytics data available')
|
||||
|
||||
realm.date_created = timezone_now() - timedelta(days=1, hours=2)
|
||||
realm.save(update_fields=["date_created"])
|
||||
with mock.patch('logging.warning'):
|
||||
with self.assertLogs(level="WARNING") as m:
|
||||
result = self.client_get('/json/analytics/chart_data',
|
||||
{'chart_name': 'messages_sent_over_time'})
|
||||
self.assertEqual(m.output, [f"WARNING:root:User from realm zulip attempted to access /stats, but the computed start time: {realm.date_created} (creation of realm or installation) is later than the computed end time: 0001-01-01 00:00:00+00:00 (last successful analytics update). Is the analytics cron job running?"])
|
||||
|
||||
self.assert_json_error_contains(result, 'No analytics data available')
|
||||
|
||||
realm.date_created = timezone_now() - timedelta(days=1, minutes=10)
|
||||
@@ -349,9 +352,11 @@ class TestGetChartData(ZulipTestCase):
|
||||
|
||||
realm.date_created = timezone_now() - timedelta(days=3)
|
||||
realm.save(update_fields=["date_created"])
|
||||
with mock.patch('logging.warning'):
|
||||
with self.assertLogs(level="WARNING") as m:
|
||||
result = self.client_get('/json/analytics/chart_data',
|
||||
{'chart_name': 'messages_sent_over_time'})
|
||||
self.assertEqual(m.output, [f"WARNING:root:User from realm zulip attempted to access /stats, but the computed start time: {realm.date_created} (creation of realm or installation) is later than the computed end time: {end_time} (last successful analytics update). Is the analytics cron job running?"])
|
||||
|
||||
self.assert_json_error_contains(result, 'No analytics data available')
|
||||
|
||||
realm.date_created = timezone_now() - timedelta(days=1, minutes=10)
|
||||
@@ -372,9 +377,11 @@ class TestGetChartData(ZulipTestCase):
|
||||
|
||||
realm.date_created = timezone_now() - timedelta(days=1, hours=2)
|
||||
realm.save(update_fields=["date_created"])
|
||||
with mock.patch('logging.warning'):
|
||||
with self.assertLogs(level="WARNING") as m:
|
||||
result = self.client_get('/json/analytics/chart_data',
|
||||
{'chart_name': 'messages_sent_over_time'})
|
||||
self.assertEqual(m.output, [f"WARNING:root:User from realm zulip attempted to access /stats, but the computed start time: {realm.date_created} (creation of realm or installation) is later than the computed end time: {end_time} (last successful analytics update). Is the analytics cron job running?"])
|
||||
|
||||
self.assert_json_error_contains(result, 'No analytics data available')
|
||||
|
||||
realm.date_created = timezone_now() - timedelta(days=1, minutes=10)
|
||||
|
||||
Reference in New Issue
Block a user