Skip to content
This repository was archived by the owner on Mar 26, 2026. It is now read-only.

Commit 5c4c76d

Browse files
committed
fix test
1 parent a572ff8 commit 5c4c76d

2 files changed

Lines changed: 22 additions & 12 deletions

File tree

tests/system/conftest.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -307,34 +307,42 @@ def __init__(self):
307307
self.request_metadata = []
308308
self.response_metadata = []
309309

310-
def _add_request_metadata(self, client_call_details):
310+
def _read_request_metadata(self, client_call_details):
311311
if client_call_details.metadata is not None:
312312
self.request_metadata = client_call_details.metadata
313313

314+
def _read_response_metadata_stream(self):
315+
# Access the metadata via the original stream object
316+
if hasattr(self, "_original_stream"):
317+
return self._original_stream.trailing_metadata()
318+
return []
319+
314320
def intercept_unary_unary(self, continuation, client_call_details, request):
315-
self._add_request_metadata(client_call_details)
321+
self._read_request_metadata(client_call_details)
316322
response = continuation(client_call_details, request)
317323
metadata = [(k, str(v)) for k, v in response.trailing_metadata()]
318324
self.response_metadata = metadata
319325
return response
320326

321327
def intercept_unary_stream(self, continuation, client_call_details, request):
322-
self._add_request_metadata(client_call_details)
328+
self._read_request_metadata(client_call_details)
323329
response_it = continuation(client_call_details, request)
330+
self._original_stream = response_it
324331
return response_it
325332

326333
def intercept_stream_unary(
327334
self, continuation, client_call_details, request_iterator
328335
):
329-
self._add_request_metadata(client_call_details)
336+
self._read_request_metadata(client_call_details)
330337
response = continuation(client_call_details, request_iterator)
331338
return response
332339

333340
def intercept_stream_stream(
334341
self, continuation, client_call_details, request_iterator
335342
):
336-
self._add_request_metadata(client_call_details)
343+
self._read_request_metadata(client_call_details)
337344
response_it = continuation(client_call_details, request_iterator)
345+
self._original_stream = response_it
338346
return response_it
339347

340348

@@ -348,33 +356,33 @@ def __init__(self):
348356
self.request_metadata = []
349357
self.response_metadata = []
350358

351-
async def _add_request_metadata(self, client_call_details):
359+
async def _read_request_metadata(self, client_call_details):
352360
if client_call_details.metadata is not None:
353361
self.request_metadata = list(client_call_details.metadata)
354362

355363
async def intercept_unary_unary(self, continuation, client_call_details, request):
356-
await self._add_request_metadata(client_call_details)
364+
await self._read_request_metadata(client_call_details)
357365
response = await continuation(client_call_details, request)
358366
metadata = [(k, str(v)) for k, v in await response.trailing_metadata()]
359367
self.response_metadata = metadata
360368
return response
361369

362370
async def intercept_unary_stream(self, continuation, client_call_details, request):
363-
self._add_request_metadata(client_call_details)
371+
self._read_request_metadata(client_call_details)
364372
response_it = continuation(client_call_details, request)
365373
return response_it
366374

367375
async def intercept_stream_unary(
368376
self, continuation, client_call_details, request_iterator
369377
):
370-
self._add_request_metadata(client_call_details)
378+
self._read_request_metadata(client_call_details)
371379
response = continuation(client_call_details, request_iterator)
372380
return response
373381

374382
async def intercept_stream_stream(
375383
self, continuation, client_call_details, request_iterator
376384
):
377-
self._add_request_metadata(client_call_details)
385+
self._read_request_metadata(client_call_details)
378386
response_it = continuation(client_call_details, request_iterator)
379387
return response_it
380388

tests/system/test_grpc_interceptor_streams.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ def test_unary_stream(intercepted_echo_grpc):
3838
response_metadata = [
3939
(metadata.key, metadata.value) for metadata in responses.trailing_metadata()
4040
]
41+
assert _METADATA[0] in interceptor.request_metadata
4142
assert _METADATA[0] in response_metadata
42-
interceptor.response_metadata = response_metadata
43+
assert _METADATA[0] in interceptor._read_response_metadata_stream()
4344

4445

4546
def test_stream_stream(intercepted_echo_grpc):
@@ -55,5 +56,6 @@ def test_stream_stream(intercepted_echo_grpc):
5556
response_metadata = [
5657
(metadata.key, metadata.value) for metadata in responses.trailing_metadata()
5758
]
59+
assert _METADATA[0] in interceptor.request_metadata
5860
assert _METADATA[0] in response_metadata
59-
interceptor.response_metadata = response_metadata
61+
assert _METADATA[0] in interceptor._read_response_metadata_stream()

0 commit comments

Comments
 (0)