def ServiceCheckResponseTime(dateData,testCase,responseTime):
    info = testCase.split("-") #Format Example => TASCooked-STC-Edge-Default-1
    server = info[1]
    type = info[2]
    interval = info[0]
    if ServiceCheckFunction.CheckResponseTime (server,type,interval,responseTime) == False :
        infoDetect = infoServiceCheckResponseTime(dateData,server,type,interval,responseTime)
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathDeveloper,ServiceCheckConfig.Developer['logname'],infoDetect,ServiceCheckConfig.Developer['splitSymbol'],ServiceCheckConfig.Developer['logFileSize'])
def infoServiceCheckResponseTime(dateData,server,type,interval,responseTime):
    infoResult = ServiceCheckClass.ServiceInfo()
    infoResult.creationTime = ServiceCheckFunction.getCurrentDateTime_version1()
    infoResult.severity = ServiceCheckConfig.Developer['severity']
    infoResult.msg = "Detect spike " + str(responseTime) + " ms at " + dateData + " in " + interval + " of " + type + " at " + server
    
    return infoResult
def infoServiceCheckAvailability(severity,msg):
    infoResult = ServiceCheckClass.ServiceInfo()
    infoResult.creationTime = ServiceCheckFunction.getCurrentDateTime_version2()
    infoResult.severity = severity
    infoResult.msg = msg
    
    return infoResult
def runServiceCheckAvailability_103():            
    print "RUN Check ContinuesRun_EikonMon.py\n"
    if ServiceCheckFunction.CheckRunningBAT(ServiceCheckConfig.nameFileBAT['nameFile3'],ServiceCheckConfig.pathCRBAT) == False :
        #Notify ==> ContinuesRun_EikonMon.py isn't running
        infoEikonMon = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.falseMsg_103)
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEikonMon,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        #Notify ==> ContinuesRun_EikonMon.py is start recoverring
        infoEikonMon = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_103['start'])
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEikonMon,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
            
        if ServiceCheckRecovery.RecoveryRunningBAT(ServiceCheckConfig.nameFileBAT['nameFile3']) == True :    
            if ServiceCheckFunction.CheckRunningBAT(ServiceCheckConfig.nameFileBAT['nameFile3'],ServiceCheckConfig.pathCRBAT) == True :
                #Notify ==> ContinuesRun_EikonMon.py recoverred successful
                infoEikonMon = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_103['complete'])
                ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEikonMon,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
            else :
                #Notify ==> ContinuesRun_EikonMon.py recoverred not successful
                infoEikonMon = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.recoveryMsg_103['fail'])
                ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEikonMon,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        else:   
            #Notify ==> ContinuesRun_EikonMon.py recoverred not successful
            infoEikonMon = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.recoveryMsg_103['fail'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEikonMon,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])       
def runServiceCheckAvailability_104():
    print "RUN Check TsiLoadTest.exe\n"
    if ServiceCheckFunction.CheckEXEInTask(ServiceCheckConfig.FileTsiLoadTest,ServiceCheckConfig.waitTimeCEXEIT) == False :
        #Notify ==> TsiLoadTest.exe isn't running
        infoEXEInTask = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.falseMsg_104)
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEXEInTask,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        #Notify ==> TsiLoadTest.exe is start recoverring
        infoEXEInTask = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_104['start'])
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEXEInTask,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])

        ServiceCheckRecovery.RecoveryEXEInTask(ServiceCheckConfig.FileTsiLoadTest,ServiceCheckConfig.nameFileBAT['nameFile3'],ServiceCheckConfig.pathCRBAT)
            
        if ServiceCheckFunction.CheckEXEInTask(ServiceCheckConfig.FileTsiLoadTest,ServiceCheckConfig.waitTimeCEXEIT) == True :
            #Notify ==> TsiLoadTest.exe recoverred successful
            infoEXEInTask = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_104['complete'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEXEInTask,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        else:
            #Notify ==> TsiLoadTest.exe recoverred not successful
            infoEXEInTask = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.recoveryMsg_104['fail'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoEXEInTask,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
def runServiceCheckAvailability_107():
    print "RUN Check sensu-client.log\n"        
    if ServiceCheckFunction.CheckSensuLog (ServiceCheckConfig.pathCSL,ServiceCheckConfig.waitTimeCSL) == False :
        #Notify ==> sensu-client.log isn't changing
        infoSensuLog = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.falseMsg_107)
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoSensuLog,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        #Notify ==> sensu-client.log is start recoverring
        infoSensuLog = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_107['start'])
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoSensuLog,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
            
        ServiceCheckRecovery.RecoverySensuLog (ServiceCheckConfig.pathCSL,ServiceCheckConfig.nameService)
            
        if ServiceCheckFunction.CheckSensuLog (ServiceCheckConfig.pathCSL,ServiceCheckConfig.waitTimeCSL) == True :
            #Notify ==> sensu-client.log recoverred successful
            infoSensuLog = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_107['complete'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoSensuLog,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        else:
            #Notify ==> sensu-client.log recoverred not successful
            infoSensuLog = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.recoveryMsg_107['fail'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoSensuLog,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
def runServiceCheckAvailability_106():
    print "RUN Check since-db1-e2e-perf.yaml\n"        
    if ServiceCheckFunction.CheckSinceYaml (ServiceCheckConfig.pathCSY,ServiceCheckConfig.waitTimeCSY) == False :
        #Notify ==> since-db1-e2e-perf.yaml isn't changing
        infoSinceYaml = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.falseMsg_106)
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoSinceYaml,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        #Notify ==> since-db1-e2e-perf.yaml is start recoverring
        infoSinceYaml = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_106['start'])
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoSinceYaml,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
            
        ServiceCheckRecovery.RecoverySinceYaml(ServiceCheckConfig.nameService)
            
        if ServiceCheckFunction.CheckSinceYaml (ServiceCheckConfig.pathCSY,ServiceCheckConfig.waitTimeCSY) == True :
            #Notify ==> since-db1-e2e-perf.yaml recoverred successful
            infoSinceYaml = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_106['complete'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoSinceYaml,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        else:
            #Notify ==> since-db1-e2e-perf.yaml recoverred not successful
            infoSinceYaml = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.recoveryMsg_106['fail'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoSinceYaml,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
def runServiceCheckAvailability_105():
    print "RUN Check Sensu-Client-Service\n"
    if ServiceCheckFunction.CheckStatusService (ServiceCheckConfig.nameService) == False :
        #Notify ==> Sensu-Client-Service isn't running
        infoStatusService = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.falseMsg_105)
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoStatusService,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        #Notify ==> Sensu-Client-Service is start recoverring
        infoStatusService = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_105['start'])
        ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoStatusService,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
            
        ServiceCheckRecovery.RecoveryStatusService(ServiceCheckConfig.nameService)
            
        if ServiceCheckFunction.CheckStatusService (ServiceCheckConfig.nameService) == True :
            #Notify ==> Sensu-Client-Service recoverred successful
            infoStatusService = infoServiceCheckAvailability(ServiceCheckConfig.Operation['recoverySeverity'],ServiceCheckConfig.recoveryMsg_105['complete'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoStatusService,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])
        else:
            #Notify ==> Sensu-Client-Service recoverred not successful
            infoStatusService = infoServiceCheckAvailability(ServiceCheckConfig.Operation['severity'],ServiceCheckConfig.recoveryMsg_105['fail'])
            ServiceCheckFunction.generateReportLog_version2(ServiceCheckConfig.pathOperation,ServiceCheckConfig.Operation['logname'],infoStatusService,ServiceCheckConfig.Operation['splitSymbol'],ServiceCheckConfig.Operation['logFileSize'])