'cwes': [c.to_json() for c in self.cwes if self.cwes is not None], 'cpes': [c.to_json() for c in self.cpes if self.cpes is not None], 'cvss3': self.cvss3.to_json() if self.cvss3 is not None else None, 'descriptions': [d.to_json() for d in self.descriptions], 'published_date': self.published_date, 'last_modified_date': self.last_modified_date, 'references': [r.to_json() for r in self.references], } Index("idx_nvd_jsons_cveid", Nvd.cve_id) # pylint: disable=invalid-name load_only_cpe_product = joinedload(Nvd.cpes).load_only(Cpe.vendor, Cpe.product) load_only_cwe_subset = joinedload(Nvd.cwes).load_only(Cwe.cwe_id) load_only_cwe_subset = load_only_cwe_subset.joinedload(Cwe.cwe_data).load_only( CweData.cwe_name) load_only_base_score = joinedload(Nvd.cvss3).load_only(Cvss3.base_score) load_only_description_value = joinedload(Nvd.descriptions).load_only( Description.value) default_nvd_view_options = [ load_only_cpe_product, load_only_cwe_subset, load_only_base_score, load_only_description_value, ] # pylint: enable=invalid-name # must be set after all definitions __all__ = populate_models(__name__)
def test_populate_models_returns_empty_array_on_invalid_modules(): assert populate_models('sys') == [] assert populate_models('lib') == [] assert populate_models('data') == []
def test_populate_models_returns_models(): models = populate_models('data.models') assert len(models) > 0 assert 'Vulnerability' in models assert 'Nvd' in models
def test_populate_models_returns_empty_array_on_unknown_module(): assert populate_models('this_module_does_not_exist') == []