1from contextlib import contextmanager 2try: 3 # Python 2 4 from StringIO import StringIO 5except ImportError: 6 # Python 3 7 from io import StringIO 8import sys 9import unittest 10 11from .helpers import mssqlconn 12 13 14@contextmanager 15def redirect_stderr(): 16 sys.stderr = StringIO() 17 yield sys.stderr 18 sys.stderr = sys.__stderr__ 19 20 21class TestMSSQLConnectionWithDebugQueries(unittest.TestCase): 22 23 def setUp(self): 24 self.conn = mssqlconn() 25 self.conn.debug_queries = True 26 27 def test_MSSQLConnection_with_debug_queries(self): 28 # This test is for http://code.google.com/p/pymssql/issues/detail?id=98 29 30 sql = "SELECT 'foo' AS first_name, 'bar' AS last_name" 31 expected_row = { 32 0: 'foo', 33 1: 'bar', 34 'first_name': 'foo', 35 'last_name': 'bar', 36 } 37 38 with redirect_stderr() as stderr: 39 row = self.conn.execute_row(sql) 40 self.assertEquals(row, expected_row) 41 42 self.assertEqual(stderr.getvalue(), "#%s#\n" % sql) 43