1 # -*- coding: utf-8 -*- |
|
2 |
|
3 import unittest |
|
4 |
|
5 import xmlrpclib |
|
6 from stopableServer import init_server |
|
7 |
|
8 class TestServer(unittest.TestCase): |
|
9 |
|
10 def setUp(self): |
|
11 self.i = init_server() |
|
12 self.serv=self.i.serv |
|
13 |
|
14 self.serv.start() |
|
15 |
|
16 def tearDown(self): |
|
17 self.serv.stop() |
|
18 |
|
19 def testLogin(self): |
|
20 self.assertEqual(xmlrpclib.Server("https://test:test@localhost:8000").status(), {}) |
|
21 self.assertEqual(xmlrpclib.Server("https://test2:test2@localhost:8000").status(), {}) |
|
22 self.assertRaises(xmlrpclib.ProtocolError, xmlrpclib.Server("https://test2:test@localhost:8000").status) |
|
23 self.assertRaises(xmlrpclib.ProtocolError,xmlrpclib.Server ("https://test:test2@localhost:8000").status) |
|
24 |
|
25 def testsendSMS(self): |
|
26 servstr="https://test:test@localhost:8000" |
|
27 client=xmlrpclib.Server(servstr) |
|
28 id=client.startSMS("test",["01234", ] ) |
|
29 self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name': 'test'}} ) |
|
30 |
|
31 def testTwoUser(self): |
|
32 u1="https://test:test@localhost:8000" |
|
33 u2="https://test2:test2@localhost:8000" |
|
34 admin="https://admin:admin@localhost:8000" |
|
35 client1=xmlrpclib.Server(u1) |
|
36 client2=xmlrpclib.Server(u2) |
|
37 admin=xmlrpclib.Server(admin) |
|
38 id1=client1.startSMS("test",["01234"] ) |
|
39 self.assertEqual(client2.status(),{} ) |
|
40 self.assertEqual(admin.status(id1),{id1: {'status': ['init', {}], 'name': 'test'}} ) |
|
41 id2=client2.startSMS("test2",["01234"] ) |
|
42 self.assertNotEqual(id1, id2) |
|
43 self.assertEqual(client1.status(),{id1: {'status': ['init', {}], 'name': 'test'}}) |
|
44 self.assertEqual(client2.status(),{id2: {'status': ['init', {}], 'name': 'test2'}}) |
|
45 self.assertEqual(admin.status(),{id1: {'status': ['init', {}], 'name': 'test'}, |
|
46 id2: {'status': ['init', {}], 'name': 'test2'}} ) |
|
47 |
|
48 self.assertEqual(client2.status(id1), {}) |
|
49 self.assertEqual(client1.status(id2), {}) |
|
50 |
|
51 def testGetProvider(self): |
|
52 servstr="https://test:test@localhost:8000" |
|
53 client=xmlrpclib.Server(servstr) |
|
54 self.assertEqual(client.getProvider("sms"), ["fax.de","geonet", "sipgate", "smstrade"]) |
|
55 self.assertEqual(client.getProvider("fax"), ["fax.de","geonet", "sipgate"]) |
|
56 self.assertEqual(client.getProvider("mail"), ["localhost"]) |
|
57 |
|
58 self.assertRaises(xmlrpclib.ProtocolError,client.getProvider, "temp") |
|
59 |
|
60 def testGetDefault(self): |
|
61 servstr="https://test:test@localhost:8000" |
|
62 client=xmlrpclib.Server(servstr) |
|
63 self.assertEqual(client.getDefaultProvider("sms"), "smstrade") |
|
64 self.assertEqual(client.getDefaultProvider("fax"),"sipgate") |
|
65 self.assertEqual(client.getDefaultProvider("mail"), "localhost") |
|
66 |
|
67 self.assertRaises(xmlrpclib.ProtocolError,client.getDefaultProvider, "temp") |
|
68 |
|
69 |
|
70 if __name__ == "__main__": |
|
71 unittest.main() |
|