def create_tunneled_connection(self, url, port, response): s = FakeSocket(response) conn = AWSHTTPConnection(url, port) conn.sock = s conn._tunnel_host = url conn._tunnel_port = port conn._tunnel_headers = {'key': 'value'} # Create a mock response. self.mock_response = Mock() self.mock_response.fp = Mock() # Imitate readline function by creating a list to be sent as # a side effect of the mocked readline to be able to track how the # response is processed in ``_tunnel()``. delimeter = b'\r\n' side_effect = [] response_components = response.split(delimeter) for i in range(len(response_components)): new_component = response_components[i] # Only add the delimeter on if it is not the last component # which should be an empty string. if i != len(response_components) - 1: new_component += delimeter side_effect.append(new_component) self.mock_response.fp.readline.side_effect = side_effect response_components = response.split(b' ') self.mock_response._read_status.return_value = ( response_components[0], int(response_components[1]), response_components[2]) conn.response_class = Mock() conn.response_class.return_value = self.mock_response return conn
def create_tunneled_connection(self, url, port, response): s = FakeSocket(response) conn = AWSHTTPConnection(url, port) conn.sock = s conn._tunnel_host = url conn._tunnel_port = port conn._tunnel_headers = {'key': 'value'} # Create a mock response. self.mock_response = Mock() self.mock_response.fp = Mock() # Imitate readline function by creating a list to be sent as # a side effect of the mocked readline to be able to track how the # response is processed in ``_tunnel()``. delimeter = b'\r\n' side_effect = [] response_components = response.split(delimeter) for i in range(len(response_components)): new_component = response_components[i] # Only add the delimeter on if it is not the last component # which should be an empty string. if i != len(response_components) - 1: new_component += delimeter side_effect.append(new_component) self.mock_response.fp.readline.side_effect = side_effect response_components = response.split(b' ') self.mock_response._read_status.return_value = ( response_components[0], int(response_components[1]), response_components[2] ) conn.response_class = Mock() conn.response_class.return_value = self.mock_response return conn