Skip to content

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
arithmetic1728 committed Oct 21, 2020
1 parent e0540d1 commit bd5d9f9
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 20 deletions.
18 changes: 9 additions & 9 deletions google/cloud/pubsub_v1/publisher/client.py
Expand Up @@ -130,19 +130,19 @@ def __init__(self, batch_settings=(), publisher_options=(), **kwargs):
target=os.environ.get("PUBSUB_EMULATOR_HOST")
)

# The auto-generated layer's client has mTLS logic to determine the api
# endpoint and the ssl credentials to use. Here we create a client
# and extract the api endpoint and ssl credentials. The api endpoint
# will be used to set `self._target`, and ssl credentials will be
# passed to `grpc_helpers.create_channel` to establish a mTLS channel
# (if ssl credentials is not None).
# The GAPIC client has mTLS logic to determine the api endpoint and the
# ssl credentials to use. Here we create a GAPIC client to help compute the
# api endpoint and ssl credentials. The api endpoint will be used to set
# `self._target`, and ssl credentials will be passed to
# `grpc_helpers.create_channel` to establish a mTLS channel (if ssl
# credentials is not None).
client_options = kwargs.get("client_options", None)
credentials = kwargs.get("credentials", None)
publisher_client_instance = publisher_client.PublisherClient(
client_for_mtls_info = publisher_client.PublisherClient(
credentials=credentials, client_options=client_options
)

self._target = publisher_client_instance._transport._host
self._target = client_for_mtls_info._transport._host

# Use a custom channel.
# We need this in order to set appropriate default message size and
Expand All @@ -153,7 +153,7 @@ def __init__(self, batch_settings=(), publisher_options=(), **kwargs):
channel = grpc_helpers.create_channel(
credentials=kwargs.pop("credentials", None),
target=self.target,
ssl_credentials=publisher_client_instance._transport._ssl_channel_credentials,
ssl_credentials=client_for_mtls_info._transport._ssl_channel_credentials,
scopes=publisher_client.PublisherClient._DEFAULT_SCOPES,
options={
"grpc.max_send_message_length": -1,
Expand Down
18 changes: 9 additions & 9 deletions google/cloud/pubsub_v1/subscriber/client.py
Expand Up @@ -81,19 +81,19 @@ def __init__(self, **kwargs):
target=os.environ.get("PUBSUB_EMULATOR_HOST")
)

# The auto-generated layer's client has mTLS logic to determine the api
# endpoint and the ssl credentials to use. Here we create a client
# and extract the api endpoint and ssl credentials. The api endpoint
# will be used to set `self._target`, and ssl credentials will be
# passed to `grpc_helpers.create_channel` to establish a mTLS channel
# (if ssl credentials is not None).
# The GAPIC client has mTLS logic to determine the api endpoint and the
# ssl credentials to use. Here we create a GAPIC client to help compute the
# api endpoint and ssl credentials. The api endpoint will be used to set
# `self._target`, and ssl credentials will be passed to
# `grpc_helpers.create_channel` to establish a mTLS channel (if ssl
# credentials is not None).
client_options = kwargs.get("client_options", None)
credentials = kwargs.get("credentials", None)
subscriber_client_instance = subscriber_client.SubscriberClient(
client_for_mtls_info = subscriber_client.SubscriberClient(
credentials=credentials, client_options=client_options
)

self._target = subscriber_client_instance._transport._host
self._target = client_for_mtls_info._transport._host

# Use a custom channel.
# We need this in order to set appropriate default message size and
Expand All @@ -104,7 +104,7 @@ def __init__(self, **kwargs):
channel = grpc_helpers.create_channel(
credentials=kwargs.pop("credentials", None),
target=self.target,
ssl_credentials=subscriber_client_instance._transport._ssl_channel_credentials,
ssl_credentials=client_for_mtls_info._transport._ssl_channel_credentials,
scopes=subscriber_client.SubscriberClient._DEFAULT_SCOPES,
options={
"grpc.max_send_message_length": -1,
Expand Down
7 changes: 6 additions & 1 deletion tests/unit/pubsub_v1/publisher/test_publisher_client.py
Expand Up @@ -18,6 +18,7 @@
import inspect

from google.auth import credentials
import grpc

import mock
import pytest
Expand Down Expand Up @@ -104,11 +105,13 @@ def test_init_w_empty_client_options():


def test_init_client_options_pass_through():
mock_ssl_creds = grpc.ssl_channel_credentials()

def init(self, *args, **kwargs):
self.kwargs = kwargs
self._transport = mock.Mock()
self._transport._host = "testendpoint.google.com"
self._transport._ssl_channel_credentials = None
self._transport._ssl_channel_credentials = mock_ssl_creds

with mock.patch.object(publisher_client.PublisherClient, "__init__", init):
client = publisher.Client(
Expand All @@ -122,6 +125,8 @@ def init(self, *args, **kwargs):
assert client_options.get("quota_project_id") == "42"
assert client_options.get("scopes") == []
assert client_options.get("credentials_file") == "file.json"
assert client.target == "testendpoint.google.com"
assert client.api.transport._ssl_channel_credentials == mock_ssl_creds


def test_init_emulator(monkeypatch):
Expand Down
7 changes: 6 additions & 1 deletion tests/unit/pubsub_v1/subscriber/test_subscriber_client.py
Expand Up @@ -13,6 +13,7 @@
# limitations under the License.

from google.auth import credentials
import grpc
import mock

from google.cloud.pubsub_v1 import subscriber
Expand Down Expand Up @@ -65,11 +66,13 @@ def test_init_w_empty_client_options():


def test_init_client_options_pass_through():
mock_ssl_creds = grpc.ssl_channel_credentials()

def init(self, *args, **kwargs):
self.kwargs = kwargs
self._transport = mock.Mock()
self._transport._host = "testendpoint.google.com"
self._transport._ssl_channel_credentials = None
self._transport._ssl_channel_credentials = mock_ssl_creds

with mock.patch.object(subscriber_client.SubscriberClient, "__init__", init):
client = subscriber.Client(
Expand All @@ -83,6 +86,8 @@ def init(self, *args, **kwargs):
assert client_options.get("quota_project_id") == "42"
assert client_options.get("scopes") == []
assert client_options.get("credentials_file") == "file.json"
assert client.target == "testendpoint.google.com"
assert client.api.transport._ssl_channel_credentials == mock_ssl_creds


def test_init_emulator(monkeypatch):
Expand Down

0 comments on commit bd5d9f9

Please sign in to comment.