# def waitForActionToFinish(self, response): # """ # connection: https://10.0.2.14:8443/api/v0/sessions/3/ixLoad/test/activeTest # """ # # location = /api/v0/sessions/4/ixload/test/operations/generateRestReport/0 # actionResultURL = response.headers.get('location') # counter = 0 # timeout = 30 # while True: # response = self.get(self.httpHeader + actionResultURL) # # {'status': 'In Progress', 'actionName': 'generateRestReport', 'state': 'executing', 'result': ''} # # {'status': 'Error', 'actionName': 'generateRestReport', 'state': 'finished', 'result': '', 'error': 'No last test run for the TestController'} # # {'status': 'Not started', 'actionName': 'generateRestReport', 'state': 'created', 'result': ''} # # {'status': 'Successful', 'actionName': 'generateRestReport', 'state': 'finished', 'result': ''} # self.logInfo(f'waitForActionToFinish: {response.json()}') # if counter > timeout and response.json()['status'] == 'Not started': # counter += 1 # time.sleep(1) # continue # if response.json()['status'] == 'Error': # return # elif 'error ' in response.json(): # self.logError(response.json()['error']) # return # else: # if counter < timeout and response.json()['status'] == 'Successful': # return # if counter < timeout and response.json()['status'] != 'Successful': # counter += 1 # time.sleep(1) # if counter == timeout and response.json()['status'] != 'Successful': # self.logError('waitForActionToFinish: Timed out waited {timeout} seconds!') # return