1from datetime import datetime 2import unittest 3 4import _mssql 5 6 7class ErrHandleTests(unittest.TestCase): 8 9 def test01DBError(self): 10 connection = None 11 severity = 8 12 dberr = 101 13 oserr = 0 14 dberrstr = "toblerone1" 15 oserrstr = None 16 17 expect = "DB-Lib error message %d, severity %d:\n%s\n" % ( 18 dberr, severity, dberrstr) 19 expect = expect.encode('UTF-8') 20 21 values = _mssql.test_err_handler( 22 connection, severity, dberr, oserr, dberrstr, oserrstr) 23 self.assertEqual(values[0], 2) 24 self.assertEqual(values[1], expect) 25 26 def test02OSError(self): 27 connection = None 28 # EXCOMM 29 severity = 9 30 dberr = 102 31 oserr = 1001 32 dberrstr = "toblerone2" 33 oserrstr = "scorpion" 34 35 expect = ( 36 "DB-Lib error message %d, severity %d:\n%s\n" 37 "Net-Lib error during %s (%d)\n" % ( 38 dberr, severity, dberrstr, oserrstr, oserr)) 39 expect = expect.encode('UTF-8') 40 41 values = _mssql.test_err_handler( 42 connection, severity, dberr, oserr, dberrstr, oserrstr) 43 self.assertEqual(values[0], 2) 44 self.assertEqual(values[1], expect) 45 46 def test03OSError(self): 47 connection = None 48 severity = 10 49 dberr = 103 50 oserr = 1003 51 dberrstr = "toblerone3" 52 oserrstr = "cabezon" 53 54 expect = ( 55 "DB-Lib error message %d, severity %d:\n%s\n" 56 "Operating System error during %s (%d)\n" % ( 57 dberr, severity, dberrstr, oserrstr, oserr)) 58 expect = expect.encode('UTF-8') 59 60 values = _mssql.test_err_handler( 61 connection, severity, dberr, oserr, dberrstr, oserrstr) 62 self.assertEqual(values[0], 2) 63 self.assertEqual(values[1], expect) 64 65 def test04NoError(self): 66 connection = None 67 68 # smaller than min error severity, so no output should be generated 69 severity = 5 70 dberr = 10 71 oserr = 4444 72 dberrstr = "toblerone4" 73 oserrstr = "limpet" 74 75 expect = b"" 76 77 values = _mssql.test_err_handler( 78 connection, severity, dberr, oserr, dberrstr, oserrstr) 79 self.assertEqual(values[0], 2) 80 self.assertEqual(values[1], expect) 81 82if __name__ == "__main__": 83 unittest.main() 84