Ejemplo n.º 1
0
    def test_create_session_entity_type(self):
        # Setup Expected Response
        name = "name3373707"
        expected_response = {"name": name}
        expected_response = session_entity_type_pb2.SessionEntityType(
            **expected_response)

        # Mock the API response
        channel = ChannelStub(responses=[expected_response])
        patch = mock.patch("google.api_core.grpc_helpers.create_channel")
        with patch as create_channel:
            create_channel.return_value = channel
            client = dialogflow_v2beta1.SessionEntityTypesClient()

        # Setup Request
        parent = client.session_path("[PROJECT]", "[SESSION]")
        session_entity_type = {}

        response = client.create_session_entity_type(parent,
                                                     session_entity_type)
        assert expected_response == response

        assert len(channel.requests) == 1
        expected_request = session_entity_type_pb2.CreateSessionEntityTypeRequest(
            parent=parent, session_entity_type=session_entity_type)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
    def create_session_entity_type(
            self,
            parent,
            session_entity_type,
            retry=google.api_core.gapic_v1.method.DEFAULT,
            timeout=google.api_core.gapic_v1.method.DEFAULT):
        """
        Creates a session entity type.

        Example:
            >>> import dialogflow_v2beta1
            >>>
            >>> client = dialogflow_v2beta1.SessionEntityTypesClient()
            >>>
            >>> parent = client.session_path('[PROJECT]', '[SESSION]')
            >>> session_entity_type = {}
            >>>
            >>> response = client.create_session_entity_type(parent, session_entity_type)

        Args:
            parent (str): Required. The session to create a session entity type for.
                Format: ``projects/<Project ID>/agent/sessions/<Session ID>``.
            session_entity_type (Union[dict, ~dialogflow_v2beta1.types.SessionEntityType]): Required. The session entity type to create.
                If a dict is provided, it must be of the same form as the protobuf
                message :class:`~dialogflow_v2beta1.types.SessionEntityType`
            retry (Optional[google.api_core.retry.Retry]):  A retry object used
                to retry requests. If ``None`` is specified, requests will not
                be retried.
            timeout (Optional[float]): The amount of time, in seconds, to wait
                for the request to complete. Note that if ``retry`` is
                specified, the timeout applies to each individual attempt.

        Returns:
            A :class:`~dialogflow_v2beta1.types.SessionEntityType` instance.

        Raises:
            google.api_core.exceptions.GoogleAPICallError: If the request
                    failed for any reason.
            google.api_core.exceptions.RetryError: If the request failed due
                    to a retryable error and retry attempts failed.
            ValueError: If the parameters are invalid.
        """
        request = session_entity_type_pb2.CreateSessionEntityTypeRequest(
            parent=parent, session_entity_type=session_entity_type)
        return self._create_session_entity_type(
            request, retry=retry, timeout=timeout)
    def test_create_session_entity_type(self):
        # Setup Expected Response
        name = 'name3373707'
        expected_response = {'name': name}
        expected_response = session_entity_type_pb2.SessionEntityType(
            **expected_response)

        # Mock the API response
        channel = ChannelStub(responses=[expected_response])
        client = dialogflow_v2beta1.SessionEntityTypesClient(channel=channel)

        # Setup Request
        parent = client.session_path('[PROJECT]', '[SESSION]')
        session_entity_type = {}

        response = client.create_session_entity_type(parent,
                                                     session_entity_type)
        assert expected_response == response

        assert len(channel.requests) == 1
        expected_request = session_entity_type_pb2.CreateSessionEntityTypeRequest(
            parent=parent, session_entity_type=session_entity_type)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
Ejemplo n.º 4
0
    def create_session_entity_type(
        self,
        parent,
        session_entity_type,
        retry=google.api_core.gapic_v1.method.DEFAULT,
        timeout=google.api_core.gapic_v1.method.DEFAULT,
        metadata=None,
    ):
        """
        Creates a session entity type.

        If the specified session entity type already exists, overrides the
        session entity type.

        This method doesn't work with Google Assistant integration.
        Contact Dialogflow support if you need to use session entities
        with Google Assistant integration.

        Example:
            >>> import dialogflow_v2beta1
            >>>
            >>> client = dialogflow_v2beta1.SessionEntityTypesClient()
            >>>
            >>> parent = client.session_path('[PROJECT]', '[SESSION]')
            >>>
            >>> # TODO: Initialize `session_entity_type`:
            >>> session_entity_type = {}
            >>>
            >>> response = client.create_session_entity_type(parent, session_entity_type)

        Args:
            parent (str): Required. The session to create a session entity type for. Format:
                ``projects/<Project ID>/agent/sessions/<Session ID>`` or
                ``projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/ sessions/<Session ID>``.
                If ``Environment ID`` is not specified, we assume default 'draft'
                environment. If ``User ID`` is not specified, we assume default '-'
                user.
            session_entity_type (Union[dict, ~google.cloud.dialogflow_v2beta1.types.SessionEntityType]): Required. The session entity type to create.

                If a dict is provided, it must be of the same form as the protobuf
                message :class:`~google.cloud.dialogflow_v2beta1.types.SessionEntityType`
            retry (Optional[google.api_core.retry.Retry]):  A retry object used
                to retry requests. If ``None`` is specified, requests will
                be retried using a default configuration.
            timeout (Optional[float]): The amount of time, in seconds, to wait
                for the request to complete. Note that if ``retry`` is
                specified, the timeout applies to each individual attempt.
            metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata
                that is provided to the method.

        Returns:
            A :class:`~google.cloud.dialogflow_v2beta1.types.SessionEntityType` instance.

        Raises:
            google.api_core.exceptions.GoogleAPICallError: If the request
                    failed for any reason.
            google.api_core.exceptions.RetryError: If the request failed due
                    to a retryable error and retry attempts failed.
            ValueError: If the parameters are invalid.
        """
        # Wrap the transport method to add retry and timeout logic.
        if "create_session_entity_type" not in self._inner_api_calls:
            self._inner_api_calls[
                "create_session_entity_type"] = google.api_core.gapic_v1.method.wrap_method(
                    self.transport.create_session_entity_type,
                    default_retry=self.
                    _method_configs["CreateSessionEntityType"].retry,
                    default_timeout=self.
                    _method_configs["CreateSessionEntityType"].timeout,
                    client_info=self._client_info,
                )

        request = session_entity_type_pb2.CreateSessionEntityTypeRequest(
            parent=parent, session_entity_type=session_entity_type)
        if metadata is None:
            metadata = []
        metadata = list(metadata)
        try:
            routing_header = [("parent", parent)]
        except AttributeError:
            pass
        else:
            routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata(
                routing_header)
            metadata.append(routing_metadata)

        return self._inner_api_calls["create_session_entity_type"](
            request, retry=retry, timeout=timeout, metadata=metadata)
Ejemplo n.º 5
0
    def create_session_entity_type(
            self,
            parent,
            session_entity_type,
            retry=google.api_core.gapic_v1.method.DEFAULT,
            timeout=google.api_core.gapic_v1.method.DEFAULT,
            metadata=None):
        """
        Creates a session entity type.

        Example:
            >>> import dialogflow_v2beta1
            >>>
            >>> client = dialogflow_v2beta1.SessionEntityTypesClient()
            >>>
            >>> parent = client.session_path('[PROJECT]', '[SESSION]')
            >>>
            >>> # TODO: Initialize ``session_entity_type``:
            >>> session_entity_type = {}
            >>>
            >>> response = client.create_session_entity_type(parent, session_entity_type)

        Args:
            parent (str): Required. The session to create a session entity type for.
                Format: ``projects/<Project ID>/agent/sessions/<Session ID>`` or
                ``projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/
                sessions/<Session ID>``.
                Note: Environments and users are under construction and will be available
                soon. If <Environment ID> is not specified, we assume default 'draft'
                environment. If <User ID> is not specified, we assume default '-' user.
            session_entity_type (Union[dict, ~dialogflow_v2beta1.types.SessionEntityType]): Required. The session entity type to create.
                If a dict is provided, it must be of the same form as the protobuf
                message :class:`~dialogflow_v2beta1.types.SessionEntityType`
            retry (Optional[google.api_core.retry.Retry]):  A retry object used
                to retry requests. If ``None`` is specified, requests will not
                be retried.
            timeout (Optional[float]): The amount of time, in seconds, to wait
                for the request to complete. Note that if ``retry`` is
                specified, the timeout applies to each individual attempt.
            metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata
                that is provided to the method.

        Returns:
            A :class:`~dialogflow_v2beta1.types.SessionEntityType` instance.

        Raises:
            google.api_core.exceptions.GoogleAPICallError: If the request
                    failed for any reason.
            google.api_core.exceptions.RetryError: If the request failed due
                    to a retryable error and retry attempts failed.
            ValueError: If the parameters are invalid.
        """
        if metadata is None:
            metadata = []
        metadata = list(metadata)
        request = session_entity_type_pb2.CreateSessionEntityTypeRequest(
            parent=parent,
            session_entity_type=session_entity_type,
        )
        return self._create_session_entity_type(request,
                                                retry=retry,
                                                timeout=timeout,
                                                metadata=metadata)