示例#1
0
 def test_good_request_nondefault_port(self):
     request = _create_request(_GOOD_REQUEST_NONDEFAULT_PORT)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_NONDEFAULT_PORT,
                      request.connection.written_data())
     self.assertEqual('sample', request.ws_protocol)
示例#2
0
 def test_good_request_default_no_protocol(self):
     request = _create_request(_GOOD_REQUEST_NO_PROTOCOL)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_NO_PROTOCOL,
                      request.connection.written_data())
     self.assertEqual(None, request.ws_protocol)
示例#3
0
 def test_good_request_with_query_part(self):
     request = _create_request(_GOOD_REQUEST_WITH_QUERY_PART)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_WITH_QUERY_PART,
                      request.connection.written_data())
     self.assertEqual('ws://example.com/demo?e=mc2', request.ws_location)
 def test_good_request_default_no_protocol(self):
     request = _create_request(_GOOD_REQUEST_NO_PROTOCOL)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_NO_PROTOCOL,
                      request.connection.written_data())
     self.assertEqual(None, request.ws_protocol)
 def test_good_request_with_nonprintable_key(self):
     request = _create_request(_GOOD_REQUEST_WITH_NONPRINTABLE_KEY)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_WITH_NONPRINTABLE_KEY,
                      request.connection.written_data())
     self.assertEqual('sample', request.ws_protocol)
示例#6
0
 def test_good_request_with_nonprintable_key(self):
     request = _create_request(_GOOD_REQUEST_WITH_NONPRINTABLE_KEY)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_WITH_NONPRINTABLE_KEY,
                      request.connection.written_data())
     self.assertEqual('sample', request.ws_protocol)
 def test_good_request_with_query_part(self):
     request = _create_request(_GOOD_REQUEST_WITH_QUERY_PART)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_WITH_QUERY_PART,
                      request.connection.written_data())
     self.assertEqual('ws://example.com/demo?e=mc2', request.ws_location)
示例#8
0
 def test_good_request_optional_headers(self):
     request = _create_request(_GOOD_REQUEST_WITH_OPTIONAL_HEADERS)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual('AValue',
                      request.headers_in['AKey'])
     self.assertEqual('',
                      request.headers_in['EmptyValue'])
 def test_good_request_secure_non_default_port(self):
     request = _create_request(_GOOD_REQUEST_NONDEFAULT_PORT)
     request.is_https_ = True
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_SECURE_NONDEF,
                      request.connection.written_data())
     self.assertEqual('sample', request.ws_protocol)
 def test_good_request_optional_headers(self):
     request = _create_request(_GOOD_REQUEST_WITH_OPTIONAL_HEADERS)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual('AValue',
                      request.headers_in['AKey'])
     self.assertEqual('',
                      request.headers_in['EmptyValue'])
 def test_good_request_secure_default_port(self):
     request = _create_request(_GOOD_REQUEST)
     request.connection.local_addr = ('0.0.0.0', 443)
     request.is_https_ = True
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_SECURE,
                      request.connection.written_data())
     self.assertEqual('sample', request.ws_protocol)
示例#12
0
 def test_good_request_secure_default_port(self):
     request = _create_request(_GOOD_REQUEST)
     request.connection.local_addr = ('0.0.0.0', 443)
     request.is_https_ = True
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_SECURE,
                      request.connection.written_data())
     self.assertEqual('sample', request.ws_protocol)
 def test_good_request_default_port(self):
     request = _create_request(_GOOD_REQUEST)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_DEFAULT_PORT,
                      request.connection.written_data())
     self.assertEqual('/demo', request.ws_resource)
     self.assertEqual('http://example.com', request.ws_origin)
     self.assertEqual('ws://example.com/demo', request.ws_location)
     self.assertEqual('sample', request.ws_protocol)
示例#14
0
 def test_good_request_default_port(self):
     request = _create_request(_GOOD_REQUEST)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_DEFAULT_PORT,
                      request.connection.written_data())
     self.assertEqual('/demo', request.ws_resource)
     self.assertEqual('http://example.com', request.ws_origin)
     self.assertEqual('ws://example.com/demo', request.ws_location)
     self.assertEqual('sample', request.ws_protocol)
示例#15
0
 def test_bad_requests(self):
     for request in map(_create_request, _BAD_REQUESTS):
         handshaker = Handshaker(request, mock.MockDispatcher())
         self.assertRaises(HandshakeException, handshaker.do_handshake)
示例#16
0
 def test_good_request_capitalized_header_values(self):
     request = _create_request(_GOOD_REQUEST_CAPITALIZED_HEADER_VALUES)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_DEFAULT_PORT,
                      request.connection.written_data())
示例#17
0
 def test_good_request_case_mixed_header_names(self):
     request = _create_request(_GOOD_REQUEST_CASE_MIXED_HEADER_NAMES)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_DEFAULT_PORT,
                      request.connection.written_data())
 def test_good_request_case_mixed_header_names(self):
     request = _create_request(_GOOD_REQUEST_CASE_MIXED_HEADER_NAMES)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_DEFAULT_PORT,
                      request.connection.written_data())
 def test_good_request_capitalized_header_values(self):
     request = _create_request(_GOOD_REQUEST_CAPITALIZED_HEADER_VALUES)
     handshaker = Handshaker(request, mock.MockDispatcher())
     handshaker.do_handshake()
     self.assertEqual(_GOOD_RESPONSE_DEFAULT_PORT,
                      request.connection.written_data())