summaryrefslogtreecommitdiffstats
path: root/Controller
diff options
context:
space:
mode:
authorMac-Linux2011-07-27 18:30:10 +0200
committerMac-Linux2011-07-27 18:30:10 +0200
commit20ae34a577fdba1f28a35f2ef771f0ecfecdf6b1 (patch)
treeb01d033bc0da8676e5655108ac294ac0d3d69285 /Controller
parentchanging test (diff)
downloadgsm-selftest-20ae34a577fdba1f28a35f2ef771f0ecfecdf6b1.tar.gz
gsm-selftest-20ae34a577fdba1f28a35f2ef771f0ecfecdf6b1.tar.xz
gsm-selftest-20ae34a577fdba1f28a35f2ef771f0ecfecdf6b1.zip
take gsm handler from refik folder to being part of the test
Diffstat (limited to 'Controller')
-rw-r--r--Controller/Controller.py99
-rw-r--r--Controller/ControllerClass.py29
-rwxr-xr-xController/gsmselftest.py271
3 files changed, 281 insertions, 118 deletions
diff --git a/Controller/Controller.py b/Controller/Controller.py
deleted file mode 100644
index 67c1870..0000000
--- a/Controller/Controller.py
+++ /dev/null
@@ -1,99 +0,0 @@
-import sys
-import ClientClass
-import DbClass
-import ControllerClass
-import classCheck
-import PingClass
-from time import sleep
-
-
-def ping(handler):
-
- global serverStatus
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- serverStatus = server.ping(3)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- serverStatus = server.ping(3)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- serverStatus = server.ping(3)
-
- elif handler == 'gsmr1':
- server = PingClass.Ping('localhost')
- serverStatus = server.ping(3)
-
- elif handler == 'gsmr2':
- server = PingClass.Ping('132.230.4.64')
- serverStatus = server.ping(3)
-
-
-db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-db.connectDB()
-dbStatus = db.connectDB()
-#serverStatus = None
-
-if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
- for index in range(len(db.tasksList)):
- item = db.tasksList[index]
- tempItem = item
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- testDone = item[4]
-
- destination = db.deviceAddress(str(callTo))
-
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- recAdd = destination[0]
- destNo = destination[1]
-
- if callFrom == 'unisip':
- destNo = destNo[7:]
-
- if testDone == str(0):
- print '\n'
- print "Task ID: ", taskID
- print "Calling From: ", callFrom
- print "To: ", callTo
- print "number: ", destNo
-
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
-
- makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
- makeTest.FuncTest()
-
- db.addResult(taskID, makeTest.testResult)
-
- if makeTest.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- print "Result :", makeTest.testResult
- tempItem[4]=str(1)
- db.deleteTempTask(taskID)
- db.tasksList[index]=tempItem
- sleep(3)
- else:
- print "[failed] 500 "+callTo+ " Server Internal Error"
- else:
- print "[failed] 500 "+callFrom+ " Server Internal Error"
- db.cleanTasksList()
- else:
- print "No job at all"
-else:
- sys.exit(5)
-
diff --git a/Controller/ControllerClass.py b/Controller/ControllerClass.py
index db3b792..04c9614 100644
--- a/Controller/ControllerClass.py
+++ b/Controller/ControllerClass.py
@@ -69,8 +69,8 @@ class test:
self.receiver.closeConnection()
else:
- logger.logEvent('xxx General Handler Error: Could not connect Destination handler')
- self.testResult = 999
+ logger.logEvent('998 General Handler Error: Could not connect Destination handler')
+ self.testResult = 998
self.caller.sendData('TERMINATE CONNECTION')
self.caller.closeConnection()
else:
@@ -81,30 +81,21 @@ class test:
else:
self.testResult = 999
- logger.logEvent('xxx General Handler Error: Could not connect to Caller handler')
+ logger.logEvent('999 General Handler Error: Could not connect to Caller handler')
def waitingFeedback(self):
- logger.logEvent('waiting Feedback')
- self.resultCaller = self.caller.receiveData(120)
- self.resultDest = self.receiver.receiveData(120)
+ logger.logEvent('Waiting Feedback')
+ self.resultCaller = self.caller.receiveData(60)
+ self.resultDest = self.receiver.receiveData(60)
if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
-
- self.startCall()
- self.resultCaller = self.caller.receiveData(60)
- self.resultDest = self.receiver.receiveData(60)
-
- #if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
+
+ logger.logEvent('Test Failed')
self.testResult = 486
- #self.repeatTest = True
- #logger.logEvent('Failed')
- #self.initTerminate()
- #else:
- #self.testResult = 200
- #logger.logEvent('Test Succeed')
- #self.initTerminate()
+ self.repeatTest = True
+ self.initTerminate()
else:
logger.logEvent('Test Succeed')
diff --git a/Controller/gsmselftest.py b/Controller/gsmselftest.py
new file mode 100755
index 0000000..400970f
--- /dev/null
+++ b/Controller/gsmselftest.py
@@ -0,0 +1,271 @@
+#! /usr/bin/env python
+import sys
+import ControllerClass
+import DbClass
+import PingClass
+import DeviceAddress
+from time import sleep
+
+def ping(handler):
+
+ global serverStatus
+
+ if handler == 'landline':
+ server = PingClass.Ping('sipgate.de')
+ serverStatus = server.ping(3)
+
+ elif handler == 'sip':
+ server = PingClass.Ping('132.230.4.8')
+ serverStatus = server.ping(3)
+
+ elif handler == 'unisip':
+ server = PingClass.Ping('132.230.252.228')
+ serverStatus = server.ping(3)
+
+ elif handler == 'gsmr1':
+ server = PingClass.Ping('localhost')
+ serverStatus = server.ping(3)
+
+ elif handler == 'gsmr2':
+ server = PingClass.Ping('132.230.4.64')
+ serverStatus = server.ping(3)
+
+
+def doTest(callFrom,callTo):
+ global testResult
+
+ ping(callFrom)
+ device = DeviceAddress.DeviceAddress()
+
+ if serverStatus <> 0:
+
+ ping(callTo)
+ if serverStatus <> 0:
+ device.findDevice(callTo)
+ recAdd = device.add
+ destNo = str(device.num)
+
+ device.findDevice(callFrom)
+ callAdd = device.add
+
+ print '\n'
+ print "Caller: ", callFrom
+ print 'Destination: ', callTo
+ makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
+ makeTest.FuncTest()
+
+ #db.addResult(taskID, makeTest.testResult)
+
+ if makeTest.repeatTest == True:
+ testRepeat = True
+
+ print "Result :", makeTest.testResult
+
+ #db.deleteTempTask(taskID)
+ #db.tasksList.remove(item)
+ #db.tasksList.insert(i,'')
+ sleep(3)
+ else:
+ print "[failed] 500 "+callTo+ " Server Internal Error"
+ else:
+ print "[failed] 500 "+callFrom+ " Server Internal Error"
+
+def doSipTest():
+
+ print '--SIP Part Test--'
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
+ #destList = ['unisip']
+ for callTo in destList:
+
+ callFrom = 'sip'
+ if callFrom <> callTo:
+ doTest(callFrom, callTo)
+
+def doLandlineTest():
+
+ print '--Landline Part Test--'
+ destList = ['gsmr1', 'gsmr2', 'gsmr3', 'sip']
+
+ for callTo in destList:
+
+ callFrom = 'landline'
+ doTest(callFrom, callTo)
+
+def doGsmrzTest():
+
+ print '--GSM Part Test--'
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
+ calllist = ['gsmr1','gsmr2', 'gsmr3']
+
+ for callFrom in calllist:
+
+ for callTo in destList:
+ if callTo <> callFrom:
+ doTest(callFrom, callTo)
+
+ doGsmExtTest()
+
+def doGsmExtTest():
+
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3']
+
+ for callTo in destList:
+
+ callFrom = 'gsmeO'
+ doTest(callFrom, callTo)
+
+ callFrom = 'gsmeV'
+ doTest(callFrom, callTo)
+
+ callFrom = 'gsmeT'
+ doTest(callFrom, callTo)
+
+ callFrom = 'gsmeE'
+ doTest(callFrom, callTo)
+
+def doAllTest():
+
+ doSipTest()
+ doLandlineTest()
+ doGsmTest()
+
+if len(sys.argv) > 1:
+
+ command = sys.argv[1]
+ print '\n'
+
+ if command == '--all':
+ doAllTest()
+
+ elif command == '--sip':
+ doSipTest()
+
+ elif command == '--gsm':
+ doGsmTest()
+
+ elif command == '--landline':
+ doLandlineTest()
+
+ elif command == '--help':
+ file = open('help.txt', 'r')
+ print file.read()
+
+ else:
+ print "command not found, Type '--help', '--copyright', '--credits' or '--license' for more information."
+ print '\n'
+else:
+ print '\n'
+ db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
+ db.connectDB()
+ dbStatus = db.connectDB()
+
+ if dbStatus == 1:
+
+ if db.anyTasksToDo() == 1:
+
+ allPing()
+ i=0
+ for item in db.tasksList:
+ taskID = item[0]
+ taskNo = item[1]
+ callFrom = item[2]
+ callTo = item[3]
+
+ destination = db.deviceAddress(str(callTo))
+
+ caller = db.deviceAddress(str(callFrom))
+
+ callAdd = caller[0]
+ recAdd = destination[0]
+ destNo = destination[1]
+
+ #if i == 0:
+ # db.updatePingResult(taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2)
+
+ if callFrom == 'unisip':
+ destNo = destNo[7:]
+
+ print '\n'
+ print "Task ID: ", taskID
+ print "Calling From: ", callFrom
+ print "To: ", callTo
+ print "number: ", destNo
+
+ ping(callFrom)
+
+ if serverStatus <> 0:
+
+ ping(callTo)
+ if serverStatus <> 0:
+
+ makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
+ makeTest.FuncTest()
+
+ db.addResult(taskID, makeTest.testResult)
+
+ if makeTest.repeatTest == True:
+ db.insertTaskIn2(callTo,callFrom,taskNo)
+
+ print "Result :", makeTest.testResult
+
+ db.deleteTempTask(taskID)
+ db.tasksList.remove(item)
+ db.tasksList.insert(i,'')
+ i = i+1
+
+ sleep(3)
+ else:
+ print "[failed] 500 "+callTo+ " Server Internal Error"
+ else:
+ print "[failed] 500 "+callFrom+ " Server Internal Error"
+ db.cleanTasksList()
+ else:
+ print "No job at all"
+ else:
+ sys.exit(5)
+
+
+
+def allPing():
+
+ global sipGate
+ global sipServer
+ global sipLoc
+ global gsmBox1
+ global gsmBox2
+
+ server = PingClass.Ping('sipgate.de')
+ sipGate = server.ping(3)
+
+ server = PingClass.Ping('132.230.4.8')
+ sipServer = server.ping(3)
+
+ server = PingClass.Ping('132.230.252.228')
+ sipLoc = server.ping(3)
+
+ server = PingClass.Ping('localhost')
+ gsmBox1 = server.ping(3)
+
+ server = PingClass.Ping('132.230.4.64')
+ gsmBox2 = server.ping(3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+