def test_update_request_activate_form_loophole(self): """ Prevent updating to unconfirmed email address. (#108) """ subscription = Subscription(newsletter=self.n, name=self.testname, email=self.testemail) subscription.save() activate_url = subscription.update_activate_url() response = self.client.get(activate_url) self.assertInContext(response, 'form', UpdateForm) self.assertContains(response, subscription.activation_code) testname2 = 'Test Name2' testemail2 = '*****@*****.**' response = self.client.post(activate_url, { 'name_field': testname2, 'email_field': testemail2, 'user_activation_code': subscription.activation_code }) # Assure we are redirected to "update activated" page. self.assertRedirects(response, self.update_activated_url) subscription = Subscription.objects.get(pk=subscription.pk) self.assertTrue(subscription) self.assertTrue(subscription.subscribed) self.assertEqual(subscription.email, self.testemail)
def test_update_request_activate_form_loophole(self): """ Prevent updating to unconfirmed email address. (#108) """ subscription = Subscription(newsletter=self.n, name=self.testname, email=self.testemail) subscription.save() activate_url = subscription.update_activate_url() response = self.client.get(activate_url) self.assertInContext(response, 'form', UpdateForm) self.assertContains(response, subscription.activation_code) testname2 = 'Test Name2' testemail2 = '*****@*****.**' response = self.client.post( activate_url, { 'name_field': testname2, 'email_field': testemail2, 'user_activation_code': subscription.activation_code }) # Assure we are redirected to "update activated" page. self.assertRedirects(response, self.update_activated_url) subscription = Subscription.objects.get(pk=subscription.pk) self.assertTrue(subscription) self.assertTrue(subscription.subscribed) self.assertEqual(subscription.email, self.testemail)
def test_update_request_activate(self): """ Update a request. """ subscription = Subscription(newsletter=self.n, name=self.testname, email=self.testemail) subscription.save() activate_url = subscription.update_activate_url() response = self.client.get(activate_url) self.assertInContext(response, 'form', UpdateForm) self.assertContains(response, subscription.activation_code) testname2 = 'Test Name2' response = self.client.post(activate_url, { 'name_field': testname2, 'user_activation_code': subscription.activation_code }) # Assure we are redirected to "update activated" page. self.assertRedirects(response, self.update_activated_url) subscription = self.get_only_subscription( email_field__exact=self.testemail ) self.assertTrue(subscription) self.assertTrue(subscription.subscribed) self.assertEqual(subscription.name, testname2) self.assertEqual(subscription.email, self.testemail)
def test_update_request_activate(self): """ Update a request. """ subscription = Subscription(newsletter=self.n, name=self.testname, email=self.testemail) subscription.save() activate_url = subscription.update_activate_url() response = self.client.get(activate_url) self.assertInContext(response, 'form', UpdateForm) self.assertContains(response, subscription.activation_code) testname2 = 'Test Name2' response = self.client.post( activate_url, { 'name_field': testname2, 'user_activation_code': subscription.activation_code }) # Assure we are redirected to "update activated" page. self.assertRedirects(response, self.update_activated_url) subscription = self.get_only_subscription( email_field__exact=self.testemail) self.assertTrue(subscription) self.assertTrue(subscription.subscribed) self.assertEqual(subscription.name, testname2) self.assertEqual(subscription.email, self.testemail)
def test_update_request_post_no_email(self): """ Test the update request post view with confirmation email switched off in settings. """ subscription = Subscription(newsletter=self.n, name=self.testname, email=self.testemail, subscribed=True) subscription.save() response = self.client.post(self.update_url, {'email_field': self.testemail}) self.assertRedirects(response, subscription.update_activate_url()) """ Check the subscription email. """ # no email should be send self.assertEqual(len(mail.outbox), 0)
def test_update_request_post_no_email(self): """ Test the update request post view with confirmation email switched off in settings. """ subscription = Subscription(newsletter=self.n, name=self.testname, email=self.testemail, subscribed=True) subscription.save() response = self.client.post( self.update_url, {'email_field': self.testemail} ) self.assertRedirects(response, subscription.update_activate_url()) """ Check the subscription email. """ # no email should be send self.assertEqual(len(mail.outbox), 0)
def test_update_request_post(self): """ Test the update request post view. """ subscription = Subscription(newsletter=self.n, name=self.testname, email=self.testemail, subscribed=True) subscription.save() response = self.client.post(self.update_url, {'email_field': self.testemail}) # Assure we are redirected to "update activation email sent" page. self.assertRedirects(response, self.update_email_sent_url) """ Check the subscription email. """ self.assertEqual(len(mail.outbox), 1) activate_url = subscription.update_activate_url() full_activate_url = 'http://%s%s' % (self.site.domain, activate_url) self.assertEmailContains(full_activate_url)
def test_update_request_post(self): """ Test the update request post view. """ subscription = Subscription(newsletter=self.n, name=self.testname, email=self.testemail, subscribed=True) subscription.save() response = self.client.post( self.update_url, {'email_field': self.testemail} ) # Assure we are redirected to "update activation email sent" page. self.assertRedirects(response, self.update_email_sent_url) """ Check the subscription email. """ self.assertEqual(len(mail.outbox), 1) activate_url = subscription.update_activate_url() full_activate_url = 'http://%s%s' % (self.site.domain, activate_url) self.assertEmailContains(full_activate_url)