X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d0ab1d8908cadac9f51a17e2fe9e1193f14e28cc..0e87ae0739ed3e72301b7b718098f97a7f06a5d8:/apps/piston/tests.py?ds=inline diff --git a/apps/piston/tests.py b/apps/piston/tests.py new file mode 100644 index 000000000..92d14ee3b --- /dev/null +++ b/apps/piston/tests.py @@ -0,0 +1,44 @@ +# Django imports +from django.core import mail +from django.contrib.auth.models import User +from django.conf import settings + +# Piston imports +from test import TestCase +from models import Consumer + +class ConsumerTest(TestCase): + fixtures = ['models.json'] + + def setUp(self): + self.consumer = Consumer() + self.consumer.name = "Piston Test Consumer" + self.consumer.description = "A test consumer for Piston." + self.consumer.user = User.objects.get(pk=3) + self.consumer.generate_random_codes() + + def test_create_pending(self): + """ Ensure creating a pending Consumer sends proper emails """ + # If it's pending we should have two messages in the outbox; one + # to the consumer and one to the site admins. + if len(settings.ADMINS): + self.assertEquals(len(mail.outbox), 2) + else: + self.assertEquals(len(mail.outbox), 1) + + expected = "Your API Consumer for example.com is awaiting approval." + self.assertEquals(mail.outbox[0].subject, expected) + + def test_delete_consumer(self): + """ Ensure deleting a Consumer sends a cancel email """ + + # Clear out the outbox before we test for the cancel email. + mail.outbox = [] + + # Delete the consumer, which should fire off the cancel email. + self.consumer.delete() + + self.assertEquals(len(mail.outbox), 1) + expected = "Your API Consumer for example.com has been canceled." + self.assertEquals(mail.outbox[0].subject, expected) +