@@ -172,146 +172,6 @@ def test__get_default_mtls_endpoint():
172172 assert {{ service.client_name }}._get_default_mtls_endpoint(non_googleapi) == non_googleapi
173173 assert {{ service.client_name }}._get_default_mtls_endpoint(custom_endpoint) == custom_endpoint
174174
175- def test__read_environment_variables():
176- assert {{ service.client_name }}._read_environment_variables() == (False, "auto", None)
177-
178- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "true"}):
179- assert {{ service.client_name }}._read_environment_variables() == (True, "auto", None)
180-
181- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "false"}):
182- assert {{ service.client_name }}._read_environment_variables() == (False, "auto", None)
183-
184- with mock.patch.dict(
185- os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "Unsupported"}
186- ):
187- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
188- with pytest.raises(ValueError) as excinfo:
189- {{ service.client_name }}._read_environment_variables()
190- assert (
191- str(excinfo.value)
192- == "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
193- )
194- else:
195- assert {{ service.client_name }}._read_environment_variables() == (
196- False,
197- "auto",
198- None,
199- )
200-
201- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}):
202- assert {{ service.client_name }}._read_environment_variables() == (False, "never", None)
203-
204- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}):
205- assert {{ service.client_name }}._read_environment_variables() == (False, "always", None)
206-
207- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "auto"}):
208- assert {{ service.client_name }}._read_environment_variables() == (False, "auto", None)
209-
210- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "Unsupported"}):
211- with pytest.raises(MutualTLSChannelError) as excinfo:
212- {{ service.client_name }}._read_environment_variables()
213- assert str(excinfo.value) == "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
214-
215- with mock.patch.dict(os.environ, {"GOOGLE_CLOUD_UNIVERSE_DOMAIN": "foo.com"}):
216- assert {{ service.client_name }}._read_environment_variables() == (False, "auto", "foo.com")
217-
218-
219- def test_use_client_cert_effective():
220- # Test case 1: Test when `should_use_client_cert` returns True.
221- # We mock the `should_use_client_cert` function to simulate a scenario where
222- # the google-auth library supports automatic mTLS and determines that a
223- # client certificate should be used.
224- if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
225- with mock.patch("google.auth.transport.mtls.should_use_client_cert", return_value=True):
226- assert {{ service.client_name }}._use_client_cert_effective() is True
227-
228- # Test case 2: Test when `should_use_client_cert` returns False.
229- # We mock the `should_use_client_cert` function to simulate a scenario where
230- # the google-auth library supports automatic mTLS and determines that a
231- # client certificate should NOT be used.
232- if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
233- with mock.patch("google.auth.transport.mtls.should_use_client_cert", return_value=False):
234- assert {{ service.client_name }}._use_client_cert_effective() is False
235-
236- # Test case 3: Test when `should_use_client_cert` is unavailable and the
237- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "true".
238- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
239- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "true"}):
240- assert {{ service.client_name }}._use_client_cert_effective() is True
241-
242- # Test case 4: Test when `should_use_client_cert` is unavailable and the
243- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "false".
244- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
245- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "false"}):
246- assert {{ service.client_name }}._use_client_cert_effective() is False
247-
248- # Test case 5: Test when `should_use_client_cert` is unavailable and the
249- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "True".
250- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
251- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "True"}):
252- assert {{ service.client_name }}._use_client_cert_effective() is True
253-
254- # Test case 6: Test when `should_use_client_cert` is unavailable and the
255- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "False".
256- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
257- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "False"}):
258- assert {{ service.client_name }}._use_client_cert_effective() is False
259-
260- # Test case 7: Test when `should_use_client_cert` is unavailable and the
261- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "TRUE".
262- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
263- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "TRUE"}):
264- assert {{ service.client_name }}._use_client_cert_effective() is True
265-
266- # Test case 8: Test when `should_use_client_cert` is unavailable and the
267- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "FALSE".
268- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
269- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "FALSE"}):
270- assert {{ service.client_name }}._use_client_cert_effective() is False
271-
272- # Test case 9: Test when `should_use_client_cert` is unavailable and the
273- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is not set.
274- # In this case, the method should return False, which is the default value.
275- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
276- with mock.patch.dict(os.environ, clear=True):
277- assert {{ service.client_name }}._use_client_cert_effective() is False
278-
279- # Test case 10: Test when `should_use_client_cert` is unavailable and the
280- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to an invalid value.
281- # The method should raise a ValueError as the environment variable must be either
282- # "true" or "false".
283- if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
284- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "unsupported"}):
285- with pytest.raises(ValueError):
286- {{ service.client_name }}._use_client_cert_effective()
287-
288- # Test case 11: Test when `should_use_client_cert` is available and the
289- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to an invalid value.
290- # The method should return False as the environment variable is set to an invalid value.
291- if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
292- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "unsupported"}):
293- assert {{ service.client_name }}._use_client_cert_effective() is False
294-
295- # Test case 12: Test when `should_use_client_cert` is available and the
296- # `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is unset. Also,
297- # the GOOGLE_API_CONFIG environment variable is unset.
298- if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
299- with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": ""}):
300- with mock.patch.dict(os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": ""}):
301- assert {{ service.client_name }}._use_client_cert_effective() is False
302-
303- def test__get_client_cert_source():
304- mock_provided_cert_source = mock.Mock()
305- mock_default_cert_source = mock.Mock()
306-
307- assert {{ service.client_name }}._get_client_cert_source(None, False) is None
308- assert {{ service.client_name }}._get_client_cert_source(mock_provided_cert_source, False) is None
309- assert {{ service.client_name }}._get_client_cert_source(mock_provided_cert_source, True) == mock_provided_cert_source
310-
311- with mock.patch('google.auth.transport.mtls.has_default_client_cert_source', return_value=True):
312- with mock.patch('google.auth.transport.mtls.default_client_cert_source', return_value=mock_default_cert_source):
313- assert {{ service.client_name }}._get_client_cert_source(None, True) is mock_default_cert_source
314- assert {{ service.client_name }}._get_client_cert_source(mock_provided_cert_source, "true") is mock_provided_cert_source
315175
316176@mock.patch.object({{ service.client_name }}, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template({{ service.client_name }}))
317177{% if 'grpc' in opts .transport %}
0 commit comments