@@ -56,6 +56,9 @@ async def publish_message(self, params_combination: str = "both_args") -> None:
5656 elif params_combination == "arg_kwarg" :
5757 args = (message ,)
5858 kwargs = {"routing_key" : queue_name }
59+ elif params_combination == "arg_kwarg_empty_key" :
60+ args = (message ,)
61+ kwargs = {"routing_key" : "" }
5962 else :
6063 # params_combination == "both_args"
6164 args = (message , queue_name )
@@ -102,6 +105,15 @@ async def on_message(msg):
102105 await queue .consume (on_message )
103106 await asyncio .sleep (1 ) # Wait to ensure the message is processed
104107
108+ def assert_span_info (self , rabbitmq_span : "ReadableSpan" , sort : str , key : str = "test.queue" ) -> None :
109+ assert rabbitmq_span .data ["rabbitmq" ]["exchange" ] == "test.exchange"
110+ assert rabbitmq_span .data ["rabbitmq" ]["sort" ] == sort
111+ assert rabbitmq_span .data ["rabbitmq" ]["address" ]
112+ assert rabbitmq_span .data ["rabbitmq" ]["key" ] == key
113+ assert rabbitmq_span .stack
114+ assert isinstance (rabbitmq_span .stack , list )
115+ assert len (rabbitmq_span .stack ) > 0
116+
105117 @pytest .mark .parametrize (
106118 "params_combination" ,
107119 ["both_args" , "both_kwargs" , "arg_kwarg" ],
@@ -127,13 +139,8 @@ def test_basic_publish(self, params_combination) -> None:
127139 assert not rabbitmq_span .ec
128140
129141 # Span attributes
130- assert rabbitmq_span .data ["rabbitmq" ]["exchange" ] == "test.exchange"
131- assert rabbitmq_span .data ["rabbitmq" ]["sort" ] == "publish"
132- assert rabbitmq_span .data ["rabbitmq" ]["address" ]
133- assert rabbitmq_span .data ["rabbitmq" ]["key" ] == "test.queue"
134- assert rabbitmq_span .stack
135- assert isinstance (rabbitmq_span .stack , list )
136- assert len (rabbitmq_span .stack ) > 0
142+ key = "" if params_combination == "arg_kwarg_empty_key" else self .queue_name
143+ self .assert_span_info (rabbitmq_span , "publish" , key )
137144
138145 def test_basic_publish_as_root_exit_span (self ) -> None :
139146 agent .options .allow_exit_as_root = True
@@ -151,13 +158,7 @@ def test_basic_publish_as_root_exit_span(self) -> None:
151158 assert not rabbitmq_span .ec
152159
153160 # Span attributes
154- assert rabbitmq_span .data ["rabbitmq" ]["exchange" ] == "test.exchange"
155- assert rabbitmq_span .data ["rabbitmq" ]["sort" ] == "publish"
156- assert rabbitmq_span .data ["rabbitmq" ]["address" ]
157- assert rabbitmq_span .data ["rabbitmq" ]["key" ] == "test.queue"
158- assert rabbitmq_span .stack
159- assert isinstance (rabbitmq_span .stack , list )
160- assert len (rabbitmq_span .stack ) > 0
161+ self .assert_span_info (rabbitmq_span , "publish" )
161162
162163 @pytest .mark .parametrize (
163164 "connect_method" ,
@@ -189,17 +190,8 @@ def test_basic_consume(self, connect_method) -> None:
189190 assert not test_span .ec
190191
191192 # Span attributes
192- def assert_span_info (rabbitmq_span : "ReadableSpan" , sort : str ) -> None :
193- assert rabbitmq_span .data ["rabbitmq" ]["exchange" ] == "test.exchange"
194- assert rabbitmq_span .data ["rabbitmq" ]["sort" ] == sort
195- assert rabbitmq_span .data ["rabbitmq" ]["address" ]
196- assert rabbitmq_span .data ["rabbitmq" ]["key" ] == "test.queue"
197- assert rabbitmq_span .stack
198- assert isinstance (rabbitmq_span .stack , list )
199- assert len (rabbitmq_span .stack ) > 0
200-
201- assert_span_info (rabbitmq_publisher_span , "publish" )
202- assert_span_info (rabbitmq_consumer_span , "consume" )
193+ self .assert_span_info (rabbitmq_publisher_span , "publish" )
194+ self .assert_span_info (rabbitmq_consumer_span , "consume" )
203195
204196 @pytest .mark .parametrize (
205197 "connect_method" ,
@@ -231,14 +223,5 @@ def test_consume_with_exception(self, connect_method) -> None:
231223 assert not test_span .ec
232224
233225 # Span attributes
234- def assert_span_info (rabbitmq_span : "ReadableSpan" , sort : str ) -> None :
235- assert rabbitmq_span .data ["rabbitmq" ]["exchange" ] == "test.exchange"
236- assert rabbitmq_span .data ["rabbitmq" ]["sort" ] == sort
237- assert rabbitmq_span .data ["rabbitmq" ]["address" ]
238- assert rabbitmq_span .data ["rabbitmq" ]["key" ] == "test.queue"
239- assert rabbitmq_span .stack
240- assert isinstance (rabbitmq_span .stack , list )
241- assert len (rabbitmq_span .stack ) > 0
242-
243- assert_span_info (rabbitmq_publisher_span , "publish" )
244- assert_span_info (rabbitmq_consumer_span , "consume" )
226+ self .assert_span_info (rabbitmq_publisher_span , "publish" )
227+ self .assert_span_info (rabbitmq_consumer_span , "consume" )
0 commit comments