1
1
import remoulade
2
2
from remoulade .brokers .local import LocalBroker
3
- from remoulade .results import Results
4
- from remoulade .results .backends import LocalBackend
5
3
from opentelemetry .instrumentation .remoulade import RemouladeInstrumentor
6
4
from opentelemetry .test .test_base import TestBase
7
5
from opentelemetry .trace import SpanKind
8
-
6
+ from opentelemetry . semconv . trace import SpanAttributes
9
7
10
8
11
9
@remoulade .actor
@@ -19,17 +17,13 @@ def setUp(self):
19
17
20
18
broker = LocalBroker ()
21
19
22
- # Should a backend be added to wait for the result ?
23
- # result_backend = LocalBackend()
24
- # broker.add_middleware(Results(backend=result_backend))
25
20
remoulade .set_broker (broker )
26
21
RemouladeInstrumentor ().instrument ()
27
22
28
23
broker .declare_actor (actor_multiply )
29
24
30
25
def test_message (self ):
31
- message = actor_multiply .send (1 , 2 )
32
- # result = message.result.get(block=True)
26
+ actor_multiply .send (1 , 2 )
33
27
34
28
spans = self .sorted_spans (self .memory_exporter .get_finished_spans ())
35
29
self .assertEqual (len (spans ), 2 )
@@ -38,9 +32,23 @@ def test_message(self):
38
32
39
33
self .assertEqual (consumer .name , "remoulade/process" )
40
34
self .assertEqual (consumer .kind , SpanKind .CONSUMER )
35
+ self .assertSpanHasAttributes (
36
+ consumer ,
37
+ {
38
+ "remoulade.action" : "run" ,
39
+ "remoulade.actor_name" : "actor_multiply" ,
40
+ },
41
+ )
41
42
42
43
self .assertEqual (producer .name , "remoulade/send" )
43
44
self .assertEqual (producer .kind , SpanKind .PRODUCER )
45
+ self .assertSpanHasAttributes (
46
+ producer ,
47
+ {
48
+ "remoulade.action" : "send" ,
49
+ "remoulade.actor_name" : "actor_multiply" ,
50
+ },
51
+ )
44
52
45
53
self .assertNotEqual (consumer .parent , producer .context )
46
54
self .assertEqual (consumer .parent .span_id , producer .context .span_id )
0 commit comments