def request(self, location, query_dict, post=False): url = self.url_prefix + location if not post: return tools.Request(url, query_dict, post).prepared_url, None else: return tools.Request(url, query_dict, post).prepared_url, json.dumps(query_dict)
def start(self): log.write('Clear all') try: tools.Request('http://%s/db/api/clear/' % self.student_ip, {}, post=True).get_response() TESTS["clear"] = True except Exception, e: log.write("/clear call error: %s" % e, level='error') TESTS["clear"] = False
def query_api(self, url_suffix, query_dict, post=False): url = self.url_prefix + '/' + url_suffix + '/' method = 'POST' if post else 'GET' log.write('Requesting %s with %s (%s)' % (url, str(query_dict), method)) try: start = time.time() response = tools.Request(url, query_dict, post).get_response() self.doc(url, query_dict, method, response) req_time = time.time() - start log.write('Request time was: %.4f sec' % req_time) except ValueError, e: log.write('Request error: %s' % str(e), level='error') log.write('Exiting', level='error') raise ValueError
def execute(self, location, query_dict, post=False): url = self.url_prefix + location try: log.write('Requesting %s with %s (POST=%s)' % (url, query_dict, post)) start = time.time() response = tools.Request(url, query_dict, post).get_response() req_time = time.time() - start log.write('Request time was: %.4f sec' % req_time) return response except ValueError, e: log.write('Request error for %s with %s: %s' % (url, query_dict, e), level='error') log.print_out('Request error for %s with %s: %s' % (url, query_dict, e)) self.errors += 1 if self.errors > 100: log.write('Exiting: %s API errors' % self.errors, level='error') log.print_out('Exiting: %s API errors' % self.errors) raise ValueError("Too many errors!")
def query_api(self, url_suffix, query_dict, post=False): url = self.url_prefix + '/' + url_suffix + '/' if 'details' not in url_suffix: self.url_suffix = url_suffix method = 'POST' if post else 'GET' log.write('Requesting %s with %s (%s)' % (url, repr(query_dict), method)) try: start = time.time() response = tools.Request(url, query_dict, post).get_response() self.doc(url, query_dict, method, response) req_time = time.time() - start log.write('Request time was: %.4f sec' % req_time) except ValueError, e: log.write('Request error: %s' % str(e), level='error') location = self.url_prefix.split('/')[-1] + '/' + url_suffix if 'details' not in location: TESTS[location] = False # log.write('Exiting', level='error') # raise ValueError response = {}