-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathodbchelpertest.py
47 lines (39 loc) · 1.59 KB
/
odbchelpertest.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
"""Unit test for odbchelper.py
This program is part of "Dive Into Python", a free Python book for
experienced programmers. Visit http://diveintopython.org/ for the
latest version.
"""
__author__ = "Mark Pilgrim ([email protected])"
__version__ = "$Revision: 1.2 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "Copyright (c) 2001 Mark Pilgrim"
__license__ = "Python"
import unittest
import odbchelper
class GoodInput(unittest.TestCase):
def testBlank(self):
"""buildConnectionString handles empty dictionary"""
self.assertEqual("", odbchelper.buildConnectionString({}))
def testKnownValue(self):
"""buildConnectionString returns known result with known input"""
params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
knownItems = params.items()
knownItems.sort()
knownString = repr(knownItems)
result = odbchelper.buildConnectionString(params)
resultItems = [tuple(e.split("=")) for e in result.split(";")]
resultItems.sort()
resultString = repr(resultItems)
self.assertEqual(knownString, resultString)
class BadInput(unittest.TestCase):
def testString(self):
"""buildConnectionString should fail with string input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, "")
def testList(self):
"""buildConnectionString should fail with list input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, [])
def testTuple(self):
"""buildConnectionString should fail with tuple input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, ())
if __name__ == "__main__":
unittest.main()