def _print_security_judgements(self, judgements_data, indent=""): judgements = SecurityJudgements.from_dict(judgements_data) if len(judgements) == 0: self._printer.print("%sNo comments regarding this check." % (indent)) elif len(judgements) == 1: self._printer.print( "%s%s" % (indent, self._fmt_security_judgement(judgements[0]))) else: for (jid, judgement) in enumerate(judgements, 1): self._printer.print("%s%d / %d: %s" % (indent, jid, len(judgements), self._fmt_security_judgement(judgement))) summary_judgement = judgements.summary_judgement() color = self._fmt_color(summary_judgement) self._printer.print( "%s -> Summary: <%s>%s<end>" % (indent, color, self._fmt_textual_verdict(summary_judgement)))
def test_serialize_judgements(self): judgements = SecurityJudgements() judgements += SecurityJudgement( code=JudgementCode.X509Cert_PublicKey_RSA_ParameterFieldNotPresent, text="Foo Bar! 1", verdict=Verdict.HIGH, commonness=Commonness.UNUSUAL) judgements += SecurityJudgement( code=JudgementCode.X509Cert_PublicKey_RSA_ParameterFieldNotPresent, text="Foo Bar! 2", verdict=Verdict.HIGH, commonness=Commonness.UNUSUAL) serialized = judgements.to_dict() self.assertEqual(serialized["components"][0]["text"], "Foo Bar! 1") self.assertEqual(serialized["components"][1]["text"], "Foo Bar! 2") judgements = SecurityJudgements.from_dict(serialized) self.assertEqual(judgements[0].text, "Foo Bar! 1") self.assertEqual(judgements[1].text, "Foo Bar! 2")