|
14 | 14 |
|
15 | 15 | # pylint: disable=too-many-lines |
16 | 16 |
|
| 17 | +from __future__ import annotations |
| 18 | + |
17 | 19 | import abc |
18 | 20 | import asyncio |
19 | 21 | import typing |
@@ -593,10 +595,10 @@ def create_transport( |
593 | 595 | @abc.abstractmethod |
594 | 596 | def create_client( |
595 | 597 | self, |
596 | | - transport: typing.Union[ |
597 | | - SyncOpenTelemetryTransport, AsyncOpenTelemetryTransport, None |
598 | | - ] = None, |
599 | | - **kwargs, |
| 598 | + transport: SyncOpenTelemetryTransport |
| 599 | + | AsyncOpenTelemetryTransport |
| 600 | + | None = None, |
| 601 | + **kwargs: typing.Any, |
600 | 602 | ): |
601 | 603 | pass |
602 | 604 |
|
@@ -730,9 +732,9 @@ class BaseInstrumentorTest(BaseTest, metaclass=abc.ABCMeta): |
730 | 732 | @abc.abstractmethod |
731 | 733 | def create_client( |
732 | 734 | self, |
733 | | - transport: typing.Union[ |
734 | | - SyncOpenTelemetryTransport, AsyncOpenTelemetryTransport, None |
735 | | - ] = None, |
| 735 | + transport: SyncOpenTelemetryTransport |
| 736 | + | AsyncOpenTelemetryTransport |
| 737 | + | None = None, |
736 | 738 | **kwargs, |
737 | 739 | ): |
738 | 740 | pass |
@@ -926,6 +928,17 @@ def test_instrument_client_called_on_the_class(self): |
926 | 928 | self.assertEqual(result.text, "Hello!") |
927 | 929 | self.assert_span(num_spans=1) |
928 | 930 |
|
| 931 | + def test_instrument_multiple_clients_with_the_same_transport(self): |
| 932 | + client1 = typing.cast(httpx.Client, self.create_client()) |
| 933 | + client2 = self.create_client(client1._transport) |
| 934 | + |
| 935 | + HTTPXClientInstrumentor().instrument_client(client1) |
| 936 | + HTTPXClientInstrumentor().instrument_client(client2) |
| 937 | + |
| 938 | + result = self.perform_request(self.URL, client=client1) |
| 939 | + self.assertEqual(result.text, "Hello!") |
| 940 | + self.assert_span(num_spans=1) |
| 941 | + |
929 | 942 | def test_instrumentation_without_client(self): |
930 | 943 | HTTPXClientInstrumentor().instrument() |
931 | 944 | results = [ |
|
0 commit comments