nun ProtocolError anstatt normales Fault
test Server:
-richtiges Beenden via timeout möglich;
-richtiger Gebauch des running Parameters
-with kompatible
--- 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
-
-
-
-
-
-
-
-
-
-
-
--- 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__":