@@ -526,13 +526,7 @@ async def test_connection_context_with_raw_connection(database_url):
526526 async with database .connection () as connection_1 :
527527 async with database .connection () as connection_2 :
528528 assert connection_1 is connection_2
529-
530- raw_connection_0 = await database .raw_connection ()
531- raw_connection_1 = await connection_1 .raw_connection ()
532- raw_connection_2 = await connection_2 .raw_connection ()
533-
534- assert raw_connection_0 is raw_connection_1 is raw_connection_2
535- assert raw_connection_0 is connection_1 ._connection ._connection
529+ assert connection_1 .raw_connection is connection_2 .raw_connection
536530
537531
538532@pytest .mark .parametrize ("database_url" , DATABASE_URLS )
@@ -543,66 +537,67 @@ async def test_queries_with_expose_backend_connection(database_url):
543537 `fetch_one()` using the raw driver interface.
544538 """
545539 async with Database (database_url ) as database :
546- async with database .transaction (force_rollback = True ):
547- # Get the raw connection
548- con = await database .raw_connection ()
549-
550- # Insert query
551- if str (database_url ).startswith ("mysql" ):
552- insert_query = "INSERT INTO notes (text, completed) VALUES (%s, %s)"
553- else :
554- insert_query = "INSERT INTO notes (text, completed) VALUES ($1, $2)"
555-
556- # execute()
557- values = ("example1" , True )
558-
559- if str (database_url ).startswith ("postgresql" ):
560- await con .execute (insert_query , * values )
561- elif str (database_url ).startswith ("mysql" ):
562- cursor = await con .cursor ()
563- await cursor .execute (insert_query , values )
564- elif str (database_url ).startswith ("sqlite" ):
565- await con .execute (insert_query , values )
566-
567- # execute_many()
568- values = [("example2" , False ), ("example3" , True )]
569-
570- if str (database_url ).startswith ("mysql" ):
571- cursor = await con .cursor ()
572- await cursor .executemany (insert_query , values )
573- else :
574- await con .executemany (insert_query , values )
575-
576- # Select query
577- select_query = "SELECT notes.id, notes.text, notes.completed FROM notes"
578-
579- # fetch_all()
580- if str (database_url ).startswith ("postgresql" ):
581- results = await con .fetch (select_query )
582- elif str (database_url ).startswith ("mysql" ):
583- cursor = await con .cursor ()
584- await cursor .execute (select_query )
585- results = await cursor .fetchall ()
586- elif str (database_url ).startswith ("sqlite" ):
587- results = await con .execute_fetchall (select_query )
588-
589- assert len (results ) == 3
590- # Raw output for the raw request
591- assert results [0 ][1 ] == "example1"
592- assert results [0 ][2 ] == True
593- assert results [1 ][1 ] == "example2"
594- assert results [1 ][2 ] == False
595- assert results [2 ][1 ] == "example3"
596- assert results [2 ][2 ] == True
597-
598- # fetch_one()
599- if str (database_url ).startswith ("postgresql" ):
600- result = await con .fetchrow (select_query )
601- else :
602- cursor = await con .cursor ()
603- await cursor .execute (select_query )
604- result = await cursor .fetchone ()
605-
606- # Raw output for the raw request
607- assert result [1 ] == "example1"
608- assert result [2 ] == True
540+ async with database .connection () as connection :
541+ async with database .transaction (force_rollback = True ):
542+ # Get the raw connection
543+ raw_connection = connection .raw_connection
544+
545+ # Insert query
546+ if str (database_url ).startswith ("mysql" ):
547+ insert_query = "INSERT INTO notes (text, completed) VALUES (%s, %s)"
548+ else :
549+ insert_query = "INSERT INTO notes (text, completed) VALUES ($1, $2)"
550+
551+ # execute()
552+ values = ("example1" , True )
553+
554+ if str (database_url ).startswith ("postgresql" ):
555+ await raw_connection .execute (insert_query , * values )
556+ elif str (database_url ).startswith ("mysql" ):
557+ cursor = await raw_connection .cursor ()
558+ await cursor .execute (insert_query , values )
559+ elif str (database_url ).startswith ("sqlite" ):
560+ await raw_connection .execute (insert_query , values )
561+
562+ # execute_many()
563+ values = [("example2" , False ), ("example3" , True )]
564+
565+ if str (database_url ).startswith ("mysql" ):
566+ cursor = await raw_connection .cursor ()
567+ await cursor .executemany (insert_query , values )
568+ else :
569+ await raw_connection .executemany (insert_query , values )
570+
571+ # Select query
572+ select_query = "SELECT notes.id, notes.text, notes.completed FROM notes"
573+
574+ # fetch_all()
575+ if str (database_url ).startswith ("postgresql" ):
576+ results = await raw_connection .fetch (select_query )
577+ elif str (database_url ).startswith ("mysql" ):
578+ cursor = await raw_connection .cursor ()
579+ await cursor .execute (select_query )
580+ results = await cursor .fetchall ()
581+ elif str (database_url ).startswith ("sqlite" ):
582+ results = await raw_connection .execute_fetchall (select_query )
583+
584+ assert len (results ) == 3
585+ # Raw output for the raw request
586+ assert results [0 ][1 ] == "example1"
587+ assert results [0 ][2 ] == True
588+ assert results [1 ][1 ] == "example2"
589+ assert results [1 ][2 ] == False
590+ assert results [2 ][1 ] == "example3"
591+ assert results [2 ][2 ] == True
592+
593+ # fetch_one()
594+ if str (database_url ).startswith ("postgresql" ):
595+ result = await raw_connection .fetchrow (select_query )
596+ else :
597+ cursor = await raw_connection .cursor ()
598+ await cursor .execute (select_query )
599+ result = await cursor .fetchone ()
600+
601+ # Raw output for the raw request
602+ assert result [1 ] == "example1"
603+ assert result [2 ] == True
0 commit comments