iro/tests/testXMLRPCServer.py
changeset 302 3f4bdea2abbf
parent 90 eb04ac3a8327
parent 301 d5ebbcccc41b
child 303 9708742ff89c
equal deleted inserted replaced
90:eb04ac3a8327 302:3f4bdea2abbf
     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()