# HG changeset patch # User Sandro Knauß # Date 1286159308 -7200 # Node ID 254c00f3cbe024aad0a1ce383290d47a4dc0b48f # Parent 6e5bd561ddd053d725f5885b2aa62eedaa29c3ec nun ProtocolError anstatt normales Fault test Server: -richtiges Beenden via timeout möglich; -richtiger Gebauch des running Parameters -with kompatible diff -r 6e5bd561ddd0 -r 254c00f3cbe0 iro/anbieter/anbieter.py --- a/iro/anbieter/anbieter.py Mon Feb 08 01:18:59 2010 +0100 +++ b/iro/anbieter/anbieter.py Mon Oct 04 04:28:28 2010 +0200 @@ -21,14 +21,3 @@ pass def sendMail(self,mail,recipients): pass - - - - - - - - - - - diff -r 6e5bd561ddd0 -r 254c00f3cbe0 iro/test.py --- a/iro/test.py Mon Feb 08 01:18:59 2010 +0100 +++ b/iro/test.py Mon Oct 04 04:28:28 2010 +0200 @@ -10,22 +10,39 @@ from multiprocessing.managers import BaseManager class StoppableXMLRPCServer(iro.SecureUserDBXMLRPCServer, threading.Thread): - running=True + running=False def __init__(self, *args, **kwargs): iro.SecureUserDBXMLRPCServer.__init__(self, *args, **kwargs) threading.Thread.__init__(self) + self.timeout=.5 + def start(self): + self.running=True + threading.Thread.start(self) + def run(self): # *serve_forever* muss in einem eigenen Thread laufen, damit man es - # unterbrechen kann! + # unterbrochen werden kann! while (self.running): self.handle_request() - def stop(self): - self.running=False - self.server_close() + if (self.running): + self.running=False + self.server_close() + self.join() + + def __del__(self): + self.stop() + + def __enter__(self): + self.start() + return self + + def __exit__(self,type,value,traceback): + self.stop() + def init_server(): @@ -79,7 +96,8 @@ key=cp.get('server', 'key') serv = StoppableXMLRPCServer(addr=("localhost", 8000), userdb=userdb, - certificate=cert,privatekey=key) + certificate=cert,privatekey=key, + logRequests=False) serv.relam="xmlrpc" return serv @@ -87,12 +105,11 @@ class TestServer(unittest.TestCase): def setUp(self): - self.serv = init_server() - self.serv.start() + self.serv = init_server() + self.serv.start() def tearDown(self): - self.serv.stop() - xmlrpclib.Server("https://test:test@localhost:8000").status() #letzte nachricht abrufen, damit richt geschlossen wird + self.serv.stop() def testLogin(self): self.assertEqual(xmlrpclib.Server("https://test:test@localhost:8000").status(), {}) @@ -133,7 +150,7 @@ self.assertEqual(client.getProvider("fax"), ["fax.de","geonet", "sipgate"]) self.assertEqual(client.getProvider("mail"), ["localhost"]) - self.assertRaises(xmlrpclib.Fault,client.getProvider, "temp") + self.assertRaises(xmlrpclib.ProtocolError,client.getProvider, "temp") def testGetDefault(self): servstr="https://test:test@localhost:8000" @@ -142,7 +159,7 @@ self.assertEqual(client.getDefaultProvider("fax"),"sipgate") self.assertEqual(client.getDefaultProvider("mail"), "localhost") - self.assertRaises(xmlrpclib.Fault,client.getDefaultProvider, "temp") + self.assertRaises(xmlrpclib.ProtocolError,client.getDefaultProvider, "temp") if __name__ == "__main__":