Skip to content

Commit c3f94c3

Browse files
committed
Add test for database_index
1 parent 69f0b40 commit c3f94c3

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/opentelemetry-docker-tests/tests/redis/test_redis_functional.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,32 @@ def test_parent(self):
115115
child_span.attributes.get("service"), self.test_service
116116
)
117117
self.assertEqual(child_span.name, "GET")
118+
119+
120+
class TestRedisDBIndexInstrument(TestBase):
121+
122+
def setUp(self):
123+
super().setUp()
124+
self.redis_client = redis.Redis(port=6379, db=10)
125+
self.redis_client.flushall()
126+
RedisInstrumentor().instrument(tracer_provider=self.tracer_provider)
127+
128+
def tearDown(self):
129+
super().tearDown()
130+
RedisInstrumentor().uninstrument()
131+
132+
def _check_span(self, span, name):
133+
self.assertEqual(span.name, name)
134+
self.assertIs(span.status.status_code, trace.status.StatusCode.UNSET)
135+
self.assertEqual(span.attributes["net.peer.name"], "localhost")
136+
self.assertEqual(span.attributes["net.peer.ip"], 6379)
137+
self.assertEqual(span.attributes["db.redis.database_index"], 10)
138+
self.assertNotIn("db.name", span.attributes)
139+
140+
def test_get(self):
141+
self.assertIsNone(self.redis_client.get("paneer"))
142+
spans = self.memory_exporter.get_finished_spans()
143+
self.assertEqual(len(spans), 1)
144+
span = spans[0]
145+
self._check_span(span, "GET")
146+
self.assertEqual(span.attributes.get("db.statement"), "GET paneer")

0 commit comments

Comments
 (0)