Tests: response handling improved.

This commit is contained in:
Andrey Zelenkov
2018-04-26 17:37:24 +03:00
parent a44d358f29
commit d9f8479375
3 changed files with 14 additions and 10 deletions

View File

@@ -167,7 +167,7 @@ Connection: close
def test_access_log_partial(self):
self.load('empty')
self.http(b"""GE""", raw_resp=True, raw=True)
self.http(b"""GE""", raw=True)
time.sleep(0.2)
@@ -179,7 +179,7 @@ Connection: close
def test_access_log_partial_2(self):
self.load('empty')
self.http(b"""GET /\n""", raw_resp=True, raw=True)
self.http(b"""GET /\n""", raw=True)
time.sleep(0.2)
@@ -191,7 +191,7 @@ Connection: close
def test_access_log_partial_3(self):
self.load('empty')
self.http(b"""GET / HTTP/1.1""", raw_resp=True, raw=True)
self.http(b"""GET / HTTP/1.1""", raw=True)
time.sleep(0.2)
@@ -203,7 +203,7 @@ Connection: close
def test_access_log_partial_4(self):
self.load('empty')
resp = self.http(b"""GET / HTTP/1.1\n""", raw_resp=True, raw=True)
resp = self.http(b"""GET / HTTP/1.1\n""", raw=True)
time.sleep(0.2)
@@ -216,7 +216,7 @@ Connection: close
def test_access_log_partial_5(self):
self.load('empty')
self.http(b"""GET / HTTP/1.1\n\n""", raw_resp=True, raw=True)
self.http(b"""GET / HTTP/1.1\n\n""", raw=True)
self.stop()

View File

@@ -230,7 +230,7 @@ class TestUnitPythonApplication(unit.TestUnitApplicationPython):
def test_python_application_not_iterable(self):
self.load('not_iterable')
self.get(raw_resp=True)
self.get()
self.stop()

View File

@@ -259,17 +259,21 @@ class TestUnitHTTP(TestUnit):
return self.http('PUT', **kwargs)
def _recvall(self, sock, buff_size=4096):
data = ''
data = b''
while select.select([sock], [], [], 1)[0]:
part = sock.recv(buff_size).decode()
part = sock.recv(buff_size)
data += part
if part is '':
if not len(part):
break
return data
return data.decode()
def _resp_to_dict(self, resp):
m = re.search('(.*?\x0d\x0a?)\x0d\x0a?(.*)', resp, re.M | re.S)
if not m:
return {}
headers_text, body = m.group(1), m.group(2)
p = re.compile('(.*?)\x0d\x0a?', re.M | re.S)