# -*- coding: utf-8 -*-
import unittest
import xmlrpclib
from stopableServer import init_server
class TestServer(unittest.TestCase):
def setUp(self):
self.i = init_server()
self.serv=self.i.serv
self.serv.start()
def tearDown(self):
self.serv.stop()
def testLogin(self):
self.assertEqual(xmlrpclib.Server("https://test:test@localhost:8000").status(), {})
self.assertEqual(xmlrpclib.Server("https://test2:test2@localhost:8000").status(), {})
self.assertRaises(xmlrpclib.ProtocolError, xmlrpclib.Server("https://test2:test@localhost:8000").status)
self.assertRaises(xmlrpclib.ProtocolError,xmlrpclib.Server ("https://test:test2@localhost:8000").status)
def testsendSMS(self):
servstr="https://test:test@localhost:8000"
client=xmlrpclib.Server(servstr)
id=client.startSMS("test",["01234", ] )
self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name': 'test'}} )
def testTwoUser(self):
u1="https://test:test@localhost:8000"
u2="https://test2:test2@localhost:8000"
admin="https://admin:admin@localhost:8000"
client1=xmlrpclib.Server(u1)
client2=xmlrpclib.Server(u2)
admin=xmlrpclib.Server(admin)
id1=client1.startSMS("test",["01234"] )
self.assertEqual(client2.status(),{} )
self.assertEqual(admin.status(id1),{id1: {'status': ['init', {}], 'name': 'test'}} )
id2=client2.startSMS("test2",["01234"] )
self.assertNotEqual(id1, id2)
self.assertEqual(client1.status(),{id1: {'status': ['init', {}], 'name': 'test'}})
self.assertEqual(client2.status(),{id2: {'status': ['init', {}], 'name': 'test2'}})
self.assertEqual(admin.status(),{id1: {'status': ['init', {}], 'name': 'test'},
id2: {'status': ['init', {}], 'name': 'test2'}} )
self.assertEqual(client2.status(id1), {})
self.assertEqual(client1.status(id2), {})
def testGetProvider(self):
servstr="https://test:test@localhost:8000"
client=xmlrpclib.Server(servstr)
self.assertEqual(client.getProvider("sms"), ["fax.de","geonet", "sipgate", "smstrade"])
self.assertEqual(client.getProvider("fax"), ["fax.de","geonet", "sipgate"])
self.assertEqual(client.getProvider("mail"), ["localhost"])
self.assertRaises(xmlrpclib.ProtocolError,client.getProvider, "temp")
def testGetDefault(self):
servstr="https://test:test@localhost:8000"
client=xmlrpclib.Server(servstr)
self.assertEqual(client.getDefaultProvider("sms"), "smstrade")
self.assertEqual(client.getDefaultProvider("fax"),"sipgate")
self.assertEqual(client.getDefaultProvider("mail"), "localhost")
self.assertRaises(xmlrpclib.ProtocolError,client.getDefaultProvider, "temp")
if __name__ == "__main__":
unittest.main()