Files
nucleus/tests/test_request.py
T
RemiZOffAlex 3e3b4e6069
Тестирование ядра / Tester (push) Failing after 2s
Update request
2026-04-21 11:05:14 +03:00

33 lines
1.3 KiB
Python

__author__ = 'RemiZOffAlex'
__email__ = 'remizoffalex@mail.ru'
import unittest
from nucleus.domains.http.models.request import Request
raw = b'GET /favicon.ico HTTP/1.1\r\nHost: 10.2.0.1:5000\r\nConnection: keep-alive\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 OPR/123.0.0.0\r\nAccept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8\r\nReferer: http://10.2.0.1:5000/\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: ru,en;q=0.9\r\n\r\n'
class TestRequest(unittest.TestCase):
def test_request(self):
request = Request
parts = raw.split(b'\r\n', 1)
request_line = parts[0].decode().split(' ')
request.method = request_line[0]
request.url = request_line[1]
request.protocol = request_line[2]
parts_two = parts[1].split(b'\r\n'*2)
request.headers = {}
for item in parts_two[0].decode().split('\r\n'):
key, value = item.split(': ')
request.headers[key] = value
self.assertTrue(request.method=='GET')
self.assertTrue(request.url=='/favicon.ico')
self.assertTrue(request.protocol=='HTTP/1.1')
for key in request.headers:
value = request.headers[key]
print(key, ':', value)