summaryrefslogtreecommitdiffstats
path: root/For Weekly Test/07-07-2011/Controller-SecondType.py
diff options
context:
space:
mode:
Diffstat (limited to 'For Weekly Test/07-07-2011/Controller-SecondType.py')
-rw-r--r--For Weekly Test/07-07-2011/Controller-SecondType.py308
1 files changed, 0 insertions, 308 deletions
diff --git a/For Weekly Test/07-07-2011/Controller-SecondType.py b/For Weekly Test/07-07-2011/Controller-SecondType.py
deleted file mode 100644
index 31df36c..0000000
--- a/For Weekly Test/07-07-2011/Controller-SecondType.py
+++ /dev/null
@@ -1,308 +0,0 @@
-import sys
-import os
-import re
-import time
-import MySQLdb
-import subprocess
-
-
-import classClient #import class socket
-import classDb #import class db
-
-from time import sleep
-from datetime import datetime
-
-
-user = 'root'
-passw = 'randompasswordSQL' #default password we agree with this password before!
-host = 'localhost'
-dbname = 'gsmselftesting'
-
-stop = "False"
-status = ""
-dbSStatus = ""
-
-
-#function to ping
-def FuncPing(host):
- ping_cmd = os.popen('ping '+ host + ' -c 1 -W 1').read()
- pingAlive = int(string.find(ping_cmd, '1 received'))
- if pingAlive != -1:
- return 1
- else:
- return 0
-
-
-# One function for all test case
-
-def FuncTest(orig, origAdd, dest, destAdd, destNo):
-
- global repeatTest
- global portOrig
- global resultOrig
- global resultDest
- global x
- global y
- portOrig = None
- resultOrig= None
- resultDest = None
-
-
- repeatTest = ""
-
- try:
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portOrig = 50095
-
- if dest =="gsmBox2":
- portOrig = 50096
-
- print "GSM server handler", x.connect()
- x.sendData('hello server please wakeup the handler and be caller')
-
- else:
- # open SIP caller handler
-
- command="--command=python " +orig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- if orig=="SIPCall.py":
- portOrig = 50097
-
- if orig=="gsmcall_.py":
- portOrig = 50098
-
- if orig == "landlineCall.py":
- portOrig = 50099
-
- if orig == "LocalSIPCall.py":
- portOrig = 50100
-
- #else: #mean external GSM
- # print "have not yet define"
- #portOrig = 50101
-
- x = classClient.Connection(origAdd,portOrig)
- print ""
- print "Caller handler status:", x.connect()
-
- x.sendData('hello Handler')
-
- # wait respond from origin handler
- while 1:
- origHandler = x.receiveData()
- if origHandler <> "":
- break
- #think about time out
-
- if origHandler == "ready":
- print "Caller handler ready"
- print ""
- try:
- y = None
- global portDest
- portDest = None
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portDest = 50102
-
- if dest =="gsmBox2":
- portDest = 50103
-
- y = classClient.Connection(destAdd,portDest)
- print "GSM handler", y.connect()
- y.sendData('hello server please wakeup the handler and be receiver')
-
- else:
- command="--command=python " +dest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(2)
-
- if dest=="SIPIncoming.py":
- portDest = 50104
-
- if dest=="gsmincom_.py":
- portDest = 50105
-
- if dest == "landlineReceiver.py":
- portDest = 50106
-
- if dest == "LocalSIPReceiver.py":
- portDest = 50107
-
- #mean external GSM
- #print "not define yet"
- #portDest = 50108
-
- y = classClient.Connection(destAdd,portDest)
- print "Destination handler status:", y.connect()
- y.sendData('hello Receiver, caller number')
-
- #wait respond from destination handler
- while 1:
- destHandler = y.receiveData()
- if destHandler <> "":
- break
- #should have timeout = think about timeout
-
- if destHandler == "ready":
-
- print "Destination handler ready"
- print ""
- x.sendData("start")#send message to handler to start the call
- x.closeConnection()
- x.connect()
-
- #wait respond from both of handler
- while 1:
- sleep(5)
- x.connect()
- sleep(1)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if failed, try one more time
- if resultOrig == "failed" or resultDest == "failed":
- y.sendData('hello Destination Handler')
- x.sendData("start")
- sleep(2)
- x.sendData(destNo)
-
- while 1:
- resultOrig = X.receiveData()
- resultDest = y.receiveData()
- print "Origin1: ", resultOrig
- print "Destination1: ", resultDest
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if still failed, save to db and return repeat test, so we make automatic test vice versa
- if resultOrig == "failed" or resultDest == "failed":
- #db.execute ("update result table")
- repeatTest="true"
- print "Origin2: ", resultOrig
- print "Destination1: ", resultDest
-
- else: #save to database, tell handler to terminated
- #db.execute ("update result table")
- print "Test Result origin: ", resultOrig
- print "Test Result Destination: ", resultDest
- x.sendData('terminated') # signal caller to terminate
- y.sendData('terminated') # signal receiver to terminate
-
- else:
- statusTest = "604 General Handler Error: Destination handler no respond"
- #tell Caller handler to terminate because receiver doesnt work
- x.sendData("terminated")
-
- y.closeConnection()
-
- except ValueError:
- print "601 General Handler Error: Could not open Destination handler"
- else:
- statusTest = "605 General Handler Error: Origin handler no respond"
-
- x.closeConnection()
-
- except ValueError:
- print "602 General Handler Error: Could not open Origin handler"
-
-
-
-# Main software
-
-
-
-# Check DB connection
-x = classDb.DBMySQLConnection(user, passw, host, dbname)
-print "connected to the DB ", x.connectDB()
-print ""
-dbStatus = x.connectDB()
-
-
-if dbStatus == 1:
-
- # Check Ping to the Every Handler
- #sipServerStatus = FuncPing("132.230.4.8")
- sipServerStatus =1
- #gsmBox1Status = FuncPing("132.230.4.8")
- #gsmBox2Status = FuncPing("132.230.4.8")
-
-# Fetch The task information from DB
- #print "do i have anything to do", x.anyTasksToDo()
-
- #for item in x.tasksList:
- # taskID = item[0]
- # callFrom = item[1]
- # callTo = item[2]
- callFrom = "gsmrz1"
- callTo = "sip"
- #J = 1, 2
- #for A in J:
-# print "call from to ", taskID , callFrom , callTo
- print "Test Task : Calling from " +callFrom+ " to " +callTo
- print ""
-
-
- if callFrom == "sip" and sipServerStatus <> 0:
-
- if callTo == "gsmrz1":
-
- FuncTest("SIPCall.py", "localhost", "gsmincom_.py", "localhost","473")
- print "Finish test"
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz2":
-
- if gsmBox1Status <> 0:
- FuncTest("SIPCall.py", "localhost", "Box1", "132.0.0.2","404")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status <> 0:
- FuncTest("SIPCall.py", "localhost", "Box2", "132.0.0.3","405")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
-
- if callFrom =="gsmrz1":
-
- if callTo =="sip" and sipServerStatus <> 0:
- FuncTest("gsmcall_.py", "localhost", "SIPIncoming.py", "localhost","929")
- sleep(10)
-
-
- if callTo =="gsmrz2" and gsmBox1Status <> 0:
- FuncTest("Box1", "132.0.0.2", "SIPReceiver.py", "localhost","929")
-
- if callTo =="gsmrz3" and gsmBox2Status <> 0:
- FuncTest("Box2", "132.0.0.3", "SIPReceiver.py", "localhost","929")
-
-
-
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-