Coverage for pages/tests/test_forms.py: 88.24%
17 statements
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 16:37 -0700
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 16:37 -0700
1from django.core.mail import BadHeaderError
2from django.test import TestCase
5class ContactFormTests(TestCase):
6 def test_contact_page_form_is_valid(self):
7 response = self.client.post( 1c
8 "/contact/",
9 data={
10 "from_email": "joe@example.com",
11 "subject": "Test Email",
12 "message": "This is a test email",
13 },
14 )
15 self.assertEqual(response.status_code, 302) 1c
17 def test_contact_form_is_invalid(self):
18 response = self.client.post( 1d
19 "/contact/",
20 data={
21 "from_email": "john@example.com",
22 "subject": "Test Email",
23 "not_a_form_field": "This is a test",
24 },
25 )
26 self.assertEqual(response.status_code, 200) 1d
28 def test_header_injection(self):
29 error_occured = True 1b
30 try: 1b
31 self.client.post( 1b
32 "/contact/",
33 data={
34 "from_email": "joe@example.com",
35 "subject": "Subject\nInjectionTest",
36 "message": "This is a test of a BadHeaderError",
37 },
38 )
39 error_occured = False 1b
40 except BadHeaderError:
41 error_occured = True
42 self.assertFalse(error_occured) 1b