Exemple #1
0
    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
Exemple #2
0
 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()
Exemple #3
0
    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()
Exemple #4
0
 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()
Exemple #5
0
    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()