summaryrefslogtreecommitdiffhomepage
path: root/test/test_asgi_websockets.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_asgi_websockets.py')
-rw-r--r--test/test_asgi_websockets.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/test_asgi_websockets.py b/test/test_asgi_websockets.py
index 7c9ec555..6121fcc5 100644
--- a/test/test_asgi_websockets.py
+++ b/test/test_asgi_websockets.py
@@ -63,6 +63,9 @@ class TestASGIWebsockets(TestApplicationPython):
key
), 'key'
+ # remove "mirror" application
+ self.load('websockets/subprotocol')
+
def test_asgi_websockets_subprotocol(self):
self.load('websockets/subprotocol')
@@ -92,6 +95,27 @@ class TestASGIWebsockets(TestApplicationPython):
sock.close()
+ def test_asgi_websockets_mirror_app_change(self):
+ self.load('websockets/mirror')
+
+ message = 'blah'
+
+ _, sock, _ = self.ws.upgrade()
+
+ self.ws.frame_write(sock, self.ws.OP_TEXT, message)
+ frame = self.ws.frame_read(sock)
+
+ assert message == frame['data'].decode('utf-8'), 'mirror'
+
+ self.load('websockets/subprotocol')
+
+ self.ws.frame_write(sock, self.ws.OP_TEXT, message)
+ frame = self.ws.frame_read(sock)
+
+ assert message == frame['data'].decode('utf-8'), 'mirror 2'
+
+ sock.close()
+
def test_asgi_websockets_no_mask(self):
self.load('websockets/mirror')