def test_url_is_not_404(self): all_urls = set() invalid = [] for language, db_path_file, db_data in self.get_all_json(): cwe_list = db_data.get('cwe', []) for cwe_id in cwe_list: all_urls.add(DBVuln.get_cwe_url(cwe_id)) reference_list = db_data.get('references', []) for reference in reference_list: all_urls.add(reference['url']) owasp_top_10 = db_data.get('owasp_top_10', {}) for version, risk_id_list in owasp_top_10.iteritems(): for risk_id in risk_id_list: owasp_url = self.get_owasp_url(version, risk_id) all_urls.add(owasp_url) session = requests.Session() for url in all_urls: if self.url_is_404(session, url): invalid.append(url) self.assertEqual(invalid, [])
def get_cwe_urls(self): """ :note: Call has_db_details before calling this, or you'll get exceptions """ for cwe_id in self.get_cwe_ids(): yield DBVuln.get_cwe_url(cwe_id)
def test_get_cwe_url(self): dbv = DBVuln(**self.DEFAULT_KWARGS) self.assertEqual(dbv.get_cwe_url(89), 'https://cwe.mitre.org/data/definitions/89.html')