diff --git a/lmwsip/tests/__init__.py b/lmwsip/tests/__init__.py index 4188199..08a53c5 100755 --- a/lmwsip/tests/__init__.py +++ b/lmwsip/tests/__init__.py @@ -11,6 +11,7 @@ from lmwsip.tests.stubSipServer import sipServer from lmwsip.run import run from datetime import datetime, timedelta from dateutil import tz +from time import sleep class myTestArgs(): pass @@ -22,10 +23,11 @@ class lmwsipTest(unittest.TestCase): self.sip = None self.sipserver.run() - def login(self): + def login(self, **args): log = logging.basicConfig(level=logging.DEBUG) self.sip = lmwsip.LmwSip("USER", "PASS", "localhost", - self.sipserver.port, ssl=False, log=log) + self.sipserver.port, ssl=False, + log=log, **args) def tearDown(self): if self.sip: @@ -96,6 +98,11 @@ class lmwsipTest(unittest.TestCase): self.sip.send("CLOSE") self.assertEqual(type(self.sip.cmd("WN", "DUMMY", "D10", "+00:59", "2020-01-01", "00:00")), str) + def test_reconnect(self): + self.login(reconnecttime=1) + sleep(2) + self.assertEqual(self.sip.sendrecv("LOGOUTCOUNT"), "1\r") + def test_run(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput diff --git a/lmwsip/tests/stubSipServer.py b/lmwsip/tests/stubSipServer.py index f7baf21..5859ec5 100755 --- a/lmwsip/tests/stubSipServer.py +++ b/lmwsip/tests/stubSipServer.py @@ -41,8 +41,9 @@ import time import random import socketserver -class sipProtocol(socketserver.BaseRequestHandler): +logoutcount=0 +class sipProtocol(socketserver.BaseRequestHandler): def match(self, m): return(self.data.find(m.encode()) == 0) @@ -78,6 +79,7 @@ class sipProtocol(socketserver.BaseRequestHandler): self.send(res) def handle(self): + global logoutcount self.read() while self.data: if self.match("LI USER,PASS"): @@ -86,7 +88,10 @@ class sipProtocol(socketserver.BaseRequestHandler): self.send("! 20-JAN-01 00:00:00") elif self.match("WN LMW,DUMMY,D10"): self.meting() + elif self.match("LOGOUTCOUNT"): + self.send(str(logoutcount)) elif self.match("LO"): + logoutcount+=1 self.send("!") elif self.match("CLOSE"): self.request.close() @@ -115,4 +120,6 @@ class sipServer(socketserver.TCPServer): self.server_close() if __name__ == '__main__': + s = sipServer() + s.run() pass