Skip to content

Commit 051b3d7

Browse files
authored
test(core): align test names and assertions with _grpc_* naming convention
- Rename test_extract_t4_attributes to test_extract_grpc_request_attributes - Rename test_client_request_hook to test_grpc_client_request_hook - Rename test_client_response_hook to test_grpc_client_response_hook - Update interceptor hook references to _grpc_client_* hooks
1 parent 9e7289e commit 051b3d7

1 file changed

Lines changed: 26 additions & 26 deletions

File tree

packages/google-api-core/tests/unit/test_observability.py

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,8 @@ def test_get_otel_interceptor_enabled(monkeypatch):
164164

165165
mock_otel_grpc.client_interceptor.assert_called_once_with(
166166
tracer_provider=mock_tracer_provider,
167-
request_hook=_observability._client_request_hook,
168-
response_hook=_observability._client_response_hook,
167+
request_hook=_observability._grpc_client_request_hook,
168+
response_hook=_observability._grpc_client_response_hook,
169169
)
170170

171171
result = interceptor(mock_raw_channel)
@@ -255,8 +255,8 @@ def test_get_otel_async_interceptor_enabled(monkeypatch):
255255
assert result is mock_async_interceptors
256256
mock_otel_grpc.aio_client_interceptors.assert_called_once_with(
257257
tracer_provider=mock_tracer_provider,
258-
request_hook=_observability._client_request_hook,
259-
response_hook=_observability._client_response_hook,
258+
request_hook=_observability._grpc_client_request_hook,
259+
response_hook=_observability._grpc_client_response_hook,
260260
)
261261

262262

@@ -331,35 +331,35 @@ def test_extract_endpoint_attributes():
331331
),
332332
],
333333
)
334-
def test_extract_t4_attributes(req, expected_attrs):
335-
"""Proves that _extract_t4_attributes extracts all T4 gRPC attributes."""
336-
assert _observability._extract_t4_attributes(req) == expected_attrs
334+
def test_extract_grpc_request_attributes(req, expected_attrs):
335+
"""Proves that _extract_grpc_request_attributes extracts all T4 gRPC attributes."""
336+
assert _observability._extract_grpc_request_attributes(req) == expected_attrs
337337

338338

339-
def test_client_request_hook():
340-
"""Proves that _client_request_hook attaches extracted T4 attributes to recording spans."""
339+
def test_grpc_client_request_hook():
340+
"""Proves that _grpc_client_request_hook attaches extracted T4 attributes to recording spans."""
341341
# Non-recording span should not set attributes
342342
mock_span_non_rec = mock.Mock()
343343
mock_span_non_rec.is_recording.return_value = False
344-
_observability._client_request_hook(mock_span_non_rec, mock.Mock())
344+
_observability._grpc_client_request_hook(mock_span_non_rec, mock.Mock())
345345
mock_span_non_rec.set_attribute.assert_not_called()
346346

347347
# None span should safely return
348-
_observability._client_request_hook(None, mock.Mock())
348+
_observability._grpc_client_request_hook(None, mock.Mock())
349349

350350
# Recording span with default hook
351351
mock_span_rec = mock.Mock()
352352
mock_span_rec.is_recording.return_value = True
353353
req = types.SimpleNamespace(name="projects/my-proj/secrets/s1", resend_count=1)
354-
_observability._client_request_hook(mock_span_rec, req)
354+
_observability._grpc_client_request_hook(mock_span_rec, req)
355355
mock_span_rec.set_attribute.assert_any_call("rpc.system.name", "grpc")
356356
mock_span_rec.set_attribute.assert_any_call(
357357
"gcp.resource.destination.id", "projects/my-proj/secrets/s1"
358358
)
359359
mock_span_rec.set_attribute.assert_any_call("gcp.grpc.resend_count", 1)
360360

361361
# Custom hook with endpoint attributes
362-
endpoint_hook = _observability._make_client_request_hook(
362+
endpoint_hook = _observability._make_grpc_client_request_hook(
363363
{"server.address": "custom.api.com", "server.port": 443}
364364
)
365365
mock_span_custom = mock.Mock()
@@ -369,21 +369,21 @@ def test_client_request_hook():
369369
mock_span_custom.set_attribute.assert_any_call("server.port", 443)
370370

371371

372-
def test_client_response_hook():
373-
"""Proves that _client_response_hook sets rpc.response.status_code, error.type, and status.message."""
372+
def test_grpc_client_response_hook():
373+
"""Proves that _grpc_client_response_hook sets rpc.response.status_code, error.type, and status.message."""
374374
# Non-recording span should not set attributes
375375
mock_span_non_rec = mock.Mock()
376376
mock_span_non_rec.is_recording.return_value = False
377-
_observability._client_response_hook(mock_span_non_rec, mock.Mock())
377+
_observability._grpc_client_response_hook(mock_span_non_rec, mock.Mock())
378378
mock_span_non_rec.set_attribute.assert_not_called()
379379

380380
# None span should safely return
381-
_observability._client_response_hook(None, mock.Mock())
381+
_observability._grpc_client_response_hook(None, mock.Mock())
382382

383383
# Response with no code method defaults to OK
384384
mock_span_ok = mock.Mock()
385385
mock_span_ok.is_recording.return_value = True
386-
_observability._client_response_hook(mock_span_ok, mock.Mock(spec=[]))
386+
_observability._grpc_client_response_hook(mock_span_ok, mock.Mock(spec=[]))
387387
mock_span_ok.set_attribute.assert_called_once_with("rpc.response.status_code", "OK")
388388

389389
# Response with StatusCode object having name (e.g. OK)
@@ -393,7 +393,7 @@ def test_client_response_hook():
393393
mock_code_ok = mock.Mock()
394394
mock_code_ok.name = "OK"
395395
mock_resp_ok.code.return_value = mock_code_ok
396-
_observability._client_response_hook(mock_span_code_obj, mock_resp_ok)
396+
_observability._grpc_client_response_hook(mock_span_code_obj, mock_resp_ok)
397397
mock_span_code_obj.set_attribute.assert_called_once_with(
398398
"rpc.response.status_code", "OK"
399399
)
@@ -404,7 +404,7 @@ def test_client_response_hook():
404404
mock_resp_err = mock.Mock()
405405
mock_resp_err.code.return_value = 14
406406
mock_resp_err.details.return_value = "Service temporarily unavailable"
407-
_observability._client_response_hook(mock_span_err, mock_resp_err)
407+
_observability._grpc_client_response_hook(mock_span_err, mock_resp_err)
408408
mock_span_err.set_attribute.assert_any_call(
409409
"rpc.response.status_code", "UNAVAILABLE"
410410
)
@@ -418,7 +418,7 @@ def test_client_response_hook():
418418
mock_span_exc.is_recording.return_value = True
419419
mock_resp_exc = mock.Mock()
420420
mock_resp_exc.code.side_effect = RuntimeError("Broken call")
421-
_observability._client_response_hook(mock_span_exc, mock_resp_exc)
421+
_observability._grpc_client_response_hook(mock_span_exc, mock_resp_exc)
422422
mock_span_exc.set_attribute.assert_called_once_with(
423423
"rpc.response.status_code", "OK"
424424
)
@@ -428,7 +428,7 @@ def test_client_response_hook():
428428
mock_span_no_det.is_recording.return_value = True
429429
mock_resp_no_det = mock.Mock(spec=["code"])
430430
mock_resp_no_det.code.return_value = 14
431-
_observability._client_response_hook(mock_span_no_det, mock_resp_no_det)
431+
_observability._grpc_client_response_hook(mock_span_no_det, mock_resp_no_det)
432432
mock_span_no_det.set_attribute.assert_any_call(
433433
"rpc.response.status_code", "UNAVAILABLE"
434434
)
@@ -440,7 +440,7 @@ def test_client_response_hook():
440440
mock_resp_empty_det = mock.Mock()
441441
mock_resp_empty_det.code.return_value = 14
442442
mock_resp_empty_det.details.return_value = ""
443-
_observability._client_response_hook(mock_span_empty_det, mock_resp_empty_det)
443+
_observability._grpc_client_response_hook(mock_span_empty_det, mock_resp_empty_det)
444444
mock_span_empty_det.set_attribute.assert_any_call(
445445
"rpc.response.status_code", "UNAVAILABLE"
446446
)
@@ -451,7 +451,7 @@ def test_client_response_hook():
451451
mock_resp_exc_det = mock.Mock()
452452
mock_resp_exc_det.code.return_value = 14
453453
mock_resp_exc_det.details.side_effect = RuntimeError("Details broken")
454-
_observability._client_response_hook(mock_span_exc_det, mock_resp_exc_det)
454+
_observability._grpc_client_response_hook(mock_span_exc_det, mock_resp_exc_det)
455455
mock_span_exc_det.set_attribute.assert_any_call(
456456
"rpc.response.status_code", "UNAVAILABLE"
457457
)
@@ -488,7 +488,7 @@ def test_get_otel_interceptor_with_api_endpoint(monkeypatch):
488488
# Verify custom request hook was passed
489489
args, kwargs = mock_otel_grpc.client_interceptor.call_args
490490
req_hook = kwargs["request_hook"]
491-
assert req_hook is not _observability._client_request_hook
491+
assert req_hook is not _observability._grpc_client_request_hook
492492

493493
# Test invoking the custom hook
494494
mock_span = mock.Mock()
@@ -520,7 +520,7 @@ def test_get_otel_async_interceptor_with_api_endpoint(monkeypatch):
520520

521521
args, kwargs = mock_otel_grpc.aio_client_interceptors.call_args
522522
req_hook = kwargs["request_hook"]
523-
assert req_hook is not _observability._client_request_hook
523+
assert req_hook is not _observability._grpc_client_request_hook
524524

525525
mock_span = mock.Mock()
526526
mock_span.is_recording.return_value = True

0 commit comments

Comments
 (0)