X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D?a=blobdiff_plain;f=tests%2Futils.py;h=b7d126931f2195402db85b0ca61c87b791f3be77;hb=49edaa072a3574f2303828e62c6a72f0d0bcec2c;hp=2a919a31dbb057f4db558861d2fafe8277db5521;hpb=e14580b4ee47363cad317e4ec1de91affe03d53a;p=plomtask diff --git a/tests/utils.py b/tests/utils.py index 2a919a3..b7d1269 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -5,7 +5,7 @@ from http.client import HTTPConnection from urllib.parse import urlencode from datetime import datetime from os import remove as remove_file -from typing import Mapping +from typing import Mapping, Any from plomtask.db import DatabaseFile, DatabaseConnection from plomtask.http import TaskHandler, TaskServer from plomtask.processes import Process, ProcessStep @@ -70,9 +70,26 @@ class TestCaseWithServer(TestCaseWithDB): 'Content-Length': str(len(encoded_form_data))} self.conn.request('POST', target, body=encoded_form_data, headers=headers) - if redirect_location == '': - redirect_location = target if 302 == expected_code: + if redirect_location == '': + redirect_location = target self.check_redirect(redirect_location) else: self.assertEqual(self.conn.getresponse().status, expected_code) + + def check_get_defaults(self, path: str) -> None: + """Some standard model paths to test.""" + self.check_get(path, 200) + self.check_get(f'{path}?id=', 200) + self.check_get(f'{path}?id=foo', 400) + self.check_get(f'/{path}?id=0', 500) + self.check_get(f'{path}?id=1', 200) + + def post_process(self, id_: int = 1, + form_data: dict[str, Any] | None = None + ) -> dict[str, Any]: + """POST basic Process.""" + if not form_data: + form_data = {'title': 'foo', 'description': 'foo', 'effort': 1.1} + self.check_post(form_data, '/process?id=', 302, f'/process?id={id_}') + return form_data