Merge lp:~ricardokirkner/django-adminaudit/no-empty-reports into lp:django-adminaudit

Proposed by Ricardo Kirkner
Status: Merged
Approved by: Ricardo Kirkner
Approved revision: 53
Merged at revision: 53
Proposed branch: lp:~ricardokirkner/django-adminaudit/no-empty-reports
Merge into: lp:django-adminaudit
Diff against target: 70 lines (+22/-10)
2 files modified
adminaudit/management/commands/adminaudit_email_report.py (+5/-0)
adminaudit/tests.py (+17/-10)
To merge this branch: bzr merge lp:~ricardokirkner/django-adminaudit/no-empty-reports
Reviewer Review Type Date Requested Status
Michael Nelson (community) Approve
Review via email: mp+200318@code.launchpad.net

Commit message

do not send out emails when no data has changed

To post a comment you must log in.
Revision history for this message
Michael Nelson (michael.nelson) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'adminaudit/management/commands/adminaudit_email_report.py'
--- adminaudit/management/commands/adminaudit_email_report.py 2012-01-16 19:48:22 +0000
+++ adminaudit/management/commands/adminaudit_email_report.py 2014-01-02 15:57:01 +0000
@@ -27,8 +27,13 @@
2727
28 if not recipients:28 if not recipients:
29 print "No admin audit summary recipients configured."29 print "No admin audit summary recipients configured."
30 return
3031
31 context = self.context_data()32 context = self.context_data()
33 if not context['users']:
34 print "Nothing to report."
35 return
36
32 for recipient in recipients:37 for recipient in recipients:
33 context['recipient'] = recipient38 context['recipient'] = recipient
34 print "Sending e-email to", recipient,39 print "Sending e-email to", recipient,
3540
=== modified file 'adminaudit/tests.py'
--- adminaudit/tests.py 2013-06-07 19:07:05 +0000
+++ adminaudit/tests.py 2014-01-02 15:57:01 +0000
@@ -254,7 +254,11 @@
254class AdminAuditEmailReportTestCase(TestCase):254class AdminAuditEmailReportTestCase(TestCase):
255255
256 def setUp(self):256 def setUp(self):
257 AuditLog.objects.all().delete()257 self.user = User.objects.create_user('user1', '1@example.com')
258 self.auditlog = AuditLog.create(self.user, self.user, 'update',
259 self.user)
260 self.auditlog.created_at = self.auditlog.created_at - timedelta(days=1)
261 self.auditlog.save()
258262
259 def test_report_date_returns_yesterday(self):263 def test_report_date_returns_yesterday(self):
260 report_date = EmailCommand().report_date()264 report_date = EmailCommand().report_date()
@@ -277,23 +281,26 @@
277281
278 self.assertEquals(0, len(mail.outbox))282 self.assertEquals(0, len(mail.outbox))
279283
284 def test_no_mails_are_sent_when_there_are_no_changs(self):
285 recipients = ['{0}@example.com'.format(c) for c in 'abcdefghijk']
286 settings.ADMINAUDIT_EMAILS_RECIPIENTS = recipients
287
288 AuditLog.objects.all().delete()
289 EmailCommand().handle()
290
291 self.assertEquals(0, len(mail.outbox))
292
280 def test_data_for_user(self):293 def test_data_for_user(self):
281 user1 = User.objects.create_user('user1', '1@example.com')
282 user2 = User.objects.create_user('user2', '2@example.com')294 user2 = User.objects.create_user('user2', '2@example.com')
283 AuditLog.create(user1, user1, 'update', user1)295 AuditLog.create(user2, self.user, 'update', self.user)
284 AuditLog.create(user2, user1, 'update', user1)
285296
286 data = EmailCommand().data_for_user(user1.pk, AuditLog.objects.all())297 data = EmailCommand().data_for_user(self.user.pk,
298 AuditLog.objects.all())
287299
288 self.assertEquals(1, data['auditlogs'].count())300 self.assertEquals(1, data['auditlogs'].count())
289 self.assertTrue('user1' in data['caption'])301 self.assertTrue('user1' in data['caption'])
290302
291 def test_context_data(self):303 def test_context_data(self):
292 user1 = User.objects.create_user('user1', '1@example.com')
293 auditlog = AuditLog.create(user1, user1, 'update', user1)
294 auditlog.created_at = auditlog.created_at - timedelta(days=1)
295 auditlog.save()
296
297 context = EmailCommand().context_data()304 context = EmailCommand().context_data()
298305
299 self.assertEquals(1, len(context['users']))306 self.assertEquals(1, len(context['users']))

Subscribers

People subscribed via source and target branches