def create_request(self, request_type, parameters): """ Create request of request type passed in. """ request = None self.current_id = uuid.uuid4().int if request_type == u'connection_request': logger.info(u'SqlToolsClient connection request Id {0}'.format( self.current_id)) request = connection.ConnectionRequest(self.current_id, self.json_rpc_client, parameters) return request if request_type == u'query_execute_string_request': logger.info(u'SqlToolsClient execute string request Id {0}'.format( self.current_id)) request = query.QueryExecuteStringRequest(self.current_id, self.json_rpc_client, parameters) return request if request_type == u'query_subset_request': logger.info(u'SqlToolsClient subset request Id {0}'.format( self.current_id)) request = query.QuerySubsetRequest(self.current_id, self.json_rpc_client, parameters) return request
def test_query_execute_response_AdventureWorks2014(self): """ Verify a successful query execute response for "select * from HumanResources.Department" """ with open(self.get_baseline(\ u'test_simple_query.txt'), u'r+b', buffering=0) as response_file: request_stream = io.BytesIO() rpc_client = json_rpc_client.JsonRpcClient( in_stream=request_stream, out_stream=response_file) rpc_client.start() # Submit a dummy request. owner_uri = u'connectionservicetest' parameters = { u'OwnerUri': owner_uri, u'Query': "select * from HumanResources.Department" } request = queryservice.QueryExecuteStringRequest( request_id=2, owner_uri=owner_uri, json_rpc_client=rpc_client, parameters=parameters) self.verify_query_service_response(request=request, expected_message_event=1, expected_complete_event=1, expected_batch_summaries=1, expected_result_set_summaries=1, expected_row_count=16) rpc_client.shutdown()
def test_query_retrieve_correct_response(self): """ Verify a query execute request never retrieves query request responses for a different query. """ with open(self.get_baseline(\ u'test_query_retrieve_correct_response.txt'), u'r+b', buffering=0) as response_file: request_stream = io.BytesIO() rpc_client = json_rpc_client.JsonRpcClient( in_stream=request_stream, out_stream=response_file) rpc_client.start() owner_uri = u'mismatchquerycompleteresponse_2' parameters = { u'OwnerUri': owner_uri, u'Query': "select * from HumanResources.Department" } request = queryservice.QueryExecuteStringRequest( request_id=u'3', owner_uri=owner_uri, json_rpc_client=rpc_client, parameters=parameters) # The baseline file contains responses for a different owner uri, which # this request should not receive. Receiving a query complete event with # a error message indicates we did not retrieve a wrong event. self.verify_query_service_response(request=request, expected_complete_event=1, expected_error_count=1) rpc_client.shutdown()
def test_malformed_query_AdventureWorks2014(self): """ Verify a failed query execute response for "select * from [HumanResources.Department" """ with open(self.get_baseline(\ u'test_malformed_query.txt'), u'r+b', buffering=0) as response_file: request_stream = io.BytesIO() rpc_client = json_rpc_client.JsonRpcClient( in_stream=request_stream, out_stream=response_file) rpc_client.start() # Submit a dummy request. owner_uri = u'connectionservicetest' parameters = { u'OwnerUri': owner_uri, u'Query': "select * from [HumanResources.Department" } request = queryservice.QueryExecuteStringRequest( request_id=u'2', owner_uri=owner_uri, json_rpc_client=rpc_client, parameters=parameters) self.verify_query_service_response(request=request, expected_error_count=1) rpc_client.shutdown()
def test_query_execute_response_AdventureWorks2014(self): """ Verify a successful query execute response for "select * from HumanResources.Department" """ with open(self.get_test_baseline(u'select_from_humanresources_department_adventureworks2014.txt'), u'r+b', buffering=0) as response_file: request_stream = io.BytesIO() rpc_client = json_rpc_client.JsonRpcClient( request_stream, response_file) rpc_client.start() # Submit a dummy request. parameters = {u'OwnerUri': u'connectionservicetest', u'Query': "select * from HumanResources.Department"} request = queryservice.QueryExecuteStringRequest( 2, rpc_client, parameters) self.verify_query_response(request=request) rpc_client.shutdown()