reconnect test

This commit is contained in:
Marcel Nijenhof
2020-11-08 13:12:53 +01:00
parent 57f6619c80
commit 17301b70b3
2 changed files with 17 additions and 3 deletions

View File

@@ -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

View File

@@ -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