aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/test_cpe.py
blob: aebde5e86e1c28c0cb3f1bcb0a996677532ec5b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from pathlib import Path
from tempfile import TemporaryDirectory

import pytest

from sec_certs.dataset.cpe import CPEDataset
from sec_certs.sample.cpe import CPE


class TestCPE:
    @pytest.mark.slow
    @pytest.mark.monitor_test
    def test_from_web(self):
        with TemporaryDirectory() as tmpdir:
            dset = CPEDataset.from_web(Path(tmpdir) / "cpe.json")
        assert dset is not None
        assert "cpe:2.3:o:infineon:trusted_platform_firmware:6.40:*:*:*:*:*:*:*" in dset.cpes

    def test_from_to_dict(self):
        data = {
            "uri": "cpe:2.3:o:freebsd:freebsd:1.0:*:*:*:*:*:*:*",
            "title": None,
            "start_version": None,
            "end_version": None,
        }
        cpe = CPE.from_dict(data)
        ret = cpe.to_dict()
        assert data == ret
        other_cpe = CPE.from_dict(ret)
        assert cpe == other_cpe