def execute_collector_by_name(collector_name, fact_or_composite): global available_collectors logger.info("Execute collector {} with {}".format(collector_name, type(fact_or_composite))) result = Result(input=fact_or_composite, status=StatusCode.empty) if collector_name in available_collectors: return available_collectors[collector_name].run(result) result.status = ( StatusCode.error, "Could not find collector {}".format(collector_name), ) return result
def test_job_result_errored(self): a = FactA() j = Result(input=a) j.status = StatusCode.error j_json = json.dumps(j, cls=encode) new_j = json.loads(j_json, object_hook=decode) self.assertEqual( True, StatusCode.is_errored(new_j.status["status"]), StatusCode.is_errored(j.status["status"]), ) self.assertEqual(j.status, new_j.status)
def test_job_result_error_msg(self): a = FactA() j = Result(input=a) j.status = StatusCode.finished, "this is an error" j_json = json.dumps(j, cls=encode) new_j = json.loads(j_json, object_hook=decode) self.assertEqual( False, StatusCode.is_errored(new_j.status["status"]), StatusCode.is_errored(j.status["status"]), ) self.assertEqual(j.status, new_j.status) self.assertEqual("Finished", j.status["code"], new_j.status["code"]) self.assertEqual("this is an error", j.status["error"], new_j.status["error"])
def test_job_result_composite(self): a = FactA() b = FactA() j = Result(input=Composite(a, b)) j.status = StatusCode.finished j_json = json.dumps(j, cls=encode) new_j = json.loads(j_json, object_hook=decode) self.assertEqual( False, StatusCode.is_errored(new_j.status["status"]), StatusCode.is_errored(j.status["status"]), ) self.assertEqual(j.status, new_j.status) self.assertEqual("Finished", j.status["code"], new_j.status["code"]) self.assertEqual(j.input, new_j.input)