@@ -410,6 +410,12 @@ async def test_cursor_manual(sentry_init, capture_events) -> None:
410410 "message" : "SELECT * FROM users WHERE dob > $1" ,
411411 "type" : "default" ,
412412 },
413+ {
414+ "category" : "query" ,
415+ "data" : {"db.cursor" : mock .ANY },
416+ "message" : "SELECT * FROM users WHERE dob > $1" ,
417+ "type" : "default" ,
418+ },
413419 {"category" : "query" , "data" : {}, "message" : "COMMIT;" , "type" : "default" },
414420 ]
415421
@@ -1462,7 +1468,9 @@ async def test_cursor__bind_exec_creates_spans(
14621468
14631469
14641470@pytest .mark .asyncio
1465- async def test_cursor__exec_methods_create_spans (sentry_init , capture_events ) -> None :
1471+ async def test_cursor_bind_and_exec_methods_create_spans (
1472+ sentry_init , capture_events
1473+ ) -> None :
14661474 sentry_init (
14671475 integrations = [AsyncPGIntegration ()],
14681476 traces_sample_rate = 1.0 ,
@@ -1494,25 +1502,34 @@ async def test_cursor__exec_methods_create_spans(sentry_init, capture_events) ->
14941502
14951503 (event ,) = events
14961504
1497- assert len (event ["spans" ]) == 6
1505+ assert len (event ["spans" ]) == 7
14981506
14991507 connect_span = event ["spans" ][0 ]
15001508 executemany_span = event ["spans" ][1 ]
15011509 begin_span = event ["spans" ][2 ]
1502- fetchrow_span_1 = event ["spans" ][3 ]
1503- fetchrow_span_2 = event ["spans" ][4 ]
1504- commit_span = event ["spans" ][5 ]
1510+ bind_span = event ["spans" ][3 ]
1511+ fetchrow_span_1 = event ["spans" ][4 ]
1512+ fetchrow_span_2 = event ["spans" ][5 ]
1513+ commit_span = event ["spans" ][6 ]
15051514
15061515 assert connect_span ["description" ] == "connect"
15071516 assert (
15081517 executemany_span ["description" ]
15091518 == "INSERT INTO users(name, password, dob) VALUES($1, $2, $3)"
15101519 )
15111520 assert begin_span ["description" ] == "BEGIN;"
1521+ assert bind_span ["description" ] == "SELECT * FROM users WHERE dob > $1"
15121522 assert fetchrow_span_1 ["description" ] == "SELECT * FROM users WHERE dob > $1"
15131523 assert fetchrow_span_2 ["description" ] == "SELECT * FROM users WHERE dob > $1"
15141524 assert commit_span ["description" ] == "COMMIT;"
15151525
1526+ assert bind_span ["data" ]["db.cursor" ] is not None
1527+ assert bind_span ["data" ]["db.system" ] == "postgresql"
1528+ assert bind_span ["data" ]["db.driver.name" ] == "asyncpg"
1529+ assert bind_span ["origin" ] == "auto.db.asyncpg"
1530+ assert SPANDATA .CODE_LINENO not in bind_span .get ("data" , {})
1531+ assert SPANDATA .CODE_FILEPATH not in bind_span .get ("data" , {})
1532+
15161533 for span in (fetchrow_span_1 , fetchrow_span_2 ):
15171534 assert span ["data" ]["db.cursor" ] is not None
15181535 assert span ["data" ]["db.system" ] == "postgresql"
0 commit comments