websocket<-->TCP test
This commit is contained in:
parent
0db8ed3225
commit
3197946073
|
@ -369,12 +369,42 @@ class TransitWithoutLogs(_Transit, ServerBase, unittest.TestCase):
|
||||||
|
|
||||||
class TransitWebSockets(_Transit, ServerBase, unittest.TestCase):
|
class TransitWebSockets(_Transit, ServerBase, unittest.TestCase):
|
||||||
|
|
||||||
# XXX note to self, from pairing with Flo:
|
|
||||||
# - write a WS <--> TCP version of at least one of these tests?
|
|
||||||
|
|
||||||
def new_protocol(self):
|
def new_protocol(self):
|
||||||
return self.new_protocol_ws()
|
return self.new_protocol_ws()
|
||||||
|
|
||||||
|
def test_websocket_to_tcp(self):
|
||||||
|
"""
|
||||||
|
One client is WebSocket and one is TCP
|
||||||
|
"""
|
||||||
|
p1 = self.new_protocol_ws()
|
||||||
|
p2 = self.new_protocol_tcp()
|
||||||
|
|
||||||
|
token1 = b"\x00"*32
|
||||||
|
side1 = b"\x01"*8
|
||||||
|
side2 = b"\x02"*8
|
||||||
|
p1.send(handshake(token1, side=side1))
|
||||||
|
self.flush()
|
||||||
|
p2.send(handshake(token1, side=side2))
|
||||||
|
self.flush()
|
||||||
|
|
||||||
|
# a correct handshake yields an ack, after which we can send
|
||||||
|
exp = b"ok\n"
|
||||||
|
self.assertEqual(p1.get_received_data(), exp)
|
||||||
|
self.assertEqual(p2.get_received_data(), exp)
|
||||||
|
|
||||||
|
p1.reset_received_data()
|
||||||
|
p2.reset_received_data()
|
||||||
|
|
||||||
|
# all data they sent after the handshake should be given to us
|
||||||
|
s1 = b"data1"
|
||||||
|
p1.send(s1)
|
||||||
|
self.flush()
|
||||||
|
self.assertEqual(p2.get_received_data(), s1)
|
||||||
|
|
||||||
|
p1.disconnect()
|
||||||
|
p2.disconnect()
|
||||||
|
self.flush()
|
||||||
|
|
||||||
def test_bad_handshake_old_slow(self):
|
def test_bad_handshake_old_slow(self):
|
||||||
"""
|
"""
|
||||||
This test only makes sense for TCP
|
This test only makes sense for TCP
|
||||||
|
|
Loading…
Reference in New Issue
Block a user