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