diff --git a/packages/faststream-stomp/faststream_stomp/opentelemetry.py b/packages/faststream-stomp/faststream_stomp/opentelemetry.py index 0fa553a..b305a59 100644 --- a/packages/faststream-stomp/faststream_stomp/opentelemetry.py +++ b/packages/faststream-stomp/faststream_stomp/opentelemetry.py @@ -43,7 +43,7 @@ def get_publish_destination_name(self, cmd: StompPublishCommand) -> str: # noqa return cmd.destination -class StompTelemetryMiddleware(TelemetryMiddleware): +class StompTelemetryMiddleware(TelemetryMiddleware[StompPublishCommand]): def __init__( self, *, @@ -52,7 +52,7 @@ def __init__( meter: Meter | None = None, ) -> None: super().__init__( - settings_provider_factory=lambda _: StompTelemetrySettingsProvider(), # type: ignore[arg-type,return-value] + settings_provider_factory=lambda _: StompTelemetrySettingsProvider(), tracer_provider=tracer_provider, meter_provider=meter_provider, meter=meter, diff --git a/packages/faststream-stomp/test_faststream_stomp/test_typing.py b/packages/faststream-stomp/test_faststream_stomp/test_typing.py new file mode 100644 index 0000000..6462813 --- /dev/null +++ b/packages/faststream-stomp/test_faststream_stomp/test_typing.py @@ -0,0 +1,19 @@ +# pragma: no cover +import typing + +if typing.TYPE_CHECKING: + import faststream + import faststream_stomp + import stompman + from faststream_stomp.opentelemetry import StompTelemetryMiddleware + from faststream_stomp.prometheus import StompPrometheusMiddleware + from prometheus_client import CollectorRegistry + + broker = faststream_stomp.StompBroker( + stompman.Client(servers=[]), + middlewares=( + StompTelemetryMiddleware(), + StompPrometheusMiddleware(registry=CollectorRegistry()), + ), + ) + app = faststream.FastStream(broker)