import sys import os import subprocess import classClient import classDb import classPing import LogFileClass logger = LogFileClass.Logging('classController.log') from time import sleep class test: def __init__(self, orig, dest, destNo): self.orig = orig self.dest = dest self.destNo = destNo self.repeatTest = None self.portOrig = None self.portDest = None self.resultOrig = None self.resultDest = None self.testResult = None self.caller = None self.receiver = None self.add = None def FuncTest(self): logger.logEvent('') try: if self.orig =="gsmBox1": self.portOrig = 50095 self.add = '' elif self.orig =="gsmBox2": self.portOrig = 50096 self.add = '' elif self.orig =="gsmBox3": self.portOrig = 50097 self.add = '' else: self.portOrig = '50099' self.add = 'localhost' command="--command=python sipHandler.py " +self.portOrig subprocess.Popen(args=["gnome-terminal", command]) sleep(3) caller = classClient.Connection(self.add,self.portOrig) caller.connect() message = self.orig+ '|-C' caller.sendData(message) origHandler = caller.receiveData(60) if origHandler == "ready": logger.logEvent('Caller handler : Ready') try: if self.dest =="gsmBox1": self.portDest = 50102 self.add = '' if self.dest =="gsmBox2": self.portDest = 50103 self.add = '' if self.dest =="gsmBox3": self.portDest = 50103 self.add = '' else: self.portDest = '50100' command="--command=python sipHandler.py " +self.portDest subprocess.Popen(args=["gnome-terminal", command]) sleep(3) receiver = classClient.Connection('localhost', self.portDest) receiver.connect() message = self.dest+ '|-R' receiver.sendData(message) destHandler = receiver.receiveData(0) if destHandler == "ready": caller.sendData("start|"+self.destNo) self.resultOrig = caller.receiveData(60) self.resultDest = receiver.receiveData(60) logger.logEvent('1st Test, Origin :' +self.resultOrig) logger.logEvent('1st Test, Destination :' +self.resultDest) if self.resultOrig == 486 or self.resultDest == 486: caller.sendData("start|"+self.destNo) self.resultOrig = caller.receiveData(60) self.resultDest = receiver.receiveData(60) logger.logEvent('2nd Test, Origin :' +self.resultOrig) logger.logEvent('2nd Test, Destination :' +self.resultDest) if self.resultOrig == 486 or self.resultDest == 486: self.testResult = 486 self.repeatTest = True else: self.testResult = 200 caller.sendData('487') receiver.sendData('487') else: self.testResult = 200 caller.sendData('487') receiver.sendData('487') else: self.testResult = 604 logger.logEvent('604 General Handler Error: Destination handler no respond timeout') caller.sendData('487') receiver.closeConnection() except ValueError: logger.logEvent('601 General Handler Error: Could not open Destination handler') self.testResult = 601 caller.sendData('487') caller.closeConnection() else: self.testResult = 605 logger.logEvent('605 General Handler Error: Origin handler no respond timeout') caller.closeConnection() except ValueError: self.testResult = 602 logger.logEvent('602 General Handler Error: Could not open Origin handler')