def test_emails_not_escaped(self): """ Strings in the fraud report form should not be HTML escaped when inserted into the email, which is just text. E.g. if they entered J'adore le ''Renard de feu'' the email should not contain J'adore le ''Renard de feu'' Tags are still stripped, though. """ STRING1 = u"<em>J'adore Citröns</em> & <Piñatas> so there" EXPECTED1 = u"J'adore Citröns & so there" STRING2 = u"<em>J'adore Piñatas</em> & <fromage> so here" EXPECTED2 = u"J'adore Piñatas & so here" STRING3 = u"J'adore <coffee>el café</coffee> también" EXPECTED3 = u"J'adore el café también" self.data.update(input_specific_product=STRING1, input_details=STRING2, input_attachment_desc=STRING3) request = self.factory.post(self.url, self.data) # make sure CSRF doesn't hold us up request._dont_enforce_csrf_checks = True legal_views.fraud_report(request) eq_(len(mail.outbox), 1) m = mail.outbox[0] self.assertIn(EXPECTED1, m.body) self.assertIn(EXPECTED2, m.body) self.assertIn(EXPECTED3, m.body)
def test_emails_not_escaped(self): """ Strings in the fraud report form should not be HTML escaped when inserted into the email, which is just text. E.g. if they entered J'adore le ''Renard de feu'' the email should not contain J'adore le ''Renard de feu'' Tags are still stripped, though. """ STRING1 = u"J'adore Citröns & <Piñatas> so there" EXPECTED1 = u"J'adore Citröns & so there" STRING2 = u"J'adore Piñatas & <fromage> so here" EXPECTED2 = u"J'adore Piñatas & so here" STRING3 = u"J'adore <coffee>el café</coffee> también" EXPECTED3 = u"J'adore el café también" self.data.update(input_specific_product=STRING1, input_details=STRING2, input_attachment_desc=STRING3) request = self.factory.post(self.url, self.data) # make sure CSRF doesn't hold us up request._dont_enforce_csrf_checks = True legal_views.fraud_report(request) eq_(len(mail.outbox), 1) m = mail.outbox[0] self.assertIn(EXPECTED1, m.body) self.assertIn(EXPECTED2, m.body) self.assertIn(EXPECTED3, m.body)
def test_view_post_valid_data(self): """ A valid POST should 302 redirect. """ request = self.factory.post(self.url, self.data) # make sure CSRF doesn't hold us up request._dont_enforce_csrf_checks = True response = legal_views.fraud_report(request) eq_(response.status_code, 302) eq_(response['Location'], '/en-US/legal/fraud-report/?submitted=True')
def test_view_post_valid_data(self): """ A valid POST should 302 redirect. """ request = self.factory.post(self.url, self.data) # make sure CSRF doesn't hold us up request._dont_enforce_csrf_checks = True response = legal_views.fraud_report(request) eq_(response.status_code, 302) eq_(response['Location'], '/en-US/about/legal/fraud-report/?submitted=True')
def test_view_post_valid_data(self): """ A valid POST should 302 redirect. """ request = self.factory.post(self.url, self.data) # make sure CSRF doesn't hold us up request._dont_enforce_csrf_checks = True response = legal_views.fraud_report(request) assert response.status_code == 302 assert response[ 'Location'] == '/en-US/about/legal/defend-mozilla-trademarks/?submitted=True'
def test_view_post_honeypot(self): """ POST with honeypot text box filled should return 200 and contain general form error message. """ self.data['office_fax'] = 'spammer' request = self.factory.post(self.url, self.data) # make sure CSRF doesn't hold us up request._dont_enforce_csrf_checks = True response = legal_views.fraud_report(request) eq_(response.status_code, 200) self.assertIn('An error has occurred', response.content)
def test_view_post_missing_data(self): """ POST with missing data should return 200 and contain form errors in the template. """ self.data.update(input_url='') # remove required url request = self.factory.post(self.url, self.data) # make sure CSRF doesn't hold us up request._dont_enforce_csrf_checks = True response = legal_views.fraud_report(request) eq_(response.status_code, 200) self.assertIn('Please enter a URL.', response.content)
def test_view_post_honeypot(self): """ POST with honeypot checkbox checked should return 200 and contain general form error message. """ self.data["superpriority"] = True request = self.factory.post(self.url, self.data) # make sure CSRF doesn't hold us up request._dont_enforce_csrf_checks = True response = legal_views.fraud_report(request) eq_(response.status_code, 200) self.assertIn("An error has occurred", response.content)