summaryrefslogtreecommitdiffstats
path: root/notFinishedCode/tricode/initTestClass.py
blob: 8552e2006cc05c5794c3834e15cfd09711a04c61 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
import sys
import ControllerClass
import DbClass
import PingClass
import random
from time import sleep

class doTest:

	def ping(self,handler):
	
		if handler == 'landline':
			server = PingClass.Ping('sipgate.de')
			self.serverStatus = server.ping(2)

		elif handler == 'sip':
			server = PingClass.Ping('132.230.4.8')
			self.serverStatus = server.ping(2)

		elif handler == 'unisip':
			server = PingClass.Ping('132.230.252.228')
			self.serverStatus = server.ping(2)

		elif handler == 'GSMRZ3':
			server = PingClass.Ping('localhost')
			self.serverStatus = server.ping(2)

		elif handler == 'GSMRZ2':
			server = PingClass.Ping('10.4.58.241')
			self.serverStatus = server.ping(2)
		else:
			self.serverStatus = 1

	
	def initDB(self):
    
		self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
    		self.db.connectDB()
    		self.dbStatus = self.db.connectDB()

	def initaccount(self,account,handler): 
		if handler == 'sip' or handler == 'unisip' or handler == 'landline':
			if account[1] != '' or account[2] != '' or account[3] != '' or account[4] != '': # checking available sip account, is there enough information about the account such as username, password,server 
				self.status = 1
			else:
				self.status = 0
		else:
			if account[0] != '' or account[1] != '':
				self.status = 1
			else:
				self.status = 0

	def initTest(self, callFrom, callTo):

    		self.initDB()
    
    		if self.dbStatus != 0:

			self.ping(callFrom)
			if self.serverStatus <> 0:
				self.ping(callTo)				
				if self.serverStatus <> 0:
        
        				dest = self.db.deviceAddress(str(callTo))
        				caller = self.db.deviceAddress(str(callFrom))

					self.initaccount(caller,callFrom)
					if self.status == 1:
						self.initaccount(dest,callTo)
						if self.status == 1:
        						callPortName = caller[0]
        						accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
        
        						destPortName = dest[0]
        						destNo = dest[1]
        						accDest = dest[2]+':'+dest[3]+':'+dest[4]+':'
        
        						makeTest = ControllerClass.doTheTest(callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest)	
        						makeTest.FuncTest()
							self.result = str(makeTest.testResult)
						else:
							self.result = 100
					else:
        					self.result = 100
        					
					sleep(5)
				else:
					self.result = 500
			else:
				self.result = 500
    
    		else:
        		self.result = 333
    
    		return self.result

	def isThere(keyword,lists):
		x = 0
		for item in lists:

			if item == keyword:
				return 1
			else:
				x = x+1

	def smartTest(self):
		global handlerError
		smartResultList = list()
		testPendingList = list()
		#callerList = ['sip']
		destList = ['GSMRZ1','GSMRZ2','GSMRZ3','GSMExt.O2','GSMExt.Voda','GSMExt.Eplus','GSMExt.Tm']
		gsmList = ['GSMExt.O2','GSMExt.Voda','GSMExt.Eplus','GSMExt.Tm']
		gsmRZList = ['GSMRZ1','GSMRZ2','GSMRZ3']

		i = random.randint(0, len(gsmRZList)-1)
		callTo = gsmRZList[i]
		self.initTest('unisip',callTo)
		gsmRZList.remove(callTo)
		destList.remove(callTo)
		openBSC = self.result
		self.smartResultList.append(['unisip', callTo, self.result])
		
		if openBSC == 200:
			for callFrom in gsmRZList:
				i = random.randint(3, len(destList)-1) # need to check wheter the caller and dest is same
				callTo = destList[i]
				self.initTest(callFrom,callTo)
				destList.remove(callTo)
				self.smartResultList.append([callFrom, callTo, self.result])

		i = random.randint(0, len(gsmRZList)-1) #
		callTo = gsmRZList[i]
		self.initTest('landline',callTo)
		gsmRZList.remove(callTo)
		destList.remove(callTo)
		self.smartResultList.append(['landline', callTo, self.result])

		for callTo in destList:
        		callFrom = 'sip'
    			self.initTest(callFrom,callTo)
			self.smartResultList.append([callFrom, callTo, self.result])

		return self.smartResultList