def test_features_for(): vuln_report_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "vulnerabilityreport.json") security_info_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "securityinformation.json") with open(vuln_report_filename) as vuln_report_file: vuln_report = json.load(vuln_report_file) with open(security_info_filename) as security_info_file: security_info = json.load(security_info_file) expected = security_info["data"] expected["Layer"]["Features"].sort(key=lambda d: d["Name"]) generated = SecurityInformation( Layer( "sha256:b05ac1eeec8635442fa5d3e55d6ef4ad287b9c66055a552c2fd309c334563b0a", "", "", 4, features_for(vuln_report), )).to_dict() # Sort the Features' list so that the following assertion holds even if they are out of order # (Ordering of the dicts' key iteration is different from Python 2 to 3) expected["Layer"]["Features"].sort(key=lambda d: d["Name"]) generated["Layer"]["Features"].sort(key=lambda d: d["Name"]) assert generated == expected
def test_features_for(): vuln_report_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "vulnerabilityreport.json" ) security_info_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "securityinformation.json" ) with open(vuln_report_filename) as vuln_report_file: vuln_report = json.load(vuln_report_file) with open(security_info_filename) as security_info_file: security_info = json.load(security_info_file) assert ( SecurityInformation( Layer( "sha256:b05ac1eeec8635442fa5d3e55d6ef4ad287b9c66055a552c2fd309c334563b0a", "", "", 4, features_for(vuln_report), ) ).to_dict() == security_info["data"] )
def test_features_for(): vuln_report_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "vulnerabilityreport.json") security_info_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "securityinformation.json") with open(vuln_report_filename) as vuln_report_file: vuln_report = json.load(vuln_report_file) with open(security_info_filename) as security_info_file: security_info = json.load(security_info_file) features_for_sec_info = SecurityInformation( Layer( "sha256:b05ac1eeec8635442fa5d3e55d6ef4ad287b9c66055a552c2fd309c334563b0a", "", "", 4, features_for(vuln_report), )).to_dict() assert json.dumps( canonicalize(features_for_sec_info, preserve_sequence_order=False)) == json.dumps( canonicalize(security_info["data"], preserve_sequence_order=False))
def test_enrichments_in_features_for(): vuln_report_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "vulnerabilityreport_withenrichments.json" ) security_info_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "securityinformation_withenrichments.json" ) with open(vuln_report_filename) as vuln_report_file: vuln_report = json.load(vuln_report_file) with open(security_info_filename) as security_info_file: expected = json.load(security_info_file) expected["Layer"]["Features"].sort(key=lambda d: d["Name"]) generated = SecurityInformation( Layer( "sha256:4b42c2e36b0bedf017e14dc270f315e627a2a0030f453687a06375fa88694298", "", "", 4, features_for(vuln_report), ) ).to_dict() # Sort the Features' list so that the following assertion holds even if they are out of order expected["Layer"]["Features"].sort(key=lambda d: d["Name"]) generated["Layer"]["Features"].sort(key=lambda d: d["Name"]) assert generated == expected
def test_features_for(): vuln_report_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "vulnerabilityreport.json") security_info_filename = os.path.join( os.path.dirname(os.path.abspath(__file__)), "securityinformation.json") with open(vuln_report_filename) as vuln_report_file: vuln_report = json.load(vuln_report_file) with open(security_info_filename) as security_info_file: security_info = json.load(security_info_file) assert (SecurityInformation(Layer( features_for(vuln_report))).to_dict() == security_info["data"])