iro/tests/testXMLRPCServer.py
author Sandro Knauß <knauss@netzguerilla.net>
Tue, 05 Oct 2010 01:45:32 +0200
changeset 39 31a2b1cd4981
parent 38 iro/test.py@254c00f3cbe0
child 43 72c472c87460
permissions -rw-r--r--
anpassung der tests auf ein eigenes Verzeichnis
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     2
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
     3
import unittest, ConfigParser
39
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
     4
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     5
import threading, xmlrpclib
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     6
from multiprocessing import Queue
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     7
from multiprocessing.managers import BaseManager
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     8
39
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
     9
from iro import xmlrpc,anbieter
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    10
from iro.iro import MySMTP,MySmstrade,MyUserDB
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    11
from iro.job import SMSJob, FAXJob, MailJob
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    12
from iro.joblist import Joblist
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    13
from iro.providerlist import Providerlist
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    14
from iro.user import User, Admin
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    15
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    16
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    17
class StoppableXMLRPCServer(xmlrpc.SecureUserDBXMLRPCServer, threading.Thread):
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    18
    running=False
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    19
    def __init__(self, *args, **kwargs):
39
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    20
        xmlrpc.SecureUserDBXMLRPCServer.__init__(self, *args, **kwargs)
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    21
        threading.Thread.__init__(self)
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    22
        self.timeout=.5
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    23
   
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    24
    def start(self):
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    25
        self.running=True
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    26
        threading.Thread.start(self)
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    27
 
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    28
   
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    29
    def run(self):
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    30
        # *serve_forever* muss in einem eigenen Thread laufen, damit man es
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    31
        # unterbrochen werden kann!
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    32
        while (self.running):
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    33
            self.handle_request()
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    34
   
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    35
    def stop(self):
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    36
        if (self.running):
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    37
            self.running=False
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    38
            self.server_close()
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    39
            self.join()
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    40
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    41
    def __del__(self):
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    42
        self.stop()
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    43
 
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    44
    def __enter__(self):
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    45
        self.start()
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    46
        return self
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    47
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    48
    def __exit__(self,type,value,traceback):
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    49
        self.stop()
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
    50
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    51
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    52
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    53
def init_server():
39
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    54
    userlist=[{"name":"test","password":"test",  "class":User},
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    55
              {"name":"test2","password":"test2", "class": User},
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    56
              {"name":"admin","password":"admin", "class": Admin}]
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    57
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    58
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    59
    
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    60
    class MyManager(BaseManager):
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    61
        pass
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    62
    
30
5253631a8dd3 sms via sipgate working
Sandro Knauß <knauss@netzguerilla.net>
parents: 7
diff changeset
    63
    MyManager.register('SMSJob', SMSJob) 
5253631a8dd3 sms via sipgate working
Sandro Knauß <knauss@netzguerilla.net>
parents: 7
diff changeset
    64
    MyManager.register('FAXob', FAXJob) 
5253631a8dd3 sms via sipgate working
Sandro Knauß <knauss@netzguerilla.net>
parents: 7
diff changeset
    65
    MyManager.register('MailJob',MailJob) 
5253631a8dd3 sms via sipgate working
Sandro Knauß <knauss@netzguerilla.net>
parents: 7
diff changeset
    66
    MyManager.register('Providerlist',Providerlist) 
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    67
    manager = MyManager()
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    68
    manager.start()
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    69
    
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    70
    
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    71
    #anbieter erzeugen und konfigurieren
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    72
    sip=anbieter.sipgate()
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    73
    sip.read_basic_config("iro.conf")
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
    74
    
39
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    75
    localhost=MySMTP()
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
    76
    localhost.read_basic_config("iro.conf")
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
    77
39
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    78
    smstrade=MySmstrade()
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
    79
    smstrade.read_basic_config("iro.conf")
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    80
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    81
    #Benutzerdatenbank erstellen
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    82
    queue = Queue()
7
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    83
    provider=Providerlist()
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    84
    provider.add("sipgate", sip, ["sms", "fax", ])
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    85
    provider.add("smstrade", smstrade, ["sms", ])
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    86
    provider.add("geonet", None, ["sms", "fax", ])
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    87
    provider.add("fax.de", None, ["sms", "fax", ])
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    88
    provider.add("localhost", localhost, ["mail", ])
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    89
    provider.setDefault("sms","smstrade")
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    90
    provider.setDefault("fax","sipgate")
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    91
    provider.setDefault("mail","localhost")
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
    92
    jobqueue=Joblist(manager,  queue, provider)
39
31a2b1cd4981 anpassung der tests auf ein eigenes Verzeichnis
Sandro Knauß <knauss@netzguerilla.net>
parents: 38
diff changeset
    93
    userdb=MyUserDB(userlist,jobqueue)
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    94
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    95
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    96
    #Server starten
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
    97
    cp = ConfigParser.ConfigParser()
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
    98
    cp.read(["iro.conf"])
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
    99
    cert=cp.get('server', 'cert')
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   100
    key=cp.get('server', 'key')
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   101
    serv = StoppableXMLRPCServer(addr=("localhost", 8000), 
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   102
                                      userdb=userdb,
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
   103
                                      certificate=cert,privatekey=key,
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
   104
                                      logRequests=False)
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   105
    serv.relam="xmlrpc"
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   106
    return serv
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   107
 
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   108
    
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   109
class TestServer(unittest.TestCase):
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   110
    
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   111
    def setUp(self):
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
   112
        self.serv = init_server()
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
   113
        self.serv.start()
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   114
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   115
    def tearDown(self):
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
   116
        self.serv.stop()
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   117
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   118
    def testLogin(self):
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   119
        self.assertEqual(xmlrpclib.Server("https://test:test@localhost:8000").status(), {})
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   120
        self.assertEqual(xmlrpclib.Server("https://test2:test2@localhost:8000").status(), {})
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   121
        self.assertRaises(xmlrpclib.ProtocolError, xmlrpclib.Server("https://test2:test@localhost:8000").status)
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   122
        self.assertRaises(xmlrpclib.ProtocolError,xmlrpclib.Server ("https://test:test2@localhost:8000").status)
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   123
    
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   124
    def testsendSMS(self):
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   125
        servstr="https://test:test@localhost:8000"
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   126
        client=xmlrpclib.Server(servstr)
7
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   127
        id=client.startSMS("test",["01234", ] )
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   128
        self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name':  'test'}} )
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   129
        
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   130
    def testTwoUser(self):
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   131
        u1="https://test:test@localhost:8000"
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   132
        u2="https://test2:test2@localhost:8000"
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   133
        admin="https://admin:admin@localhost:8000"
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   134
        client1=xmlrpclib.Server(u1)
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   135
        client2=xmlrpclib.Server(u2)
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   136
        admin=xmlrpclib.Server(admin)
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   137
        id1=client1.startSMS("test",["01234"] )
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   138
        self.assertEqual(client2.status(),{} ) 
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   139
        self.assertEqual(admin.status(id1),{id1: {'status': ['init',{}], 'name':  'test'}} )
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   140
        id2=client2.startSMS("test2",["01234"] )
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   141
        self.assertNotEqual(id1, id2)
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   142
        self.assertEqual(client1.status(),{id1: {'status': ['init',{}], 'name':  'test'}})
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   143
        self.assertEqual(client2.status(),{id2: {'status': ['init',{}], 'name':  'test2'}})
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   144
        self.assertEqual(admin.status(),{id1: {'status': ['init',{}], 'name':   'test'},
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   145
                        id2: {'status': ['init',{}], 'name':   'test2'}} )
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   146
        
30
5253631a8dd3 sms via sipgate working
Sandro Knauß <knauss@netzguerilla.net>
parents: 7
diff changeset
   147
        self.assertEqual(client2.status(id1), {})
5253631a8dd3 sms via sipgate working
Sandro Knauß <knauss@netzguerilla.net>
parents: 7
diff changeset
   148
        self.assertEqual(client1.status(id2), {})
5
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   149
        
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   150
    def testGetProvider(self):
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   151
        servstr="https://test:test@localhost:8000"
af2f45da3192 added getProvider Test
Sandro Knauß <knauss@netzguerilla.net>
parents: 0
diff changeset
   152
        client=xmlrpclib.Server(servstr)       
6
c5672760138b user interface erweitert
Sandro Knauß <knauss@netzguerilla.net>
parents: 5
diff changeset
   153
        self.assertEqual(client.getProvider("sms"), ["fax.de","geonet", "sipgate", "smstrade"])
7
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   154
        self.assertEqual(client.getProvider("fax"), ["fax.de","geonet", "sipgate"])
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   155
        self.assertEqual(client.getProvider("mail"), ["localhost"])
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   156
        
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
   157
        self.assertRaises(xmlrpclib.ProtocolError,client.getProvider, "temp")
7
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   158
    
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   159
    def testGetDefault(self):
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   160
        servstr="https://test:test@localhost:8000"
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   161
        client=xmlrpclib.Server(servstr)       
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   162
        self.assertEqual(client.getDefaultProvider("sms"), "smstrade")
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   163
        self.assertEqual(client.getDefaultProvider("fax"),"sipgate")
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   164
        self.assertEqual(client.getDefaultProvider("mail"), "localhost")       
07dd2663ac90 provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents: 6
diff changeset
   165
        
38
254c00f3cbe0 nun ProtocolError anstatt normales Fault
Sandro Knauß <knauss@netzguerilla.net>
parents: 30
diff changeset
   166
        self.assertRaises(xmlrpclib.ProtocolError,client.getDefaultProvider, "temp")        
6
c5672760138b user interface erweitert
Sandro Knauß <knauss@netzguerilla.net>
parents: 5
diff changeset
   167
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   168
    
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   169
if __name__ == "__main__":
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   170
    unittest.main()