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