Deleted
Added
test_node_websockets.py (1438:5e5a3897e0cd) | test_node_websockets.py (1453:71af60a59338) |
---|---|
1import time 2import struct 3import unittest 4from unit.applications.lang.node import TestApplicationNode 5from unit.applications.websockets import TestApplicationWebsocket 6 7 8class TestNodeWebsockets(TestApplicationNode): --- 12 unchanged lines hidden (view full) --- 21 'clear keepalive_interval', 22 ) 23 24 self.skip_alerts.extend( 25 [r'socket close\(\d+\) failed'] 26 ) 27 28 def close_connection(self, sock): | 1import time 2import struct 3import unittest 4from unit.applications.lang.node import TestApplicationNode 5from unit.applications.websockets import TestApplicationWebsocket 6 7 8class TestNodeWebsockets(TestApplicationNode): --- 12 unchanged lines hidden (view full) --- 21 'clear keepalive_interval', 22 ) 23 24 self.skip_alerts.extend( 25 [r'socket close\(\d+\) failed'] 26 ) 27 28 def close_connection(self, sock): |
29 self.assertEqual(self.recvall(sock, read_timeout=1), b'', 'empty sock') | 29 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', 'empty soc') |
30 31 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 32 33 self.check_close(sock) 34 35 def check_close(self, sock, code=1000, no_close=False): 36 frame = self.ws.frame_read(sock) 37 --- 417 unchanged lines hidden (view full) --- 455 def test_node_websockets_2_7__2_9(self): 456 self.load('websockets/mirror') 457 458 # 2_7 459 460 _, sock, _ = self.ws.upgrade() 461 462 self.ws.frame_write(sock, self.ws.OP_PONG, '') | 30 31 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 32 33 self.check_close(sock) 34 35 def check_close(self, sock, code=1000, no_close=False): 36 frame = self.ws.frame_read(sock) 37 --- 417 unchanged lines hidden (view full) --- 455 def test_node_websockets_2_7__2_9(self): 456 self.load('websockets/mirror') 457 458 # 2_7 459 460 _, sock, _ = self.ws.upgrade() 461 462 self.ws.frame_write(sock, self.ws.OP_PONG, '') |
463 self.assertEqual(self.recvall(sock, read_timeout=1), b'', '2_7') | 463 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', '2_7') |
464 465 # 2_8 466 467 self.ws.frame_write(sock, self.ws.OP_PONG, 'unsolicited pong payload') | 464 465 # 2_8 466 467 self.ws.frame_write(sock, self.ws.OP_PONG, 'unsolicited pong payload') |
468 self.assertEqual(self.recvall(sock, read_timeout=1), b'', '2_8') | 468 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', '2_8') |
469 470 # 2_9 471 472 payload = 'ping payload' 473 474 self.ws.frame_write(sock, self.ws.OP_PONG, 'unsolicited pong payload') 475 self.ws.frame_write(sock, self.ws.OP_PING, payload) 476 --- 49 unchanged lines hidden (view full) --- 526 self.ws.frame_write(sock, self.ws.OP_TEXT, payload, rsv2=True) 527 self.ws.frame_write(sock, self.ws.OP_PING, '') 528 529 frame = self.ws.frame_read(sock) 530 self.check_frame(frame, True, self.ws.OP_TEXT, payload) 531 532 self.check_close(sock, 1002, no_close=True) 533 | 469 470 # 2_9 471 472 payload = 'ping payload' 473 474 self.ws.frame_write(sock, self.ws.OP_PONG, 'unsolicited pong payload') 475 self.ws.frame_write(sock, self.ws.OP_PING, payload) 476 --- 49 unchanged lines hidden (view full) --- 526 self.ws.frame_write(sock, self.ws.OP_TEXT, payload, rsv2=True) 527 self.ws.frame_write(sock, self.ws.OP_PING, '') 528 529 frame = self.ws.frame_read(sock) 530 self.check_frame(frame, True, self.ws.OP_TEXT, payload) 531 532 self.check_close(sock, 1002, no_close=True) 533 |
534 self.assertEqual(self.recvall(sock, read_timeout=1), b'', 'empty 3_2') | 534 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', 'empty 3_2') |
535 sock.close() 536 537 # 3_3 538 539 _, sock, _ = self.ws.upgrade() 540 541 self.ws.frame_write(sock, self.ws.OP_TEXT, payload) 542 543 frame = self.ws.frame_read(sock) 544 self.check_frame(frame, True, self.ws.OP_TEXT, payload) 545 546 self.ws.frame_write( 547 sock, self.ws.OP_TEXT, payload, rsv1=True, rsv2=True 548 ) 549 550 self.check_close(sock, 1002, no_close=True) 551 | 535 sock.close() 536 537 # 3_3 538 539 _, sock, _ = self.ws.upgrade() 540 541 self.ws.frame_write(sock, self.ws.OP_TEXT, payload) 542 543 frame = self.ws.frame_read(sock) 544 self.check_frame(frame, True, self.ws.OP_TEXT, payload) 545 546 self.ws.frame_write( 547 sock, self.ws.OP_TEXT, payload, rsv1=True, rsv2=True 548 ) 549 550 self.check_close(sock, 1002, no_close=True) 551 |
552 self.assertEqual(self.recvall(sock, read_timeout=1), b'', 'empty 3_3') | 552 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', 'empty 3_3') |
553 sock.close() 554 555 # 3_4 556 557 _, sock, _ = self.ws.upgrade() 558 559 self.ws.frame_write(sock, self.ws.OP_TEXT, payload, chopsize=1) 560 self.ws.frame_write( 561 sock, self.ws.OP_TEXT, payload, rsv3=True, chopsize=1 562 ) 563 self.ws.frame_write(sock, self.ws.OP_PING, '') 564 565 frame = self.ws.frame_read(sock) 566 self.check_frame(frame, True, self.ws.OP_TEXT, payload) 567 568 self.check_close(sock, 1002, no_close=True) 569 | 553 sock.close() 554 555 # 3_4 556 557 _, sock, _ = self.ws.upgrade() 558 559 self.ws.frame_write(sock, self.ws.OP_TEXT, payload, chopsize=1) 560 self.ws.frame_write( 561 sock, self.ws.OP_TEXT, payload, rsv3=True, chopsize=1 562 ) 563 self.ws.frame_write(sock, self.ws.OP_PING, '') 564 565 frame = self.ws.frame_read(sock) 566 self.check_frame(frame, True, self.ws.OP_TEXT, payload) 567 568 self.check_close(sock, 1002, no_close=True) 569 |
570 self.assertEqual(self.recvall(sock, read_timeout=1), b'', 'empty 3_4') | 570 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', 'empty 3_4') |
571 sock.close() 572 573 # 3_5 574 575 _, sock, _ = self.ws.upgrade() 576 577 self.ws.frame_write( 578 sock, --- 169 unchanged lines hidden (view full) --- 748 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2', fin=True) 749 750 frame = self.ws.frame_read(sock) 751 self.check_frame(frame, True, self.ws.OP_TEXT, 'fragment1fragment2') 752 753 # 5_4 754 755 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment1', fin=False) | 571 sock.close() 572 573 # 3_5 574 575 _, sock, _ = self.ws.upgrade() 576 577 self.ws.frame_write( 578 sock, --- 169 unchanged lines hidden (view full) --- 748 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2', fin=True) 749 750 frame = self.ws.frame_read(sock) 751 self.check_frame(frame, True, self.ws.OP_TEXT, 'fragment1fragment2') 752 753 # 5_4 754 755 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment1', fin=False) |
756 self.assertEqual(self.recvall(sock, read_timeout=1), b'', '5_4') | 756 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', '5_4') |
757 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2', fin=True) 758 759 frame = self.ws.frame_read(sock) 760 self.check_frame(frame, True, self.ws.OP_TEXT, 'fragment1fragment2') 761 762 # 5_5 763 764 self.ws.frame_write( --- 20 unchanged lines hidden (view full) --- 785 frame = self.ws.frame_read(sock) 786 self.check_frame(frame, True, self.ws.OP_TEXT, 'fragment1fragment2') 787 788 # 5_7 789 790 ping_payload = 'ping payload' 791 792 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment1', fin=False) | 757 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2', fin=True) 758 759 frame = self.ws.frame_read(sock) 760 self.check_frame(frame, True, self.ws.OP_TEXT, 'fragment1fragment2') 761 762 # 5_5 763 764 self.ws.frame_write( --- 20 unchanged lines hidden (view full) --- 785 frame = self.ws.frame_read(sock) 786 self.check_frame(frame, True, self.ws.OP_TEXT, 'fragment1fragment2') 787 788 # 5_7 789 790 ping_payload = 'ping payload' 791 792 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment1', fin=False) |
793 self.assertEqual(self.recvall(sock, read_timeout=1), b'', '5_7') | 793 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', '5_7') |
794 795 self.ws.frame_write(sock, self.ws.OP_PING, ping_payload) 796 797 frame = self.ws.frame_read(sock) 798 self.check_frame(frame, True, self.ws.OP_PONG, ping_payload) 799 800 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2', fin=True) 801 --- 167 unchanged lines hidden (view full) --- 969 970 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment3', fin=False) 971 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment4', fin=False) 972 self.ws.frame_write(sock, self.ws.OP_PING, 'pongme 2!') 973 974 frame = self.ws.frame_read(sock) 975 self.check_frame(frame, True, self.ws.OP_PONG, 'pongme 2!') 976 | 794 795 self.ws.frame_write(sock, self.ws.OP_PING, ping_payload) 796 797 frame = self.ws.frame_read(sock) 798 self.check_frame(frame, True, self.ws.OP_PONG, ping_payload) 799 800 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2', fin=True) 801 --- 167 unchanged lines hidden (view full) --- 969 970 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment3', fin=False) 971 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment4', fin=False) 972 self.ws.frame_write(sock, self.ws.OP_PING, 'pongme 2!') 973 974 frame = self.ws.frame_read(sock) 975 self.check_frame(frame, True, self.ws.OP_PONG, 'pongme 2!') 976 |
977 self.assertEqual(self.recvall(sock, read_timeout=1), b'', '5_20') | 977 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', '5_20') |
978 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment5') 979 980 self.check_frame( 981 self.ws.frame_read(sock), 982 True, 983 self.ws.OP_TEXT, 984 'fragment1fragment2fragment3fragment4fragment5', 985 ) --- 116 unchanged lines hidden (view full) --- 1102 # 7_1_3 1103 1104 _, sock, _ = self.ws.upgrade() 1105 1106 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 1107 self.check_close(sock, no_close=True) 1108 1109 self.ws.frame_write(sock, self.ws.OP_PING, '') | 978 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment5') 979 980 self.check_frame( 981 self.ws.frame_read(sock), 982 True, 983 self.ws.OP_TEXT, 984 'fragment1fragment2fragment3fragment4fragment5', 985 ) --- 116 unchanged lines hidden (view full) --- 1102 # 7_1_3 1103 1104 _, sock, _ = self.ws.upgrade() 1105 1106 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 1107 self.check_close(sock, no_close=True) 1108 1109 self.ws.frame_write(sock, self.ws.OP_PING, '') |
1110 self.assertEqual(self.recvall(sock, read_timeout=1), b'', 'empty sock') | 1110 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', 'empty soc') |
1111 1112 sock.close() 1113 1114 # 7_1_4 1115 1116 _, sock, _ = self.ws.upgrade() 1117 1118 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 1119 self.check_close(sock, no_close=True) 1120 1121 self.ws.frame_write(sock, self.ws.OP_TEXT, payload) | 1111 1112 sock.close() 1113 1114 # 7_1_4 1115 1116 _, sock, _ = self.ws.upgrade() 1117 1118 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 1119 self.check_close(sock, no_close=True) 1120 1121 self.ws.frame_write(sock, self.ws.OP_TEXT, payload) |
1122 self.assertEqual(self.recvall(sock, read_timeout=1), b'', 'empty sock') | 1122 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', 'empty soc') |
1123 1124 sock.close() 1125 1126 # 7_1_5 1127 1128 _, sock, _ = self.ws.upgrade() 1129 1130 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment1', fin=False) 1131 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 1132 self.check_close(sock, no_close=True) 1133 1134 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2') | 1123 1124 sock.close() 1125 1126 # 7_1_5 1127 1128 _, sock, _ = self.ws.upgrade() 1129 1130 self.ws.frame_write(sock, self.ws.OP_TEXT, 'fragment1', fin=False) 1131 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 1132 self.check_close(sock, no_close=True) 1133 1134 self.ws.frame_write(sock, self.ws.OP_CONT, 'fragment2') |
1135 self.assertEqual(self.recvall(sock, read_timeout=1), b'', 'empty sock') | 1135 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', 'empty soc') |
1136 1137 sock.close() 1138 1139 # 7_1_6 1140 1141 _, sock, _ = self.ws.upgrade() 1142 1143 self.ws.frame_write(sock, self.ws.OP_TEXT, 'BAsd7&jh23' * 26 * 2 ** 10) 1144 self.ws.frame_write(sock, self.ws.OP_TEXT, payload) 1145 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 1146 1147 self.recvall(sock, read_timeout=1) 1148 1149 self.ws.frame_write(sock, self.ws.OP_PING, '') | 1136 1137 sock.close() 1138 1139 # 7_1_6 1140 1141 _, sock, _ = self.ws.upgrade() 1142 1143 self.ws.frame_write(sock, self.ws.OP_TEXT, 'BAsd7&jh23' * 26 * 2 ** 10) 1144 self.ws.frame_write(sock, self.ws.OP_TEXT, payload) 1145 self.ws.frame_write(sock, self.ws.OP_CLOSE, self.ws.serialize_close()) 1146 1147 self.recvall(sock, read_timeout=1) 1148 1149 self.ws.frame_write(sock, self.ws.OP_PING, '') |
1150 self.assertEqual(self.recvall(sock, read_timeout=1), b'', 'empty sock') | 1150 self.assertEqual(self.recvall(sock, read_timeout=0.1), b'', 'empty soc') |
1151 1152 sock.close() 1153 1154 # 7_3_1 1155 1156 _, sock, _ = self.ws.upgrade() 1157 1158 self.ws.frame_write(sock, self.ws.OP_CLOSE, '') --- 297 unchanged lines hidden --- | 1151 1152 sock.close() 1153 1154 # 7_3_1 1155 1156 _, sock, _ = self.ws.upgrade() 1157 1158 self.ws.frame_write(sock, self.ws.OP_CLOSE, '') --- 297 unchanged lines hidden --- |