Skip to content

Commit 73da355

Browse files
committed
feat: add basic test
1 parent 56a7c2d commit 73da355

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

instrumentation/opentelemetry-instrumentation-remoulade/tests/__init__.py

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import remoulade
2+
from remoulade.brokers.local import LocalBroker
3+
from remoulade.results import Results
4+
from remoulade.results.backends import LocalBackend
5+
from opentelemetry.instrumentation.remoulade import RemouladeInstrumentor
6+
from opentelemetry.test.test_base import TestBase
7+
from opentelemetry.trace import SpanKind
8+
9+
10+
11+
@remoulade.actor
12+
def actor_multiply(x, y):
13+
return x * y
14+
15+
16+
class TestRemouladeInstrumentation(TestBase):
17+
def setUp(self):
18+
super().setUp()
19+
20+
broker = LocalBroker()
21+
22+
# Should a backend be added to wait for the result ?
23+
# result_backend = LocalBackend()
24+
# broker.add_middleware(Results(backend=result_backend))
25+
remoulade.set_broker(broker)
26+
RemouladeInstrumentor().instrument()
27+
28+
broker.declare_actor(actor_multiply)
29+
30+
def test_message(self):
31+
message = actor_multiply.send(1, 2)
32+
# result = message.result.get(block=True)
33+
34+
spans = self.sorted_spans(self.memory_exporter.get_finished_spans())
35+
self.assertEqual(len(spans), 2)
36+
37+
consumer, producer = spans
38+
39+
self.assertEqual(consumer.name, "remoulade/process")
40+
self.assertEqual(consumer.kind, SpanKind.CONSUMER)
41+
42+
self.assertEqual(producer.name, "remoulade/send")
43+
self.assertEqual(producer.kind, SpanKind.PRODUCER)
44+
45+
self.assertNotEqual(consumer.parent, producer.context)
46+
self.assertEqual(consumer.parent.span_id, producer.context.span_id)
47+
self.assertEqual(consumer.context.trace_id, producer.context.trace_id)

0 commit comments

Comments
 (0)