def test_get_notification_channel(self):
        # Setup Expected Response
        type_ = 'type3575610'
        name_2 = 'name2-1052831874'
        display_name = 'displayName1615086568'
        description = 'description-1724546052'
        expected_response = {
            'type': type_,
            'name': name_2,
            'display_name': display_name,
            'description': description
        }
        expected_response = notification_pb2.NotificationChannel(
            **expected_response)

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

        # Setup Request
        name = client.notification_channel_path('[PROJECT]',
                                                '[NOTIFICATION_CHANNEL]')

        response = client.get_notification_channel(name)
        assert expected_response == response

        assert len(channel.requests) == 1
        expected_request = notification_service_pb2.GetNotificationChannelRequest(
            name=name)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
Exemplo n.º 2
0
    def test_get_notification_channel(self):
        # Setup Expected Response
        type_ = "type3575610"
        name_2 = "name2-1052831874"
        display_name = "displayName1615086568"
        description = "description-1724546052"
        expected_response = {
            "type": type_,
            "name": name_2,
            "display_name": display_name,
            "description": description,
        }
        expected_response = notification_pb2.NotificationChannel(
            **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 = monitoring_v3.NotificationChannelServiceClient()

        # Setup Request
        name = client.notification_channel_path("[PROJECT]",
                                                "[NOTIFICATION_CHANNEL]")

        response = client.get_notification_channel(name)
        assert expected_response == response

        assert len(channel.requests) == 1
        expected_request = notification_service_pb2.GetNotificationChannelRequest(
            name=name)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
    def get_notification_channel(
            self,
            name,
            retry=google.api_core.gapic_v1.method.DEFAULT,
            timeout=google.api_core.gapic_v1.method.DEFAULT,
            metadata=None):
        """
        Gets a single notification channel. The channel includes the relevant
        configuration details with which the channel was created. However, the
        response may truncate or omit passwords, API keys, or other private key
        matter and thus the response may not be 100% identical to the information
        that was supplied in the call to the create method.

        Example:
            >>> from google.cloud import monitoring_v3
            >>>
            >>> client = monitoring_v3.NotificationChannelServiceClient()
            >>>
            >>> name = client.notification_channel_path('[PROJECT]', '[NOTIFICATION_CHANNEL]')
            >>>
            >>> response = client.get_notification_channel(name)

        Args:
            name (str): The channel for which to execute the request. The format is
                ``projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]``.
            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:`~google.cloud.monitoring_v3.types.NotificationChannel` 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 = notification_service_pb2.GetNotificationChannelRequest(
            name=name, )
        return self._get_notification_channel(
            request, retry=retry, timeout=timeout, metadata=metadata)