63 lines
2.1 KiB
Python
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
|