@@ -528,13 +528,11 @@ def test_aliases(self):
528
528
query = self .panel ._queries [- 1 ]
529
529
self .assertEqual (query [0 ], "replica" )
530
530
531
- @unittest .skipUnless (
532
- connection .vendor == "postgresql" , "Test valid only on PostgreSQL"
533
- )
534
531
def test_transaction_status (self ):
535
532
"""
536
- Test case for tracking the transaction status is properly associated
537
- with queries.
533
+ Test case for tracking the transaction status is properly associated with
534
+ queries on PostgreSQL, and that transactions aren't broken on other database
535
+ engines.
538
536
"""
539
537
self .assertEqual (len (self .panel ._queries ), 0 )
540
538
@@ -554,49 +552,68 @@ def test_transaction_status(self):
554
552
response = self .panel .process_request (self .request )
555
553
self .panel .generate_stats (self .request , response )
556
554
557
- self .assertEqual (len (self .panel ._queries ), 6 )
558
-
559
- query = self .panel ._queries [0 ]
560
- self .assertEqual (query [0 ], "default" )
561
- self .assertIsNotNone (query [1 ]["trans_id" ])
562
- self .assertTrue (query [1 ].get ("starts_trans" , False ))
563
- self .assertTrue (query [1 ].get ("in_trans" , False ))
564
- self .assertFalse (query [1 ].get ("ends_trans" , False ))
565
-
566
- query = self .panel ._queries [- 1 ]
567
- self .assertEqual (query [0 ], "replica" )
568
- self .assertIsNone (query [1 ]["trans_id" ])
569
- self .assertFalse (query [1 ].get ("starts_trans" , False ))
570
- self .assertFalse (query [1 ].get ("in_trans" , False ))
571
- self .assertFalse (query [1 ].get ("ends_trans" , False ))
572
- self .assertFalse (query [1 ].get ("ends_trans" , False ))
573
-
574
- query = self .panel ._queries [2 ]
575
- self .assertEqual (query [0 ], "default" )
576
- self .assertEqual (query [1 ]["trans_id" ], self .panel ._queries [0 ][1 ]["trans_id" ])
577
- self .assertFalse (query [1 ].get ("starts_trans" , False ))
578
- self .assertTrue (query [1 ].get ("in_trans" , False ))
579
- self .assertTrue (query [1 ].get ("ends_trans" , False ))
580
-
581
- query = self .panel ._queries [3 ]
582
- self .assertEqual (query [0 ], "replica" )
583
- self .assertNotEqual (query [1 ]["trans_id" ], self .panel ._queries [0 ][1 ]["trans_id" ])
584
- self .assertTrue (query [1 ].get ("starts_trans" , False ))
585
- self .assertTrue (query [1 ].get ("in_trans" , False ))
586
- self .assertTrue (query [1 ].get ("ends_trans" , False ))
587
-
588
- query = self .panel ._queries [4 ]
589
- self .assertEqual (query [0 ], "default" )
590
- self .assertNotEqual (query [1 ]["trans_id" ], self .panel ._queries [0 ][1 ]["trans_id" ])
591
- self .assertNotEqual (query [1 ]["trans_id" ], self .panel ._queries [3 ][1 ]["trans_id" ])
592
- self .assertTrue (query [1 ].get ("starts_trans" , False ))
593
- self .assertTrue (query [1 ].get ("in_trans" , False ))
594
- self .assertTrue (query [1 ].get ("ends_trans" , False ))
595
-
596
- query = self .panel ._queries [5 ]
597
- self .assertEqual (query [0 ], "replica" )
598
- self .assertIsNone (query [1 ]["trans_id" ])
599
- self .assertFalse (query [1 ].get ("starts_trans" , False ))
600
- self .assertFalse (query [1 ].get ("in_trans" , False ))
601
- self .assertFalse (query [1 ].get ("ends_trans" , False ))
602
- self .assertFalse (query [1 ].get ("ends_trans" , False ))
555
+ if connection .vendor == "postgresql" :
556
+ # Connection tracking is currently only implemented for PostgreSQL.
557
+ self .assertEqual (len (self .panel ._queries ), 6 )
558
+
559
+ query = self .panel ._queries [0 ]
560
+ self .assertEqual (query [0 ], "default" )
561
+ self .assertIsNotNone (query [1 ]["trans_id" ])
562
+ self .assertTrue (query [1 ]["starts_trans" ])
563
+ self .assertTrue (query [1 ]["in_trans" ])
564
+ self .assertFalse ("end_trans" in query [1 ])
565
+
566
+ query = self .panel ._queries [- 1 ]
567
+ self .assertEqual (query [0 ], "replica" )
568
+ self .assertIsNone (query [1 ]["trans_id" ])
569
+ self .assertFalse ("starts_trans" in query [1 ])
570
+ self .assertFalse ("in_trans" in query [1 ])
571
+ self .assertFalse ("end_trans" in query [1 ])
572
+
573
+ query = self .panel ._queries [2 ]
574
+ self .assertEqual (query [0 ], "default" )
575
+ self .assertIsNotNone (query [1 ]["trans_id" ])
576
+ self .assertEqual (
577
+ query [1 ]["trans_id" ], self .panel ._queries [0 ][1 ]["trans_id" ]
578
+ )
579
+ self .assertFalse ("starts_trans" in query [1 ])
580
+ self .assertTrue (query [1 ]["in_trans" ])
581
+ self .assertTrue (query [1 ]["ends_trans" ])
582
+
583
+ query = self .panel ._queries [3 ]
584
+ self .assertEqual (query [0 ], "replica" )
585
+ self .assertIsNotNone (query [1 ]["trans_id" ])
586
+ self .assertNotEqual (
587
+ query [1 ]["trans_id" ], self .panel ._queries [0 ][1 ]["trans_id" ]
588
+ )
589
+ self .assertTrue (query [1 ]["starts_trans" ])
590
+ self .assertTrue (query [1 ]["in_trans" ])
591
+ self .assertTrue (query [1 ]["ends_trans" ])
592
+
593
+ query = self .panel ._queries [4 ]
594
+ self .assertEqual (query [0 ], "default" )
595
+ self .assertIsNotNone (query [1 ]["trans_id" ])
596
+ self .assertNotEqual (
597
+ query [1 ]["trans_id" ], self .panel ._queries [0 ][1 ]["trans_id" ]
598
+ )
599
+ self .assertNotEqual (
600
+ query [1 ]["trans_id" ], self .panel ._queries [3 ][1 ]["trans_id" ]
601
+ )
602
+ self .assertTrue (query [1 ]["starts_trans" ])
603
+ self .assertTrue (query [1 ]["in_trans" ])
604
+ self .assertTrue (query [1 ]["ends_trans" ])
605
+
606
+ query = self .panel ._queries [5 ]
607
+ self .assertEqual (query [0 ], "replica" )
608
+ self .assertIsNone (query [1 ]["trans_id" ])
609
+ self .assertFalse ("starts_trans" in query [1 ])
610
+ self .assertFalse ("in_trans" in query [1 ])
611
+ self .assertFalse ("end_trans" in query [1 ])
612
+ else :
613
+ # Ensure that nothing was recorded for other database engines.
614
+ self .assertTrue (self .panel ._queries )
615
+ for query in self .panel ._queries :
616
+ self .assertFalse ("trans_id" in query [1 ])
617
+ self .assertFalse ("starts_trans" in query [1 ])
618
+ self .assertFalse ("in_trans" in query [1 ])
619
+ self .assertFalse ("end_trans" in query [1 ])
0 commit comments