diff --git a/schema/request_data.py b/schema/request_data.py index f30304c..5c0ecff 100644 --- a/schema/request_data.py +++ b/schema/request_data.py @@ -4,9 +4,9 @@ from schema.methods import Methods class RequestData(BaseModel): method: Methods = Methods.GET - data: dict|None = None + data: dict | None = None params: dict = {} - form: dict|None = None + form: dict | None = None url: str headers: dict = {} cookies: dict = {} diff --git a/tests/test_request_data_schema.py b/tests/test_request_data_schema.py index d0a0597..dca8bfc 100644 --- a/tests/test_request_data_schema.py +++ b/tests/test_request_data_schema.py @@ -17,6 +17,17 @@ class TestRequestDataSchema(unittest.TestCase): "http_version": "HTTP/1.1", "time": "2024-01-01 12:00:00", } + self.request_data_less: dict[Any, Any] = { + "method": "GET", + "data": None, + "params": {}, + "form": None, + "url": "https://example.com", + "headers": {}, + "cookies": {}, + "http_version": "HTTP/1.1", + "time": "2024-01-01 12:00:00", + } def test_request_data_creation(self): request_data = RequestData(**self.request_data) @@ -30,6 +41,34 @@ class TestRequestDataSchema(unittest.TestCase): self.assertEqual(request_data.form, self.request_data["form"]) self.assertEqual(request_data.params, self.request_data["params"]) + def test_request_data_creation_less_data(self): + request_data = RequestData(**self.request_data_less) + self.assertEqual(request_data.data, None) + self.assertEqual(request_data.method, Methods.GET) + self.assertEqual(request_data.url, self.request_data_less["url"]) + self.assertEqual(request_data.headers, self.request_data_less["headers"]) + self.assertEqual(request_data.time, self.request_data_less["time"]) + self.assertEqual(request_data.http_version, "HTTP/1.1") + self.assertEqual(request_data.cookies, self.request_data_less["cookies"]) + self.assertEqual(request_data.form, None) + self.assertEqual(request_data.params, self.request_data_less["params"]) + + def test_request_data_creation_invalid_method(self): + with self.assertRaises(ValueError): + RequestData(**{**self.request_data, "method": "INVALID"}) + with self.assertRaises(ValueError): + RequestData(**{**self.request_data, "method": 123}) + with self.assertRaises(ValueError): + RequestData(**{**self.request_data, "method": None}) + + def test_request_data_creation_invalid_headers(self): + with self.assertRaises(ValueError): + RequestData(**{**self.request_data, "headers": "INVALID"}) + with self.assertRaises(ValueError): + RequestData(**{**self.request_data, "headers": 123}) + with self.assertRaises(ValueError): + RequestData(**{**self.request_data, "headers": None}) + if __name__ == "__main__": unittest.main()