More unit tests

This commit is contained in:
Miguel Grinberg
2021-08-02 15:53:13 +01:00
parent da32f23e35
commit 5cd3ace516
4 changed files with 22 additions and 2 deletions

View File

@@ -235,7 +235,7 @@ class Request():
"""
# request line
line = client_stream.readline().strip().decode()
if not line: # pragma: no cover
if not line:
return None
method, url, http_version = line.split()
http_version = http_version.split('/', 1)[1]

View File

@@ -95,7 +95,7 @@ class Response(BaseResponse):
await stream.awrite(buf)
if len(buf) < self.send_file_buffer_size:
break
if hasattr(self.body, 'close'):
if hasattr(self.body, 'close'): # pragma: no cover
self.body.close()
else:
await stream.awrite(self.body)

View File

@@ -65,6 +65,16 @@ class TestMicrodot(unittest.TestCase):
self.assertIn(b'Content-Type: text/plain\r\n', fd.response)
self.assertTrue(fd.response.endswith(b'\r\n\r\nbar'))
def test_empty_request(self):
app = Microdot()
mock_socket.clear_requests()
fd = mock_socket.FakeStream(b'\n')
mock_socket._requests.append(fd)
self._add_shutdown(app)
app.run()
assert fd.response == b''
def test_method_decorators(self):
app = Microdot()

View File

@@ -76,6 +76,16 @@ class TestMicrodotAsync(unittest.TestCase):
self.assertIn(b'Content-Type: text/plain\r\n', fd2.response)
self.assertTrue(fd2.response.endswith(b'\r\n\r\nbar-async'))
def test_empty_request(self):
app = Microdot()
mock_socket.clear_requests()
fd = mock_socket.FakeStream(b'\n')
mock_socket._requests.append(fd)
self._add_shutdown(app)
app.run()
assert fd.response == b''
def test_before_after_request(self):
app = Microdot()