mirror of https://github.com/huashengdun/webssh
Added dummy check_channel_window_change_request for testing
parent
96d9ae5b4d
commit
cb5424a166
|
@ -76,6 +76,11 @@ class Server (paramiko.ServerInterface):
|
||||||
pixelwidth, pixelheight, modes):
|
pixelwidth, pixelheight, modes):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def check_channel_window_change_request(self, channel, width, height,
|
||||||
|
pixelwidth, pixelheight):
|
||||||
|
channel.send('resized')
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def run_ssh_server(port=2200, running=True):
|
def run_ssh_server(port=2200, running=True):
|
||||||
# now connect
|
# now connect
|
||||||
|
|
|
@ -137,12 +137,15 @@ class TestApp(AsyncHTTPTestCase):
|
||||||
msg = yield ws.read_message()
|
msg = yield ws.read_message()
|
||||||
self.assertIn(b'Welcome!', msg)
|
self.assertIn(b'Welcome!', msg)
|
||||||
|
|
||||||
# message will be ignored silently
|
# messages below will be ignored silently
|
||||||
yield ws.write_message('hello')
|
yield ws.write_message('hello')
|
||||||
yield ws.write_message('"hello"')
|
yield ws.write_message('"hello"')
|
||||||
yield ws.write_message('[hello]')
|
yield ws.write_message('[hello]')
|
||||||
yield ws.write_message(json.dumps({'resize': []}))
|
yield ws.write_message(json.dumps({'resize': []}))
|
||||||
yield ws.write_message(json.dumps({'resize': {}}))
|
yield ws.write_message(json.dumps({'resize': {}}))
|
||||||
|
yield ws.write_message(json.dumps({'resize': 'ab'}))
|
||||||
|
yield ws.write_message(json.dumps({'resize': ['a', 'b']}))
|
||||||
|
yield ws.write_message(json.dumps({'resize': {'a': 1, 'b': 2}}))
|
||||||
yield ws.write_message(json.dumps({'resize': [100]}))
|
yield ws.write_message(json.dumps({'resize': [100]}))
|
||||||
yield ws.write_message(json.dumps({'resize': [100]*10}))
|
yield ws.write_message(json.dumps({'resize': [100]*10}))
|
||||||
yield ws.write_message(json.dumps({'resize': [-1, -1]}))
|
yield ws.write_message(json.dumps({'resize': [-1, -1]}))
|
||||||
|
@ -152,7 +155,13 @@ class TestApp(AsyncHTTPTestCase):
|
||||||
yield ws.write_message(json.dumps({'data': 1}))
|
yield ws.write_message(json.dumps({'data': 1}))
|
||||||
yield ws.write_message(json.dumps({'data': 2.1}))
|
yield ws.write_message(json.dumps({'data': 2.1}))
|
||||||
yield ws.write_message(json.dumps({'key-non-existed': 'hello'}))
|
yield ws.write_message(json.dumps({'key-non-existed': 'hello'}))
|
||||||
yield ws.write_message(json.dumps({'resize': [79, 23], 'data': 'bye'}))
|
# end - those just for testing webssh websocket stablity
|
||||||
|
|
||||||
|
yield ws.write_message(json.dumps({'resize': [79, 23]}))
|
||||||
|
msg = yield ws.read_message()
|
||||||
|
self.assertEqual(b'resized', msg)
|
||||||
|
|
||||||
|
yield ws.write_message(json.dumps({'data': 'bye'}))
|
||||||
msg = yield ws.read_message()
|
msg = yield ws.read_message()
|
||||||
self.assertEqual(b'bye', msg)
|
self.assertEqual(b'bye', msg)
|
||||||
ws.close()
|
ws.close()
|
||||||
|
|
|
@ -216,7 +216,7 @@ class WsockHandler(MixinHandler, tornado.websocket.WebSocketHandler):
|
||||||
return
|
return
|
||||||
|
|
||||||
resize = msg.get('resize')
|
resize = msg.get('resize')
|
||||||
if resize:
|
if resize and len(resize) == 2:
|
||||||
try:
|
try:
|
||||||
worker.chan.resize_pty(*resize)
|
worker.chan.resize_pty(*resize)
|
||||||
except (TypeError, struct.error, paramiko.SSHException):
|
except (TypeError, struct.error, paramiko.SSHException):
|
||||||
|
|
Loading…
Reference in New Issue