Skip to content

Commit 248ae14

Browse files
authored
Plumb 'Client._client_info' through to GAPIC API wrapper. (#7901)
1 parent 07b9ccb commit 248ae14

File tree

4 files changed

+14
-15
lines changed

4 files changed

+14
-15
lines changed

google/cloud/logging/_gapic.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import functools
1919

20-
from google.api_core.gapic_v1 import client_info
2120
from google.cloud.logging_v2.gapic.config_service_v2_client import ConfigServiceV2Client
2221
from google.cloud.logging_v2.gapic.logging_service_v2_client import (
2322
LoggingServiceV2Client,
@@ -31,15 +30,11 @@
3130
from google.protobuf.json_format import MessageToDict
3231
from google.protobuf.json_format import ParseDict
3332

34-
from google.cloud.logging import __version__
3533
from google.cloud.logging._helpers import entry_from_resource
3634
from google.cloud.logging.sink import Sink
3735
from google.cloud.logging.metric import Metric
3836

3937

40-
_CLIENT_INFO = client_info.ClientInfo(client_library_version=__version__)
41-
42-
4338
class _LoggingAPI(object):
4439
"""Helper mapping logging-related APIs.
4540
@@ -544,7 +539,7 @@ def make_logging_api(client):
544539
:returns: A metrics API instance with the proper credentials.
545540
"""
546541
generated = LoggingServiceV2Client(
547-
credentials=client._credentials, client_info=_CLIENT_INFO
542+
credentials=client._credentials, client_info=client._client_info
548543
)
549544
return _LoggingAPI(generated, client)
550545

@@ -559,7 +554,7 @@ def make_metrics_api(client):
559554
:returns: A metrics API instance with the proper credentials.
560555
"""
561556
generated = MetricsServiceV2Client(
562-
credentials=client._credentials, client_info=_CLIENT_INFO
557+
credentials=client._credentials, client_info=client._client_info
563558
)
564559
return _MetricsAPI(generated, client)
565560

@@ -574,6 +569,6 @@ def make_sinks_api(client):
574569
:returns: A metrics API instance with the proper credentials.
575570
"""
576571
generated = ConfigServiceV2Client(
577-
credentials=client._credentials, client_info=_CLIENT_INFO
572+
credentials=client._credentials, client_info=client._client_info
578573
)
579574
return _SinksAPI(generated, client)

google/cloud/logging/client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,9 @@ class Client(ClientWithProject):
8787
This parameter should be considered private, and could
8888
change in the future.
8989
90-
:type client_info: :class:`~google.api_core.client_info.ClientInfo`
90+
:type client_info:
91+
:class:`google.api_core.client_info.ClientInfo` or
92+
:class:`google.api_core.gapic_v1.client_info.ClientInfo`
9193
:param client_info:
9294
The client info used to send a user-agent string along with API
9395
requests. If ``None``, then default info will be used. Generally,
@@ -119,6 +121,7 @@ def __init__(
119121
project=project, credentials=credentials, _http=_http
120122
)
121123
self._connection = Connection(self, client_info=client_info)
124+
self._client_info = client_info
122125
if _use_grpc is None:
123126
self._use_grpc = _USE_GRPC
124127
else:

tests/unit/test__gapic.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -584,32 +584,32 @@ def test_registered_type(self):
584584

585585
@mock.patch("google.cloud.logging._gapic.LoggingServiceV2Client", autospec=True)
586586
def test_make_logging_api(gapic_client):
587-
client = mock.Mock(spec=["_credentials"])
587+
client = mock.Mock(spec=["_credentials", "_client_info"])
588588
api = _gapic.make_logging_api(client)
589589
assert api._client == client
590590
assert api._gapic_api == gapic_client.return_value
591591
gapic_client.assert_called_once_with(
592-
credentials=client._credentials, client_info=_gapic._CLIENT_INFO
592+
credentials=client._credentials, client_info=client._client_info
593593
)
594594

595595

596596
@mock.patch("google.cloud.logging._gapic.MetricsServiceV2Client", autospec=True)
597597
def test_make_metrics_api(gapic_client):
598-
client = mock.Mock(spec=["_credentials"])
598+
client = mock.Mock(spec=["_credentials", "_client_info"])
599599
api = _gapic.make_metrics_api(client)
600600
assert api._client == client
601601
assert api._gapic_api == gapic_client.return_value
602602
gapic_client.assert_called_once_with(
603-
credentials=client._credentials, client_info=_gapic._CLIENT_INFO
603+
credentials=client._credentials, client_info=client._client_info
604604
)
605605

606606

607607
@mock.patch("google.cloud.logging._gapic.ConfigServiceV2Client", autospec=True)
608608
def test_make_sinks_api(gapic_client):
609-
client = mock.Mock(spec=["_credentials"])
609+
client = mock.Mock(spec=["_credentials", "_client_info"])
610610
api = _gapic.make_sinks_api(client)
611611
assert api._client == client
612612
assert api._gapic_api == gapic_client.return_value
613613
gapic_client.assert_called_once_with(
614-
credentials=client._credentials, client_info=_gapic._CLIENT_INFO
614+
credentials=client._credentials, client_info=client._client_info
615615
)

tests/unit/test_client.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def test_ctor_explicit(self):
6363
project=self.PROJECT, credentials=creds, client_info=client_info
6464
)
6565
self.assertEqual(client.project, self.PROJECT)
66+
self.assertIs(client._client_info, client_info)
6667
self.assertIsInstance(client._connection, Connection)
6768
self.assertIs(client._connection._client_info, client_info)
6869

0 commit comments

Comments
 (0)