예제 #1
0
def test_namespaces_no_vulns(distro_tuple, initialized_feed_metadata,
                             initialized_mappings):
    i = DistroNamespace(name=distro_tuple[0],
                        version=distro_tuple[1],
                        like_distro=distro_tuple[2])
    logger.info("Like names for {} = {}".format(i.namespace_name,
                                                i.like_namespace_names))
    logger.info("Mapping names for {} = {}".format(i.namespace_name,
                                                   i.mapped_names()))
    assert (have_vulnerabilities_for(i) is
            False), "Did not expect vulns for namespace {}".format(
                i.namespace_name)
예제 #2
0
def test_namespace_has_vulns(distro_tuple, initialized_mappings,
                             initialized_feed_metadata):
    """
    Test the mix of mappings with namespace support to ensure distro+version maps functioning as expected
    """
    i = DistroNamespace(name=distro_tuple[0],
                        version=distro_tuple[1],
                        like_distro=distro_tuple[2])
    logger.info("Like names for {} = {}".format(i.namespace_name,
                                                i.like_namespace_names))
    logger.info("Mapping names for {} = {}".format(i.namespace_name,
                                                   i.mapped_names()))
    assert (have_vulnerabilities_for(i) is
            True), "Expected vulns for namespace {}".format(i.namespace_name)
예제 #3
0
def test_filter_secdb(
    image_matches,
    mock_db_query_manager,
    expected,
):
    namespace = DistroNamespace(
        name="debian", version="9"
    )  # This is needed for lookup, but does not change results since the cves are injected
    filtered = filter_secdb_entries(
        image_distro=namespace, matches=image_matches, db_manager=mock_db_query_manager
    )
    assert filtered == expected
예제 #4
0
def test_distromappings(initialized_mappings):
    c7 = DistroNamespace(name='centos', version='7', like_distro='rhel')
    assert c7.mapped_names() == []
    assert c7.like_namespace_names == ['rhel:7']

    r7 = DistroNamespace(name='rhel', version='7', like_distro='rhel')
    assert set(r7.mapped_names()) == {'centos', 'fedora', 'rhel'}
    assert r7.like_namespace_names == ['rhel:7']

    assert sorted(DistroMapping.distros_mapped_to('rhel', '7')) == sorted([
        DistroTuple('rhel', '7', 'RHEL'),
        DistroTuple('centos', '7', 'RHEL'),
        DistroTuple('fedora', '7', 'RHEL')
    ])
예제 #5
0
def test_distromappings(initialized_mappings):
    c7 = DistroNamespace(name="centos", version="7", like_distro="rhel")
    assert c7.mapped_names() == []
    assert c7.like_namespace_names == ["rhel:7"]

    r7 = DistroNamespace(name="rhel", version="7", like_distro="rhel")
    assert set(r7.mapped_names()) == {"centos", "fedora", "rhel", "redhat"}
    assert r7.like_namespace_names == ["rhel:7"]

    assert sorted(DistroMapping.distros_mapped_to("rhel", "7")) == sorted([
        DistroTuple("redhat", "7", "RHEL"),
        DistroTuple("rhel", "7", "RHEL"),
        DistroTuple("centos", "7", "RHEL"),
        DistroTuple("fedora", "7", "RHEL"),
    ])