cd_e2e_monitoring_config/yamo/Project.py

63 lines
2.1 KiB
Python

from rest.RestCall import RestCall
import time
from yaspin import yaspin
from Report.ReportMessage import ReportMessage, MsgStatus
import coloredlogs, logging
from Options import Options
class Project:
__messages__=[]
__hasErrors__=False
logger = logging.getLogger("yamo")
def getMessages(self):
return __messages__
def hasErrors(self):
return __hasErrors__
def execByRestName(self,restName):
self.logger.debug("Start executing restCall by name "+ restName)
restCall = [x for x in self.restCallList if x.name == restName]
if len(restCall) > 0:
self.exec(restCall[0])
else:
self.logger.warning("Could not find restcall "+ restName)
self.logger.debug("Finished executing restCall by name "+ restName)
def exec(self, restCall):
try:
#sp.text = sp.text+ " > "+restCall.name
#time.sleep(5)
restCall.exec()
#self.logger.info("Project: "+self.name+" Call: "+restCall.name+" [SUCCESS]")
self.__messages__.append(ReportMessage(MsgStatus.SUCCESS, self.name, restCall.name, None, str(e)))
except Exception as e:
self.__hasErrors__= True
#self.logger.error("Project ["+self.name+"] Call: ["+restCall.name+"] --> Failed")
#self.logger.error("Project: "+self.name+" Call: "+restCall.name+" [Failed]")
self.__messages__.append(ReportMessage(MsgStatus.FAILED, self.name, restCall.name, None, str(e))) #['errors'].append(str(e))
def execRestCalls(self):
if Options.getInstance().restCall:
self.execByRestName(Options.getInstance().restCall)
else:
self.execAll()
def execAll(self):
self.logger.debug("Start executing all restcalls..")
for restCall in self.restCallList:
self.exec(restCall)
self.logger.debug("Finished executing all restcalls..")
def __init__(self, name, restCallList):
self.name=name
self.restCallList=restCallList
#self.executionConfig=executionConfig