Skip to content

Commit dae40f9

Browse files
GAPIC Header Consistency: Pubsub (#3052)
1 parent ab1ce15 commit dae40f9

3 files changed

Lines changed: 46 additions & 17 deletions

File tree

pubsub/google/cloud/pubsub/_gax.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
from google.gax.errors import GaxError
2424
from google.gax.grpc import exc_to_code
2525
from google.protobuf.json_format import MessageToDict
26-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import PubsubMessage
27-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import PushConfig
26+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import PubsubMessage
27+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import PushConfig
2828
from grpc import insecure_channel
2929
from grpc import StatusCode
3030

@@ -35,6 +35,7 @@
3535
from google.cloud.exceptions import Conflict
3636
from google.cloud.exceptions import NotFound
3737
from google.cloud.iterator import GAXIterator
38+
from google.cloud.pubsub import __version__
3839
from google.cloud.pubsub._helpers import subscription_name_from_path
3940
from google.cloud.pubsub.subscription import Subscription
4041
from google.cloud.pubsub.topic import Topic
@@ -535,7 +536,8 @@ def make_gax_publisher_api(credentials=None, host=None):
535536
channel = make_secure_channel(
536537
credentials, DEFAULT_USER_AGENT,
537538
PublisherClient.SERVICE_ADDRESS)
538-
return PublisherClient(channel=channel)
539+
return PublisherClient(
540+
channel=channel, lib_name='gccl', lib_version=__version__)
539541

540542

541543
def make_gax_subscriber_api(credentials=None, host=None):
@@ -561,7 +563,8 @@ def make_gax_subscriber_api(credentials=None, host=None):
561563
channel = make_secure_channel(
562564
credentials, DEFAULT_USER_AGENT,
563565
SubscriberClient.SERVICE_ADDRESS)
564-
return SubscriberClient(channel=channel)
566+
return SubscriberClient(
567+
channel=channel, lib_name='gccl', lib_version=__version__)
565568

566569

567570
def _item_to_topic(iterator, resource):

pubsub/setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@
5252
REQUIREMENTS = [
5353
'google-cloud-core >= 0.23.0, < 0.24dev',
5454
'grpcio >= 1.0.2, < 2.0dev',
55-
'gapic-google-cloud-pubsub-v1 >= 0.14.0, < 0.15dev',
55+
'gapic-google-cloud-pubsub-v1 >= 0.15.0, < 0.16dev',
5656
]
5757

5858
setup(
5959
name='google-cloud-pubsub',
60-
version='0.22.0',
60+
version='0.23.0',
6161
description='Python Client for Google Cloud Pub/Sub',
6262
long_description=README,
6363
namespace_packages=[

pubsub/unit_tests/test__gax.py

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -436,8 +436,8 @@ def test_ctor(self):
436436

437437
def test_list_subscriptions_no_paging(self):
438438
from google.gax import INITIAL_PAGE
439-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import PushConfig
440-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import (
439+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import PushConfig
440+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import (
441441
Subscription as SubscriptionPB)
442442
from google.cloud._testing import _GAXPageIterator
443443
from google.cloud.pubsub.client import Client
@@ -479,8 +479,8 @@ def test_list_subscriptions_no_paging(self):
479479
self.assertIs(options.page_token, INITIAL_PAGE)
480480

481481
def test_list_subscriptions_with_paging(self):
482-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import PushConfig
483-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import (
482+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import PushConfig
483+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import (
484484
Subscription as SubscriptionPB)
485485
from google.cloud._testing import _GAXPageIterator
486486
from google.cloud.pubsub.client import Client
@@ -527,7 +527,7 @@ def test_list_subscriptions_with_paging(self):
527527
self.assertEqual(options.page_token, TOKEN)
528528

529529
def test_subscription_create(self):
530-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import Subscription
530+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import Subscription
531531

532532
sub_pb = Subscription(name=self.SUB_PATH, topic=self.TOPIC_PATH)
533533
gax_api = _GAXSubscriberAPI(_create_subscription_response=sub_pb)
@@ -588,8 +588,8 @@ def test_subscription_create_error(self):
588588
self.assertIsNone(options)
589589

590590
def test_subscription_get_hit(self):
591-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import PushConfig
592-
from google.cloud.grpc.pubsub.v1.pubsub_pb2 import Subscription
591+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import PushConfig
592+
from google.cloud.proto.pubsub.v1.pubsub_pb2 import Subscription
593593

594594
push_cfg_pb = PushConfig(push_endpoint=self.PUSH_ENDPOINT)
595595
sub_pb = Subscription(name=self.SUB_PATH, topic=self.TOPIC_PATH,
@@ -932,16 +932,19 @@ def _call_fut(self, *args, **kwargs):
932932
return make_gax_publisher_api(*args, **kwargs)
933933

934934
def test_live_api(self):
935+
from google.cloud.pubsub import __version__
935936
from google.cloud.pubsub._gax import DEFAULT_USER_AGENT
936937

937938
channels = []
939+
publisher_api_kwargs = []
938940
channel_args = []
939941
channel_obj = object()
940942
mock_result = object()
941943
host = 'foo.apis.invalid'
942944

943-
def mock_publisher_api(channel):
945+
def mock_publisher_api(channel, **kwargs):
944946
channels.append(channel)
947+
publisher_api_kwargs.append(kwargs)
945948
return mock_result
946949

947950
def make_channel(*args):
@@ -959,18 +962,25 @@ def make_channel(*args):
959962
result = self._call_fut(creds)
960963

961964
self.assertIs(result, mock_result)
965+
self.assertEqual(len(publisher_api_kwargs), 1)
966+
self.assertEqual(publisher_api_kwargs[0]['lib_name'], 'gccl')
967+
self.assertEqual(publisher_api_kwargs[0]['lib_version'], __version__)
962968
self.assertEqual(channels, [channel_obj])
963969
self.assertEqual(channel_args,
964970
[(creds, DEFAULT_USER_AGENT, host)])
965971

966972
def test_emulator(self):
973+
from google.cloud.pubsub import __version__
974+
967975
channels = []
976+
publisher_api_kwargs = []
968977
mock_result = object()
969978
insecure_args = []
970979
mock_channel = object()
971980

972-
def mock_publisher_api(channel):
981+
def mock_publisher_api(channel, **kwargs):
973982
channels.append(channel)
983+
publisher_api_kwargs.append(kwargs)
974984
return mock_result
975985

976986
def mock_insecure_channel(host):
@@ -986,6 +996,9 @@ def mock_insecure_channel(host):
986996
result = self._call_fut(host=host)
987997

988998
self.assertIs(result, mock_result)
999+
self.assertEqual(len(publisher_api_kwargs), 1)
1000+
self.assertEqual(publisher_api_kwargs[0]['lib_name'], 'gccl')
1001+
self.assertEqual(publisher_api_kwargs[0]['lib_version'], __version__)
9891002
self.assertEqual(channels, [mock_channel])
9901003
self.assertEqual(insecure_args, [host])
9911004

@@ -999,16 +1012,19 @@ def _call_fut(self, *args, **kwargs):
9991012
return make_gax_subscriber_api(*args, **kwargs)
10001013

10011014
def test_live_api(self):
1015+
from google.cloud.pubsub import __version__
10021016
from google.cloud.pubsub._gax import DEFAULT_USER_AGENT
10031017

10041018
channels = []
1019+
subscriber_api_kwargs = []
10051020
channel_args = []
10061021
channel_obj = object()
10071022
mock_result = object()
10081023
host = 'foo.apis.invalid'
10091024

1010-
def mock_subscriber_api(channel):
1025+
def mock_subscriber_api(channel, **kwargs):
10111026
channels.append(channel)
1027+
subscriber_api_kwargs.append(kwargs)
10121028
return mock_result
10131029

10141030
def make_channel(*args):
@@ -1026,18 +1042,25 @@ def make_channel(*args):
10261042
result = self._call_fut(creds)
10271043

10281044
self.assertIs(result, mock_result)
1045+
self.assertEqual(len(subscriber_api_kwargs), 1)
1046+
self.assertEqual(subscriber_api_kwargs[0]['lib_name'], 'gccl')
1047+
self.assertEqual(subscriber_api_kwargs[0]['lib_version'], __version__)
10291048
self.assertEqual(channels, [channel_obj])
10301049
self.assertEqual(channel_args,
10311050
[(creds, DEFAULT_USER_AGENT, host)])
10321051

10331052
def test_emulator(self):
1053+
from google.cloud.pubsub import __version__
1054+
10341055
channels = []
1056+
subscriber_api_kwargs = []
10351057
mock_result = object()
10361058
insecure_args = []
10371059
mock_channel = object()
10381060

1039-
def mock_subscriber_api(channel):
1061+
def mock_subscriber_api(channel, **kwargs):
10401062
channels.append(channel)
1063+
subscriber_api_kwargs.append(kwargs)
10411064
return mock_result
10421065

10431066
def mock_insecure_channel(host):
@@ -1053,6 +1076,9 @@ def mock_insecure_channel(host):
10531076
result = self._call_fut(host=host)
10541077

10551078
self.assertIs(result, mock_result)
1079+
self.assertEqual(len(subscriber_api_kwargs), 1)
1080+
self.assertEqual(subscriber_api_kwargs[0]['lib_name'], 'gccl')
1081+
self.assertEqual(subscriber_api_kwargs[0]['lib_version'], __version__)
10561082
self.assertEqual(channels, [mock_channel])
10571083
self.assertEqual(insecure_args, [host])
10581084

0 commit comments

Comments
 (0)