Example #1
0
def _init_te(init_feeds=True):
    init_feed_registry()
    t = LocalTestDataEnvironment(
        os.getenv('ANCHORE_TEST_DATA_ENV_DIR', 'tests/data/test_data_env'))
    if init_feeds:
        t.init_feeds()

    return t
Example #2
0
def feed_db_records():
    init_feed_registry()
    recs = {}
    for r in feed_registry.registered_feed_names():
        recs[r] = FeedMetadata()
        recs[r].name = r
        recs[r].last_update = datetime.datetime.utcnow()
        recs[r].created_at = datetime.datetime.utcnow()
        recs[r].last_full_sync = None
        recs[r].description = "description test"
        recs[r].access_tier = 0
        recs[r].groups = []

    return recs
def setup_mocks_feed_out_of_date_trigger(monkeypatch,
                                         mock_distromapping_query):
    # required for FeedOutOfDateTrigger.evaluate
    # setup for anchore_engine.services.policy_engine.engine.feeds.feeds.FeedRegistry.registered_vulnerability_feed_names
    init_feed_registry()

    def _setup_mocks(feed_group_metadata):
        # required for FeedOutOfDateTrigger.evaluate
        # mocks anchore_engine.services.policy_engine.engine.feeds.db.get_feed_group_detached
        monkeypatch.setattr(
            "anchore_engine.services.policy_engine.engine.policy.gates.vulnerabilities.get_feed_group_detached",
            lambda x, y: feed_group_metadata,
        )

    return _setup_mocks
def test_distromappings(anchore_db):
    init_feed_registry()
    _init_distro_mappings()

    c7 = DistroNamespace(name='centos', version='7', like_distro='centos')
    assert c7.mapped_names() == []
    assert c7.like_namespace_names == ['rhel:7']

    r7 = DistroNamespace(name='rhel', version='7', like_distro='centos')
    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')
    ])
def setup_mocks_unsupported_distro_trigger(monkeypatch,
                                           mock_distromapping_query):
    # required for UnsupportedDistroTrigger.evaluate
    # setup for anchore_engine.services.policy_engine.engine.feeds.feeds.FeedRegistry.registered_vulnerability_feed_names
    init_feed_registry()

    # required for UnsupportedDistroTrigger.evaluate
    monkeypatch.setattr(
        "anchore_engine.services.policy_engine.engine.feeds.feeds.get_session",
        lambda: None,
    )

    def _setup_mocks(feed_metadata):
        # required for UnsupportedDistroTrigger.evaluate
        monkeypatch.setattr(
            "anchore_engine.services.policy_engine.engine.feeds.feeds.get_feed_json",
            lambda db_session, feed_name: feed_metadata.to_json(),
        )

    return _setup_mocks