summaryrefslogblamecommitdiffstats
path: root/For Weekly Test/30-07-2011/Controller.py
blob: e4a4566778876c256ddf0ba57e18e3246cabec2f (plain) (tree)
1
2
3
4



                      


























                                                          

 
                                                                                          

                         

                 

                                  

                                         



                                          

                                                                   
 







                                                                
 
                        






                                                           
 
                                             
 

                                                     
 

                                                                                                                        
                                












                                                                                        
                                     


                                                                                              
                                   

                                     


                   
import sys
import ClientClass
import DbClass
import ControllerClass
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()

if dbStatus == 1:
	
	if db.anyTasksToDo() == 1:
		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 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)