X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;ds=sidebyside;f=tests%2Fprocesses.py;h=88a7a6c006912dddc3fcc86af4a1691a5982db6c;hb=11c4e6fc42ab96a13b18e8195c264899e31dddf0;hp=e8967f70273e2345df966d599d50fdbeb4069e39;hpb=13bce001bd86de2c20dff2f93d9f08cfae95a16b;p=plomtask diff --git a/tests/processes.py b/tests/processes.py index e8967f7..88a7a6c 100644 --- a/tests/processes.py +++ b/tests/processes.py @@ -1,6 +1,5 @@ """Test Processes module.""" from unittest import TestCase -from urllib.parse import urlencode from tests.utils import TestCaseWithDB, TestCaseWithServer from plomtask.processes import Process from plomtask.exceptions import NotFoundException, BadFormatException @@ -68,26 +67,38 @@ class TestsWithServer(TestCaseWithServer): def test_do_POST_process(self) -> None: """Test POST /process and its effect on the database.""" - def post_data_to_expect(form_data: dict[str, object], - to_: str, expect: int) -> None: - encoded_form_data = urlencode(form_data).encode('utf-8') - headers = {'Content-Type': 'application/x-www-form-urlencoded', - 'Content-Length': str(len(encoded_form_data))} - self.conn.request('POST', to_, - body=encoded_form_data, headers=headers) - self.assertEqual(self.conn.getresponse().status, expect) form_data = {'title': 'foo', 'description': 'foo', 'effort': 1.0} - post_data_to_expect(form_data, '/process?id=FOO', 400) + self.post_to(form_data, '/process?id=FOO') + self.assertEqual(self.conn.getresponse().status, 400) form_data['effort'] = 'foo' - post_data_to_expect(form_data, '/process?id=', 400) + self.post_to(form_data, '/process?id=') + self.assertEqual(self.conn.getresponse().status, 400) form_data['effort'] = None - post_data_to_expect(form_data, '/process?id=', 400) + self.post_to(form_data, '/process?id=') + self.assertEqual(self.conn.getresponse().status, 400) + form_data = {} + self.post_to(form_data, '/process?id=') + self.assertEqual(self.conn.getresponse().status, 400) + form_data = {'title': '', 'description': ''} + self.post_to(form_data, '/process?id=') + self.assertEqual(self.conn.getresponse().status, 400) + form_data = {'title': '', 'effort': 1} + self.post_to(form_data, '/process?id=') + self.assertEqual(self.conn.getresponse().status, 400) + form_data = {'description': '', 'effort': 1} + self.post_to(form_data, '/process?id=') + self.assertEqual(self.conn.getresponse().status, 400) form_data = {'title': None, 'description': 1, 'effort': 1.0} - post_data_to_expect(form_data, '/process?id=', 302) + self.post_to(form_data, '/process?id=') + self.check_redirect('/') retrieved = Process.by_id(self.db_conn, 1) self.assertEqual(retrieved.title.newest, 'None') self.assertEqual([p.id_ for p in Process.all(self.db_conn)], [retrieved.id_]) + self.post_to(form_data, '/process?id=1') + self.check_redirect('/') + self.post_to(form_data, '/process') + self.check_redirect('/') def test_do_GET(self) -> None: """Test /process and /processes response codes."""