Initial import to Tizen
[profile/ivi/python-PyPAM.git] / tests / PamTest.py
1 #!/usr/bin/env python
2
3 import sys
4 import unittest
5 import PAM
6
7 class PAMConstructorTestCase(unittest.TestCase):
8
9     def testConstructor(self):
10         """The constructor works with no arguements and fails with
11         a TypeError when called with any arguments."""
12         
13         pam = PAM.pam()
14         self.assertRaises(TypeError, PAM.pam, None)
15         self.assertRaises(TypeError, PAM.pam, 1)
16         self.assertRaises(TypeError, PAM.pam, "")
17         self.assertRaises(TypeError, PAM.pam, ())
18         self.assertRaises(TypeError, PAM.pam, [])
19         self.assertRaises(TypeError, PAM.pam, {})
20
21
22 class PAMTestCase(unittest.TestCase):
23
24     def setUp(self):
25     
26         self.pam = PAM.pam()
27
28     def test_get_userdata_interface(self):
29         """get_userdata() raises TypeError when called with any arguments."""
30
31         self.assertRaises(TypeError, self.pam.get_userdata, 1)
32
33     def test_set_userdata_interface(self):
34         """set_userdata() raises TypeError when called with 0 arguments
35         or with more than 1 argument."""
36         
37         self.assertRaises(TypeError, self.pam.set_userdata)
38         self.assertRaises(TypeError, self.pam.set_userdata, 1, 2)
39
40
41     def test_userdata_default(self):
42         """The default value for userdata is None."""
43     
44         self.failUnless(self.pam.get_userdata() is None)
45
46     def test_userdata(self):
47         """The userdata getter and setter will store and return any data."""
48     
49         self.pam.set_userdata(1)
50         self.failUnless(self.pam.get_userdata() == 1)
51
52     def test_start(self):
53         """pam.start() works as expected."""
54         
55         self.assertRaises(TypeError, self.pam.start)
56         self.assertRaises(TypeError, self.pam.start, 1)
57         
58
59 if __name__ == '__main__':
60
61     unittest.main()