Esempio n. 1
0
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
Esempio n. 2
0
    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)
Esempio n. 3
0
    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"])
Esempio n. 4
0
    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)