mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
Fix tests to work with new version of aiohttp (>= 3.0)
This commit is contained in:
1 parent
9ae9209881
commit
ab8dc52ece
18 files changed
+218
-184
No files matched your search
@@ -96,9 +96,9 @@ class Compute:
|
||||
return self._http_session
|
||||
|
||||
#def __del__(self):
|
||||
# pass
|
||||
# if self._http_session:
|
||||
# self._http_session.close()
|
||||
#
|
||||
# if self._http_session:
|
||||
# self._http_session.close()
|
||||
|
||||
def _set_auth(self, user, password):
|
||||
"""
|
||||
@@ -415,7 +415,7 @@ class Compute:
|
||||
if "version" not in response.json:
|
||||
msg = "The server {} is not a GNS3 server".format(self._id)
|
||||
log.error(msg)
|
||||
self._http_session.close()
|
||||
await self._http_session.close()
|
||||
raise aiohttp.web.HTTPConflict(text=msg)
|
||||
self._capabilities = response.json
|
||||
|
||||
@@ -430,13 +430,13 @@ class Compute:
|
||||
if __version_info__[3] == 0:
|
||||
# Stable release
|
||||
log.error(msg)
|
||||
self._http_session.close()
|
||||
await self._http_session.close()
|
||||
self._last_error = msg
|
||||
raise aiohttp.web.HTTPConflict(text=msg)
|
||||
elif parse_version(__version__)[:2] != parse_version(response.json["version"])[:2]:
|
||||
# We don't allow different major version to interact even with dev build
|
||||
log.error(msg)
|
||||
self._http_session.close()
|
||||
await self._http_session.close()
|
||||
self._last_error = msg
|
||||
raise aiohttp.web.HTTPConflict(text=msg)
|
||||
else:
|
||||
|
||||
@@ -181,7 +181,7 @@ class ProjectHandler:
|
||||
queue = project.get_listen_queue()
|
||||
ProjectHandler._notifications_listening.setdefault(project.id, 0)
|
||||
ProjectHandler._notifications_listening[project.id] += 1
|
||||
response.write("{}\n".format(json.dumps(ProjectHandler._getPingMessage())).encode("utf-8"))
|
||||
await response.write("{}\n".format(json.dumps(ProjectHandler._getPingMessage())).encode("utf-8"))
|
||||
while True:
|
||||
try:
|
||||
(action, msg) = await asyncio.wait_for(queue.get(), 5)
|
||||
@@ -190,11 +190,11 @@ class ProjectHandler:
|
||||
else:
|
||||
msg = json.dumps({"action": action, "event": msg}, sort_keys=True)
|
||||
log.debug("Send notification: %s", msg)
|
||||
response.write(("{}\n".format(msg)).encode("utf-8"))
|
||||
await response.write(("{}\n".format(msg)).encode("utf-8"))
|
||||
except asyncio.futures.CancelledError as e:
|
||||
break
|
||||
except asyncio.futures.TimeoutError:
|
||||
response.write("{}\n".format(json.dumps(ProjectHandler._getPingMessage())).encode("utf-8"))
|
||||
await response.write("{}\n".format(json.dumps(ProjectHandler._getPingMessage())).encode("utf-8"))
|
||||
project.stop_listen_queue(queue)
|
||||
if project.id in ProjectHandler._notifications_listening:
|
||||
ProjectHandler._notifications_listening[project.id] -= 1
|
||||
@@ -374,10 +374,9 @@ class ProjectHandler:
|
||||
|
||||
include_images = bool(int(request.json.get("include_images", "0")))
|
||||
for data in project.export(include_images=include_images):
|
||||
response.write(data)
|
||||
await response.drain()
|
||||
await response.write(data)
|
||||
|
||||
await response.write_eof()
|
||||
#await response.write_eof() #FIXME: shound't be needed anymore
|
||||
|
||||
@Route.post(
|
||||
r"/projects/{project_id}/import",
|
||||
|
||||
@@ -420,9 +420,8 @@ class NodeHandler:
|
||||
response.content_type = "application/octet-stream"
|
||||
response.enable_chunked_encoding()
|
||||
await response.prepare(request)
|
||||
|
||||
response.write(res.body)
|
||||
await response.write_eof()
|
||||
await response.write(res.body)
|
||||
# await response.write_eof() #FIXME: shound't be needed anymore
|
||||
|
||||
@Route.post(
|
||||
r"/projects/{project_id}/nodes/{node_id}/files/{path:.+}",
|
||||
|
||||
@@ -52,10 +52,9 @@ class NotificationHandler:
|
||||
while True:
|
||||
try:
|
||||
msg = await queue.get_json(5)
|
||||
response.write(("{}\n".format(msg)).encode("utf-8"))
|
||||
await response.write(("{}\n".format(msg)).encode("utf-8"))
|
||||
except asyncio.futures.CancelledError:
|
||||
break
|
||||
await response.drain()
|
||||
|
||||
@Route.get(
|
||||
r"/notifications/ws",
|
||||
|
||||
@@ -231,10 +231,9 @@ class ProjectHandler:
|
||||
while True:
|
||||
try:
|
||||
msg = await queue.get_json(5)
|
||||
response.write(("{}\n".format(msg)).encode("utf-8"))
|
||||
await response.write(("{}\n".format(msg)).encode("utf-8"))
|
||||
except asyncio.futures.CancelledError as e:
|
||||
break
|
||||
await response.drain()
|
||||
|
||||
if project.auto_close:
|
||||
# To avoid trouble with client connecting disconnecting we sleep few seconds before checking
|
||||
@@ -313,10 +312,9 @@ class ProjectHandler:
|
||||
await response.prepare(request)
|
||||
|
||||
for data in stream:
|
||||
response.write(data)
|
||||
await response.drain()
|
||||
await response.write(data)
|
||||
|
||||
await response.write_eof()
|
||||
#await response.write_eof() #FIXME: shound't be needed anymore
|
||||
# Will be raise if you have no space left or permission issue on your temporary directory
|
||||
# RuntimeError: something was wrong during the zip process
|
||||
except (ValueError, OSError, RuntimeError) as e:
|
||||
|
||||
@@ -144,7 +144,7 @@ class Response(aiohttp.web.Response):
|
||||
if not data:
|
||||
break
|
||||
await self.write(data)
|
||||
await self.drain()
|
||||
# await self.drain()
|
||||
|
||||
except FileNotFoundError:
|
||||
raise aiohttp.web.HTTPNotFound()
|
||||
|
||||
Reference in new issue
Block a user