def test_task_delete_with_results(self): task_id = self._create_task()['uuid'] db.task_result_create(task_id, {task_id: task_id}, {task_id: task_id}) res = db.task_result_get_all_by_uuid(task_id) self.assertEqual(len(res), 1) db.task_delete(task_id) res = db.task_result_get_all_by_uuid(task_id) self.assertEqual(len(res), 0)
def plot2html(self, task_id, out=None, open_it=False): results = map(lambda x: {"key": x["key"], "result": x["data"]["raw"]}, db.task_result_get_all_by_uuid(task_id)) output_file = out or ("%s.html" % task_id) with open(output_file, "w+") as f: f.write(plot.plot(results)) if open_it: webbrowser.open_new_tab("file://" + os.path.realpath(output_file))
def results(self, task_id, pretty=False): """Print raw results of task.""" results = map(lambda x: {"key": x["key"], 'result': x['data']['raw']}, db.task_result_get_all_by_uuid(task_id)) if not pretty or pretty == 'json': print(json.dumps(results)) elif pretty == 'pprint': print() pprint.pprint(results) print() else: print(_("Wrong value for --pretty=%s") % pretty)
def plot2html(self, task_id=None, out=None, open_it=False): results = map(lambda x: { "key": x["key"], 'result': x['data']['raw'] }, db.task_result_get_all_by_uuid(task_id)) output_file = out or ("%s.html" % task_id) with open(output_file, "w+") as f: f.write(plot.plot(results)) if open_it: webbrowser.open_new_tab("file://" + os.path.realpath(output_file))
def test_task_result_get_all_by_uuid(self): task1 = self._create_task()['uuid'] task2 = self._create_task()['uuid'] for task_id in (task1, task2): db.task_result_create(task_id, {task_id: task_id}, {task_id: task_id}) for task_id in (task1, task2): res = db.task_result_get_all_by_uuid(task_id) data = {task_id: task_id} self.assertEqual(len(res), 1) self.assertEqual(res[0]['key'], data) self.assertEqual(res[0]['data'], data)
def results(self, task_id, pretty=False): """Print raw results of task. :param task_id: Task uuid :param pretty: Pretty print (pprint) or not (json) """ results = map(lambda x: {"key": x["key"], "result": x["data"]["raw"]}, db.task_result_get_all_by_uuid(task_id)) if not pretty or pretty == "json": print(json.dumps(results)) elif pretty == "pprint": print() pprint.pprint(results) print() else: print(_("Wrong value for --pretty=%s") % pretty)
def results(self, task_id=None): """Display raw task results. This will produce a lot of output data about every iteration. :param task_id: Task uuid """ results = map(lambda x: {"key": x["key"], 'result': x['data']['raw'], "sla": x["data"]["sla"]}, db.task_result_get_all_by_uuid(task_id)) if results: print(json.dumps(results, sort_keys=True, indent=4)) else: print(_("The task %s can not be found") % task_id) return(1)
def report(self, task_id=None, out=None, open_it=False): """Generate HTML report file for specified task. :param task_id: int, task identifier :param out: str, output html file name :param open_it: bool, whether to open output file in web browser """ results = map(lambda x: {"key": x["key"], "result": x["data"]["raw"]}, db.task_result_get_all_by_uuid(task_id)) if out: out = os.path.expanduser(out) output_file = out or ("%s.html" % task_id) with open(output_file, "w+") as f: f.write(plot.plot(results)) if open_it: webbrowser.open_new_tab("file://" + os.path.realpath(output_file))
def results(self, task_id=None, pretty=False): """Print raw results of task. :param task_id: Task uuid :param pretty: Pretty print (pprint) or not (json) """ results = map(lambda x: { "key": x["key"], 'result': x['data']['raw'] }, db.task_result_get_all_by_uuid(task_id)) if not pretty or pretty == 'json': print(json.dumps(results)) elif pretty == 'pprint': print() pprint.pprint(results) print() else: print(_("Wrong value for --pretty=%s") % pretty)
def report(self, task_id=None, out=None, open_it=False): """Generate HTML report file for specified task. :param task_id: int, task identifier :param out: str, output html file name :param open_it: bool, whether to open output file in web browser """ results = map(lambda x: { "key": x["key"], "result": x["data"]["raw"] }, db.task_result_get_all_by_uuid(task_id)) if out: out = os.path.expanduser(out) output_file = out or ("%s.html" % task_id) with open(output_file, "w+") as f: f.write(plot.plot(results)) if open_it: webbrowser.open_new_tab("file://" + os.path.realpath(output_file))
def results(self, task_id=None): """Display raw task results. This will produce a lot of output data about every iteration. :param task_id: Task uuid """ results = map( lambda x: { "key": x["key"], 'result': x['data']['raw'], "sla": x["data"]["sla"] }, db.task_result_get_all_by_uuid(task_id)) if results: print(json.dumps(results, sort_keys=True, indent=4)) else: print(_("The task %s can not be found") % task_id) return (1)
def results(self, task_id=None, pretty=False): """Print raw results of task. :param task_id: Task uuid :param pretty: Pretty print (pprint) or not (json) """ results = map(lambda x: {"key": x["key"], 'result': x['data']['raw']}, db.task_result_get_all_by_uuid(task_id)) if results: if not pretty or pretty == 'json': print(json.dumps(results)) elif pretty == 'pprint': print() pprint.pprint(results) print() else: print(_("Wrong value for --pretty=%s") % pretty) return(1) else: print(_("The task %s can not be found") % task_id) return(1)
def sla_check(self, task_id=None, tojson=False): """Check if task was succeded according to SLA. :param task_id: Task uuid. :returns: Number of failed criteria. """ task = db.task_result_get_all_by_uuid(task_id) failed_criteria = 0 results = [] for result in task: key = result["key"] for sla in result["data"]["sla"]: sla["benchmark"] = key["name"] sla["pos"] = key["pos"] failed_criteria += 0 if sla['success'] else 1 results.append(sla if tojson else rutils.Struct(**sla)) if tojson: print(json.dumps(results)) else: common_cliutils.print_list(results, ('benchmark', 'pos', 'criterion', 'success', 'detail')) return failed_criteria
def sla_check(self, task_id=None, tojson=False): """Display SLA check results table. :param task_id: Task uuid. :returns: Number of failed criteria. """ task = db.task_result_get_all_by_uuid(task_id) failed_criteria = 0 results = [] for result in task: key = result["key"] for sla in result["data"]["sla"]: sla["benchmark"] = key["name"] sla["pos"] = key["pos"] failed_criteria += 0 if sla['success'] else 1 results.append(sla if tojson else rutils.Struct(**sla)) if tojson: print(json.dumps(results)) else: common_cliutils.print_list( results, ('benchmark', 'pos', 'criterion', 'success', 'detail')) return failed_criteria
def results(self, task_id=None, output_pprint=None, output_json=None): """Print raw results of task. :param task_id: Task uuid :param output_pprint: Output in pretty print format :param output_json: Output in json format (Default) """ results = map(lambda x: {"key": x["key"], 'result': x['data']['raw']}, db.task_result_get_all_by_uuid(task_id)) if results: if all([output_pprint, output_json]): print(_('Please select only one output format')) return 1 elif output_pprint: print() pprint.pprint(results) print() else: print(json.dumps(results)) else: print(_("The task %s can not be found") % task_id) return(1)
def results(self, task_id=None, output_pprint=None, output_json=None): """Print raw results of task. :param task_id: Task uuid :param output_pprint: Output in pretty print format :param output_json: Output in json format (Default) """ results = map(lambda x: {"key": x["key"], 'result': x['data']['raw'], "sla": x["data"]["sla"]}, db.task_result_get_all_by_uuid(task_id)) if results: if all([output_pprint, output_json]): print(_('Please select only one output format')) return 1 elif output_pprint: print() pprint.pprint(results) print() else: print(json.dumps(results)) else: print(_("The task %s can not be found") % task_id) return(1)
def get_results(self): return db.task_result_get_all_by_uuid(self.task["uuid"])