summaryrefslogtreecommitdiffstats
path: root/Under-Testing/Server-Code-New/truthtableClass.py
diff options
context:
space:
mode:
Diffstat (limited to 'Under-Testing/Server-Code-New/truthtableClass.py')
-rw-r--r--Under-Testing/Server-Code-New/truthtableClass.py233
1 files changed, 0 insertions, 233 deletions
diff --git a/Under-Testing/Server-Code-New/truthtableClass.py b/Under-Testing/Server-Code-New/truthtableClass.py
deleted file mode 100644
index c45ab4d..0000000
--- a/Under-Testing/Server-Code-New/truthtableClass.py
+++ /dev/null
@@ -1,233 +0,0 @@
-import DbClass
-
-class trueTable:
- def __init__(self, resultsList):
-
- self.resultsList = resultsList
- self.outGoingRZ = None
- self.asteriskServer = None
- self.incomingRZ = None
- self.openBSC = None
- self.nanoBTS = None
- self.deviceStatus = list()
- self.testMount = len(resultsList)
- self.OK = 0
- self.FAILED = 0
- self.handlerError = 0
-
- def initDB(self):
- # function for connect to database
- self.db = DbClass.DBMySQLConnection()
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def lookingBTSname(self, btsname):
- if len(self.nanoBts) == 0:
- self.found = False
- else:
- found = False
- for y in self.nanoBts: #find the existing nanoBts result
- name = y[0]
- if name == btsName:
- self.found = True
- return self.found
-
- def findStatusInList(self,key):
-
- if len(self.deviceStatus) == 0:
- update = False
- else:
- update = False
- for item in self.deviceStatus:
- if key == item[0] and str(item[1]) != 'OK':
- update = True
- return update
-
- def initNagiosResult(self):
- self.initDB()
- deviceLists = self.db.deviceList()
- self.db.closeDBConn()
-
- for items in deviceLists:
- device = items[0]
- for result in self.resultsList:
- if device == result[0] or device == result[1]:
- if int(result[2]) == 200:
- if self.findStatusInList(device) == True:
- try:
- self.deviceStatus.remove([device,'NOT OK'])
- except:
- try:
- self.deviceStatus.remove([device,'UNKNOWN'])
- except:
- continue
- self.deviceStatus.append([device,'OK'])
- else:
- self.deviceStatus.append([device,'OK'])
-
- elif int(result[2]) == 486:
- found = False
- for item in self.deviceStatus:
- if device == item[0]:
- if str(item[1]) != 'OK' or str(item[1]) == 'OK':
- found = True
- if found == False:
- self.deviceStatus.append([device,'NOT OK'])
- else:
- found = False
- for item in self.deviceStatus:
- if device == item[0]:
- if str(item[1]) != 'OK' or str(item[1]) == 'OK':
- found = True
- if found == False:
- self.deviceStatus.append([device,'UNKNOWN'])
- for status in self.deviceStatus:
-
- if status[1] == 'OK':
- self.OK = self.OK+1
- elif status[1] == 'NOT OK':
- self.FAILED = self.FAILED+1
- else:
- self.handlerError = self.handlerError+1
-
- def initTrueTable(self):
- global btsName
- self.initDB()
- deviceLists = self.db.deviceList() #fetch device list from database
- externalRZList = list()
-
- for devLists in deviceLists: #define category of the external devices
- device = devLists[0]
-
- if device[0:5] == 'GSMEx' or device == 'landline':
- externalRZList.append(device) # fetch into the list
- self.db.closeDBConn()
- lists = self.resultsList
- self.nanoBts = list()
- gsmResultList = list()
-
- i= 1
- for w in lists:
- call=w[0]
- dest=w[1]
-
-
- if call[0:5]=='GSMRZ':
- if i <= int(call[5:]):
- i = int(call[5:])
- if dest[0:5]=='GSMRZ':
-
- if i <= int(dest[5:]):
- i = int(dest[5:])
- i = i+1
-
- for x in lists: # to find nanoBts, asterik server and open BSC status regarding result test for GSM RZ
- call=x[0]
- dest=x[1]
- result=x[2]
- stop = False
- j=1
-
- if call[0:5]=='GSMRZ' or dest[0:5]=='GSMRZ':
- while stop != True:
- if j != i:
- key = 'GSMRZ'+str(j)
- if key == call or key == dest:
-
- btsName = 'nanoBts '+str(j)
- if result == '200':
-
- btsName = 'nanoBts '+str(j)
- self.asteriskServer = True #set status of asterik server as working
- self.lookingBTSname(btsName)
- if self.found != True:
- #if doesnt found the nanoBts, add the result to the list, otherwise just ignoring
- try:
- self.nanoBts.remove(btsName)
- except ValueError:
- message = 'Error'
-
- self.nanoBts.append([btsName,True])
-
- if key == call:
- for z in externalRZList:# find the result for outgoing call from GSM RZ to external RZ network
- if dest == z:
- self.outGoingRZ = True #set status as working for outgoing RZ
- if key == dest:
- for z in externalRZList:
- if call == z:
- self.incomingRZ = True # find the result for imcoming call to GSM RZ from external RZ network
- elif result == '486':
- found = False
- if key == call:
- for z in externalRZList:
- if dest == z and self.outGoingRZ != True:
- self.outGoingRZ = False
- if key == dest:
- for z in externalRZList:
- if call == z and self.incomingRZ != True:
- self.incomingRZ = False
- if self.nanoBts == '':
- self.nanoBts.append([btsName,False])
- for y in self.nanoBts: #find the existing nanoBts result
- name = y[0]
- if name == btsName and y[1] == True:
- found = True
- if found != True:
- self.nanoBts.append([btsName,False])
-
- elif (str(result) == '801' or str(result) == '999') and key == call:
- self.lookingBTSname(key)
- if self.found != True:
- self.nanoBts.append([key,result])
-
- elif (str(result) == '802' or str(result) == '998') and key == dest:
- self.lookingBTSname(key)
- if self.found != True:
- self.nanoBts.append([key,result])
-
- j = j+1
- elif j == i:
- stop = True
-
- if call[0:5]=='GSMEx': # looking for calling from GSMexternal
- found = False
- if len(self.nanoBts) == 0:
- self.nanoBts.append([call,result])
- found = False
- else:
- for y in self.nanoBts: #find the existing result for GSM external in the list
- name = y[0]
- if name == call:
- if int(result) == 200:
- if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998 or int(y[1]) == 801:
- self.nanoBts.remove(y)
- else:
- found = True
- if found != True:
- self.nanoBts.append([call,result])
-
- if dest[0:5]=='GSMEx': # looking for destination call to GSMexternal
- found = False
- if len(self.nanoBts) == 0:
- self.nanoBts.append([dest,result])
- found = False
- else:
-
- for y in self.nanoBts:
- name = y[0]
- if name == dest:
- if int(result) == 200:
- if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998 or int(y[1]) == 402 or int(y[1]) == 802:
- self.nanoBts.remove(y)
- else:
- found = True
- if found != True:
- self.nanoBts.append([dest,result])
-
-
- for device in externalRZList:
- if device == dest and int(result) == 200:
- self.outGoingRZ = True
-
-