def test_ctor_explicit(self): from google.cloud._http import ClientInfo from google.cloud.logging._http import Connection creds = _make_credentials() client_info = ClientInfo() client = self._make_one( project=self.PROJECT, credentials=creds, client_info=client_info ) self.assertEqual(client.project, self.PROJECT) self.assertIs(client._client_info, client_info) self.assertIsInstance(client._connection, Connection) self.assertIs(client._connection._client_info, client_info)
def test_duplicate_user_agent(self): # Regression test for issue #565 from google.cloud._http import ClientInfo from google.cloud.storage.batch import Batch from google.cloud.storage import __version__ client_info = ClientInfo(user_agent="test/123") conn = self._make_one(object(), client_info=client_info) expected_user_agent = "test/123 gcloud-python/{} ".format(__version__) self.assertEqual(conn._client_info.user_agent, expected_user_agent) client = mock.Mock(_connection=conn, spec=["_connection"]) batch = Batch(client) self.assertEqual(batch._client_info.user_agent, expected_user_agent)
def test_ctor_w_client_info(self): from google.cloud._http import ClientInfo from google.cloud.resource_manager._http import Connection http = object() client_info = ClientInfo() credentials = _make_credentials() client = self._make_one(credentials=credentials, _http=http, client_info=client_info) self.assertIsInstance(client._connection, Connection) self.assertIs(client._credentials, credentials) self.assertIs(client._http_internal, http) self.assertIs(client._connection._client_info, client_info)
def test_constructor_w_empty_client_options(self): from google.cloud._http import ClientInfo from google.api_core.client_options import ClientOptions http = object() target = "es" client_info = ClientInfo() client_options = ClientOptions() client = self._make_one( target_language=target, _http=http, client_info=client_info, client_options=client_options, ) self.assertEqual(client._connection.API_BASE_URL, client._connection.DEFAULT_API_ENDPOINT)
def test_ctor_w_client_info(self): from google.cloud._http import ClientInfo from google.cloud.runtimeconfig._http import Connection PROJECT = "PROJECT" http = object() creds = _make_credentials() client_info = ClientInfo() client = self._make_one( project=PROJECT, credentials=creds, _http=http, client_info=client_info ) self.assertIsInstance(client._connection, Connection) self.assertIs(client._credentials, creds) self.assertIs(client._http_internal, http) self.assertIs(client._connection._client_info, client_info)
def test_ctor_w_client_info(self): from google.cloud._http import ClientInfo from google.cloud.storage._http import Connection credentials = _make_credentials() client_info = ClientInfo() client = self._make_one( project=None, credentials=credentials, client_info=client_info ) self.assertIsNone(client.project) self.assertIsInstance(client._connection, Connection) self.assertIs(client._connection.credentials, credentials) self.assertIsNone(client.current_batch) self.assertEqual(list(client._batch_stack), []) self.assertIs(client._connection._client_info, client_info)
def test_constructor_w_client_options_object(self): from google.cloud._http import ClientInfo from google.api_core.client_options import ClientOptions http = object() target = "es" client_info = ClientInfo() client_options = ClientOptions( api_endpoint="https://foo-translation.googleapis.com") client = self._make_one( target_language=target, _http=http, client_info=client_info, client_options=client_options, ) self.assertEqual(client._connection.API_BASE_URL, "https://foo-translation.googleapis.com")
def test_constructor_explicit(self): from google.cloud._http import ClientInfo from google.cloud.translate_v2._http import Connection http = object() target = "es" client_info = ClientInfo() client = self._make_one( target_language=target, _http=http, client_info=client_info, client_options={"api_endpoint": "https://foo-translation.googleapis.com"}, ) self.assertIsInstance(client._connection, Connection) self.assertIsNone(client._connection.credentials) self.assertIs(client._connection.http, http) self.assertEqual(client.target_language, target) self.assertIs(client._connection._client_info, client_info) self.assertEqual( client._connection.API_BASE_URL, "https://foo-translation.googleapis.com" )