def test_get_cpe(self): """Test `utils.get_cpe` function.""" with open(SAMPLE_CVE_PATH) as f: data, = json.load(f)['CVE_Items'] doc = Document.from_data(data) # default cpe_list = get_cpe(doc) self.assertEqual(len(cpe_list), 1) # operating_system cpe_list = get_cpe(doc, cpe_type='op') self.assertEqual(len(cpe_list), 0) # application cpe_list = get_cpe(doc, cpe_type='application') self.assertEqual(len(cpe_list), 1)
def _get_vendor_product_pairs(self): """Get (vendor, product) pairs from the CVE. :return: a set containing (vendor, product) pairs """ result = set() for cpe in utils.get_cpe(self.doc, cpe_type='application'): vendor = cpe.get_vendor()[0] product = cpe.get_product()[0] result.add((vendor, product)) return result
def check(self): """Perform the check.""" if utils.get_cpe(self._doc, cpe_type='application'): return True return False