Skip to content

Commit eb39dcf

Browse files
Update tests for sqlalchemy 2
1 parent ca4d517 commit eb39dcf

File tree

2 files changed

+39
-31
lines changed

2 files changed

+39
-31
lines changed

instrumentation/opentelemetry-instrumentation-sqlalchemy/tests/test_sqlalchemy.py

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@
1717

1818
import pytest
1919
import sqlalchemy
20-
from sqlalchemy import create_engine
20+
from sqlalchemy import (
21+
create_engine,
22+
text,
23+
)
2124

2225
from opentelemetry import trace
2326
from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor
@@ -43,12 +46,14 @@ def test_trace_integration(self):
4346
tracer_provider=self.tracer_provider,
4447
)
4548
cnx = engine.connect()
46-
cnx.execute("SELECT 1 + 1;").fetchall()
47-
cnx.execute("/* leading comment */ SELECT 1 + 1;").fetchall()
49+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
50+
cnx.execute(text("/* leading comment */ SELECT 1 + 1;")).fetchall()
4851
cnx.execute(
49-
"/* leading comment */ SELECT 1 + 1; /* trailing comment */"
52+
text(
53+
"/* leading comment */ SELECT 1 + 1; /* trailing comment */"
54+
)
5055
).fetchall()
51-
cnx.execute("SELECT 1 + 1; /* trailing comment */").fetchall()
56+
cnx.execute(text("SELECT 1 + 1; /* trailing comment */")).fetchall()
5257
spans = self.memory_exporter.get_finished_spans()
5358

5459
self.assertEqual(len(spans), 5)
@@ -76,9 +81,9 @@ def test_instrument_two_engines(self):
7681
)
7782

7883
cnx_1 = engine_1.connect()
79-
cnx_1.execute("SELECT 1 + 1;").fetchall()
84+
cnx_1.execute(text("SELECT 1 + 1;")).fetchall()
8085
cnx_2 = engine_2.connect()
81-
cnx_2.execute("SELECT 1 + 1;").fetchall()
86+
cnx_2.execute(text("SELECT 1 + 1;")).fetchall()
8287

8388
spans = self.memory_exporter.get_finished_spans()
8489
# 2 queries + 2 engine connect
@@ -111,7 +116,7 @@ async def run():
111116
engine=engine.sync_engine, tracer_provider=self.tracer_provider
112117
)
113118
async with engine.connect() as cnx:
114-
await cnx.execute(sqlalchemy.text("SELECT 1 + 1;"))
119+
await cnx.execute(text("SELECT 1 + 1;"))
115120
spans = self.memory_exporter.get_finished_spans()
116121
self.assertEqual(len(spans), 2)
117122
# first span - the connection to the db
@@ -144,7 +149,7 @@ def test_not_recording(self):
144149
tracer_provider=self.tracer_provider,
145150
)
146151
cnx = engine.connect()
147-
cnx.execute("SELECT 1 + 1;").fetchall()
152+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
148153
self.assertFalse(mock_span.is_recording())
149154
self.assertTrue(mock_span.is_recording.called)
150155
self.assertFalse(mock_span.set_attribute.called)
@@ -156,7 +161,7 @@ def test_create_engine_wrapper(self):
156161

157162
engine = create_engine("sqlite:///:memory:")
158163
cnx = engine.connect()
159-
cnx.execute("SELECT 1 + 1;").fetchall()
164+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
160165
spans = self.memory_exporter.get_finished_spans()
161166

162167
self.assertEqual(len(spans), 2)
@@ -187,7 +192,7 @@ def test_create_engine_wrapper_enable_commenter(self):
187192

188193
engine = create_engine("sqlite:///:memory:")
189194
cnx = engine.connect()
190-
cnx.execute("SELECT 1;").fetchall()
195+
cnx.execute(text("SELECT 1;")).fetchall()
191196
# sqlcommenter
192197
self.assertRegex(
193198
self.caplog.records[-2].getMessage(),
@@ -207,7 +212,7 @@ def test_create_engine_wrapper_enable_commenter_otel_values_false(self):
207212

208213
engine = create_engine("sqlite:///:memory:")
209214
cnx = engine.connect()
210-
cnx.execute("SELECT 1;").fetchall()
215+
cnx.execute(text("SELECT 1;")).fetchall()
211216
# sqlcommenter
212217
self.assertRegex(
213218
self.caplog.records[-2].getMessage(),
@@ -233,7 +238,7 @@ def test_custom_tracer_provider(self):
233238

234239
engine = create_engine("sqlite:///:memory:")
235240
cnx = engine.connect()
236-
cnx.execute("SELECT 1 + 1;").fetchall()
241+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
237242
spans = self.memory_exporter.get_finished_spans()
238243

239244
self.assertEqual(len(spans), 2)
@@ -258,7 +263,7 @@ async def run():
258263

259264
engine = create_async_engine("sqlite+aiosqlite:///:memory:")
260265
async with engine.connect() as cnx:
261-
await cnx.execute(sqlalchemy.text("SELECT 1 + 1;"))
266+
await cnx.execute(text("SELECT 1 + 1;"))
262267
spans = self.memory_exporter.get_finished_spans()
263268
self.assertEqual(len(spans), 2)
264269
# first span - the connection to the db
@@ -299,7 +304,7 @@ async def run():
299304

300305
engine = create_async_engine("sqlite+aiosqlite:///:memory:")
301306
async with engine.connect() as cnx:
302-
await cnx.execute(sqlalchemy.text("SELECT 1;"))
307+
await cnx.execute(text("SELECT 1;"))
303308
# sqlcommenter
304309
self.assertRegex(
305310
self.caplog.records[1].getMessage(),
@@ -330,7 +335,7 @@ async def run():
330335

331336
engine = create_async_engine("sqlite+aiosqlite:///:memory:")
332337
async with engine.connect() as cnx:
333-
await cnx.execute(sqlalchemy.text("SELECT 1;"))
338+
await cnx.execute(text("SELECT 1;"))
334339
# sqlcommenter
335340
self.assertRegex(
336341
self.caplog.records[1].getMessage(),
@@ -346,7 +351,7 @@ def test_uninstrument(self):
346351
tracer_provider=self.tracer_provider,
347352
)
348353
cnx = engine.connect()
349-
cnx.execute("SELECT 1 + 1;").fetchall()
354+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
350355
spans = self.memory_exporter.get_finished_spans()
351356

352357
self.assertEqual(len(spans), 2)
@@ -359,10 +364,10 @@ def test_uninstrument(self):
359364

360365
self.memory_exporter.clear()
361366
SQLAlchemyInstrumentor().uninstrument()
362-
cnx.execute("SELECT 1 + 1;").fetchall()
367+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
363368
engine2 = create_engine("sqlite:///:memory:")
364369
cnx2 = engine2.connect()
365-
cnx2.execute("SELECT 2 + 2;").fetchall()
370+
cnx2.execute(text("SELECT 2 + 2;")).fetchall()
366371
spans = self.memory_exporter.get_finished_spans()
367372
self.assertEqual(len(spans), 0)
368373

@@ -371,7 +376,7 @@ def test_uninstrument(self):
371376
tracer_provider=self.tracer_provider,
372377
)
373378
cnx = engine.connect()
374-
cnx.execute("SELECT 1 + 1;").fetchall()
379+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
375380
spans = self.memory_exporter.get_finished_spans()
376381
self.assertEqual(len(spans), 2)
377382

@@ -384,13 +389,13 @@ def test_uninstrument_without_engine(self):
384389
engine = create_engine("sqlite:///:memory:")
385390

386391
cnx = engine.connect()
387-
cnx.execute("SELECT 1 + 1;").fetchall()
392+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
388393
spans = self.memory_exporter.get_finished_spans()
389394
self.assertEqual(len(spans), 2)
390395

391396
self.memory_exporter.clear()
392397
SQLAlchemyInstrumentor().uninstrument()
393-
cnx.execute("SELECT 1 + 1;").fetchall()
398+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
394399
spans = self.memory_exporter.get_finished_spans()
395400
self.assertEqual(len(spans), 0)
396401

@@ -401,7 +406,7 @@ def test_no_op_tracer_provider(self):
401406
tracer_provider=trace.NoOpTracerProvider(),
402407
)
403408
cnx = engine.connect()
404-
cnx.execute("SELECT 1 + 1;").fetchall()
409+
cnx.execute(text("SELECT 1 + 1;")).fetchall()
405410
spans = self.memory_exporter.get_finished_spans()
406411
self.assertEqual(len(spans), 0)
407412

@@ -420,7 +425,7 @@ def make_shortlived_engine():
420425
# collection
421426
weakref.finalize(engine, callback)
422427
with engine.connect() as conn:
423-
conn.execute("SELECT 1 + 1;").fetchall()
428+
conn.execute(text("SELECT 1 + 1;")).fetchall()
424429

425430
for _ in range(0, 5):
426431
make_shortlived_engine()

instrumentation/opentelemetry-instrumentation-sqlalchemy/tests/test_sqlcommenter.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
import logging
1515

1616
import pytest
17-
from sqlalchemy import create_engine
17+
from sqlalchemy import (
18+
create_engine,
19+
text,
20+
)
1821

1922
from opentelemetry import context
2023
from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor
@@ -37,7 +40,7 @@ def test_sqlcommenter_disabled(self):
3740
engine=engine, tracer_provider=self.tracer_provider
3841
)
3942
cnx = engine.connect()
40-
cnx.execute("SELECT 1;").fetchall()
43+
cnx.execute(text("SELECT 1;")).fetchall()
4144

4245
self.assertEqual(self.caplog.records[-2].getMessage(), "SELECT 1;")
4346

@@ -50,7 +53,7 @@ def test_sqlcommenter_enabled(self):
5053
commenter_options={"db_framework": False},
5154
)
5255
cnx = engine.connect()
53-
cnx.execute("SELECT 1;").fetchall()
56+
cnx.execute(text("SELECT 1;")).fetchall()
5457
self.assertRegex(
5558
self.caplog.records[-2].getMessage(),
5659
r"SELECT 1 /\*db_driver='(.*)',traceparent='\d{1,2}-[a-zA-Z0-9_]{32}-[a-zA-Z0-9_]{16}-\d{1,2}'\*/;",
@@ -68,7 +71,7 @@ def test_sqlcommenter_enabled_otel_values_false(self):
6871
},
6972
)
7073
cnx = engine.connect()
71-
cnx.execute("SELECT 1;").fetchall()
74+
cnx.execute(text("SELECT 1;")).fetchall()
7275
self.assertRegex(
7376
self.caplog.records[-2].getMessage(),
7477
r"SELECT 1 /\*db_driver='(.*)'\*/;",
@@ -90,7 +93,7 @@ def test_sqlcommenter_flask_integration(self):
9093
)
9194
context.attach(sqlcommenter_context)
9295

93-
cnx.execute("SELECT 1;").fetchall()
96+
cnx.execute(text("SELECT 1;")).fetchall()
9497
self.assertRegex(
9598
self.caplog.records[-2].getMessage(),
9699
r"SELECT 1 /\*db_driver='(.*)',flask=1,traceparent='\d{1,2}-[a-zA-Z0-9_]{32}-[a-zA-Z0-9_]{16}-\d{1,2}'\*/;",
@@ -105,7 +108,7 @@ def test_sqlcommenter_enabled_create_engine_after_instrumentation(self):
105108

106109
engine = create_engine("sqlite:///:memory:")
107110
cnx = engine.connect()
108-
cnx.execute("SELECT 1;").fetchall()
111+
cnx.execute(text("SELECT 1;")).fetchall()
109112
self.assertRegex(
110113
self.caplog.records[-2].getMessage(),
111114
r"SELECT 1 /\*db_driver='(.*)',traceparent='\d{1,2}-[a-zA-Z0-9_]{32}-[a-zA-Z0-9_]{16}-\d{1,2}'\*/;",
@@ -120,5 +123,5 @@ def test_sqlcommenter_disabled_create_engine_after_instrumentation(self):
120123

121124
engine = create_engine("sqlite:///:memory:")
122125
cnx = engine.connect()
123-
cnx.execute("SELECT 1;").fetchall()
126+
cnx.execute(text("SELECT 1;")).fetchall()
124127
self.assertEqual(self.caplog.records[-2].getMessage(), "SELECT 1;")

0 commit comments

Comments
 (0)