test_node_websockets.py (1771:94cf6c5fafbd) test_node_websockets.py (1819:9344a39fb02e)
1import struct
2import time
3
4import pytest
5from unit.applications.lang.node import TestApplicationNode
6from unit.applications.websockets import TestApplicationWebsocket
7from unit.option import option
8

--- 13 unchanged lines hidden (view full) ---

22
23 def close_connection(self, sock):
24 assert self.recvall(sock, read_timeout=0.1) == b'', 'empty soc'
25
26 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close())
27
28 self.check_close(sock)
29
1import struct
2import time
3
4import pytest
5from unit.applications.lang.node import TestApplicationNode
6from unit.applications.websockets import TestApplicationWebsocket
7from unit.option import option
8

--- 13 unchanged lines hidden (view full) ---

22
23 def close_connection(self, sock):
24 assert self.recvall(sock, read_timeout=0.1) == b'', 'empty soc'
25
26 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close())
27
28 self.check_close(sock)
29
30 def check_close(self, sock, code=1000, no_close=False):
31 frame = self.ws.frame_read(sock)
30 def check_close(self, sock, code=1000, no_close=False, frame=None):
31 if frame == None:
32 frame = self.ws.frame_read(sock)
32
33 assert frame['fin'] == True, 'close fin'
34 assert frame['opcode'] == self.ws.OP_CLOSE, 'close opcode'
35 assert frame['code'] == code, 'close code'
36
37 if not no_close:
38 sock.close()
39

--- 836 unchanged lines hidden (view full) ---

876 # 5_15
877
878 _, sock, _ = self.ws.upgrade()
879
880 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment1', fin=False)
881 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2', fin=True)
882 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment3', fin=False)
883 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment4', fin=True)
33
34 assert frame['fin'] == True, 'close fin'
35 assert frame['opcode'] == self.ws.OP_CLOSE, 'close opcode'
36 assert frame['code'] == code, 'close code'
37
38 if not no_close:
39 sock.close()
40

--- 836 unchanged lines hidden (view full) ---

877 # 5_15
878
879 _, sock, _ = self.ws.upgrade()
880
881 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment1', fin=False)
882 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2', fin=True)
883 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment3', fin=False)
884 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment4', fin=True)
884 self.check_close(sock, 1002)
885
885
886 frame = self.ws.frame_read(sock)
887
888 if frame['opcode'] == self.ws.OP_TEXT:
889 self.check_frame(frame, True, self.ws.OP_TEXT, 'fragment1fragment2')
890 frame = None
891
892 self.check_close(sock, 1002, frame=frame)
893
886 # 5_16
887
888 _, sock, _ = self.ws.upgrade()
889
890 for i in range(0, 2):
891 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment1', fin=False)
892 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment2', fin=False)
893 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment3', fin=True)

--- 525 unchanged lines hidden ---
894 # 5_16
895
896 _, sock, _ = self.ws.upgrade()
897
898 for i in range(0, 2):
899 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment1', fin=False)
900 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment2', fin=False)
901 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment3', fin=True)

--- 525 unchanged lines hidden ---