Пример #1
0
def unsupported_cve_none_versions():
    """Unsupported ecosystem CVE fixture.

    Some of the CVE versions in this CVE are "None".
    """
    with open('tests/data/unsupported-nvdcve-2.json') as f:
        data, = json.load(f)['CVE_Items']
        return Document.from_data(data)
Пример #2
0
    def test_dictionarize(self):
        """Test `utils.dictionarize` function."""
        sample_cve_path = 'data/cve-1.0-sample.json'

        with open(sample_cve_path) as f:
            data = json.loads(f.read())
            doc = Document.from_data(data)

        doc_dict = utils.dictionarize(doc)

        self.assertIsInstance(doc_dict, dict)
        self.assertIsInstance(doc_dict['cve'], dict)
        self.assertIsInstance(doc_dict['impact'], dict)
        self.assertIsInstance(doc_dict['configurations'], dict)
Пример #3
0
    def test_get_description_by_lang(self):
        """Test `utils.get_description_by_lang` function."""
        with open(SAMPLE_CVE_PATH) as f:
            data, = json.load(f)['CVE_Items']
            doc = Document.from_data(data)

        desc_en = get_description_by_lang(doc)

        self.assertTrue(desc_en)
        self.assertIsInstance(desc_en, str)

        desc_fr = get_description_by_lang(doc, lang='fr')

        self.assertIsNone(desc_fr)
Пример #4
0
    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)
Пример #5
0
import json
import tempfile
import unittest

from nvdlib.adapters import DefaultAdapter
from nvdlib.model import Document

import nvdlib.query_selectors as selectors

SAMPLE_CVE_PATH = 'data/cve-1.0-sample.json'

with open(SAMPLE_CVE_PATH) as f:
    data = json.load(f)

    DOCUMENT: Document = Document.from_data(data)

    del data


class TestDefaultAdapter(unittest.TestCase):
    def test___init__(self):
        """Test DefaultAdapters initialization."""

        adapter = DefaultAdapter()

        self.assertIsInstance(adapter, DefaultAdapter)

    def test_connect(self):
        """Test DefaultAdapters `connect` method."""
        tmp_storage = tempfile.mkdtemp(prefix='tests_', suffix='_adapters')
Пример #6
0
def unsupported_cve():
    """Unsupported ecosystem CVE fixture."""
    with open('tests/data/unsupported-nvdcve.json') as f:
        data, = json.load(f)['CVE_Items']
        return Document.from_data(data)
Пример #7
0
def rejected_cve():
    """Rejected CVE fixture."""
    with open('tests/data/rejected-nvdcve.json') as f:
        data, = json.load(f)['CVE_Items']
        return Document.from_data(data)
Пример #8
0
def maven_vertx_cve():
    """Maven Vert.x CVE fixture."""
    with open('tests/data/maven-vertx-nvdcve.json') as f:
        data, = json.load(f)['CVE_Items']
        return Document.from_data(data)
Пример #9
0
def python_cve():
    """Maven CVE fixture."""
    with open('tests/data/python-nvdcve.json') as f:
        data, = json.load(f)['CVE_Items']
        return Document.from_data(data)
Пример #10
0
def javascript_cve():
    """JavaScript CVE fixture."""
    with open('tests/data/javascript-nvdcve.json') as f:
        data, = json.load(f)['CVE_Items']
        return Document.from_data(data)