コード例 #1
0
def test_bodhi_query_update_changed(bodhi_mock):
    def modify_update(update):
        if update['updateid'] == 'FEDORA-2018-1a0cf961a1':
            update_copy = copy.deepcopy(update)

            update_copy['builds'] = [
                b for b in update_copy['builds']
                if not b['nvr'].startswith('bijiben-')
            ]
            update_copy['date_modified'] = datetime.utcnow().strftime(
                '%Y-%m-%d %H:%M:%S')

            return update_copy
        else:
            return update

    redis_client = make_redis_client()
    koji_session = make_koji_session()

    refresh_updates(koji_session, redis_client, 'rpm',
                    ['aisleriot', 'bijiben'])

    updates = list_updates(redis_client, 'rpm', 'aisleriot')
    assert len(updates) == 3
    updates = list_updates(redis_client, 'rpm', 'bijiben')
    assert len(updates) == 5

    bodhi_mock.modify = modify_update
    refresh_updates(koji_session, redis_client, 'rpm',
                    ['aisleriot', 'bijiben'])

    updates = list_updates(redis_client, 'rpm', 'aisleriot')
    assert len(updates) == 3
    updates = list_updates(redis_client, 'rpm', 'bijiben')
    assert len(updates) == 4
コード例 #2
0
def test_bodhi_query_flatpak_updates_all(bodhi_mock, flags):
    bodhi_mock.flags = flags

    redis_client = make_redis_client()
    koji_session = make_koji_session()

    refresh_all_updates(koji_session, redis_client, 'flatpak')

    updates = list_updates(redis_client, 'flatpak')
    assert len(updates) == 10

    build_map = {
        u.update_id: [b.rsplit('-', 2)[0] for b in u.builds]
        for u in updates
    }

    assert build_map == {
        'FEDORA-FLATPAK-2018-2f1988821e': ['eog'],
        'FEDORA-FLATPAK-2018-aecd5ddc46': ['feedreader'],
        'FEDORA-FLATPAK-2018-b653073d2f': ['quadrapassel'],
        'FEDORA-FLATPAK-2019-1c04884fc8': ['gnome-clocks', 'gnome-weather'],
        'FEDORA-FLATPAK-2019-a922b417ed': ['feedreader'],
        'FEDORA-FLATPAK-2019-adc833ad33': ['gnome-weather'],
        'FEDORA-FLATPAK-2019-d84b882193': ['feedreader'],
        'FEDORA-FLATPAK-2019-f531f062df': ['gnome-clocks'],
        'FEDORA-FLATPAK-2020-c3101996a6': ['baobab'],
        'FEDORA-FLATPAK-2020-dfd7272b06': ['baobab'],
    }
コード例 #3
0
def test_list_updates_by_release():
    redis_client = make_redis_client()
    koji_session = make_koji_session()

    refresh_updates(koji_session, redis_client, 'rpm', entities=['bubblewrap'])

    updates = list_updates(redis_client,
                           'rpm',
                           'bubblewrap',
                           release_branch='f29')
    assert len(updates) == 1

    assert updates[0].builds == ['bubblewrap-0.3.1-1.fc29']

    updates = list_updates(redis_client, 'rpm', release_branch='f29')
    assert len(updates) == 1

    assert updates[0].builds == ['bubblewrap-0.3.1-1.fc29']
コード例 #4
0
def test_bodhi_query_package_updates_many():
    redis_client = make_redis_client()
    koji_session = make_koji_session()

    # aisleriot picks up multi-package updates
    # eog picks up Flatpak updates
    #   (since we don't specify content_type=rpm to avoid pessimizing a bodhi query)
    entities = [str(n) + 'bubblewrap'
                for n in range(0, 9)] + ['aisleriot', 'bubblewrap', 'eog']

    refresh_updates(koji_session,
                    redis_client,
                    'rpm',
                    entities,
                    rows_per_page=1)

    updates = list_updates(redis_client, 'rpm', 'bubblewrap')
    assert len(updates) == 3

    updates = list_updates(redis_client, 'rpm', 'aisleriot')
    assert len(updates) == 3
コード例 #5
0
def test_bodhi_query_package_updates():
    redis_client = make_redis_client()
    koji_session = make_koji_session()

    refresh_updates(koji_session, redis_client, 'rpm', entities=['bubblewrap'])

    updates = list_updates(redis_client, 'rpm', 'bubblewrap')
    assert len(updates) == 3

    update = [x for x in updates if 'bubblewrap-0.3.0-2.fc28' in x.builds][0]

    assert update.user_name == 'walters'
    assert update.date_submitted.strftime(
        "%Y-%m-%d %H:%M:%S") == '2018-07-26 18:59:31'
    assert update.date_testing is not None
    assert update.date_testing.strftime(
        "%Y-%m-%d %H:%M:%S") == '2018-07-27 18:14:33'
    assert update.date_stable is not None
    assert update.date_stable.strftime(
        "%Y-%m-%d %H:%M:%S") == '2018-08-03 20:44:52'

    assert update.builds == ['bubblewrap-0.3.0-2.fc28']
    assert update.status == 'stable'
    assert update.type == 'enhancement'
コード例 #6
0
def test_bodhi_query_flatpak_updates():
    redis_client = make_redis_client()
    koji_session = make_koji_session()

    refresh_all_updates(koji_session, redis_client, 'flatpak')

    updates = list_updates(redis_client, 'flatpak', 'feedreader')
    assert len(updates) == 3

    update = [
        x for x in updates
        if 'feedreader-master-2920190201225359.1' in x.builds
    ][0]

    assert isinstance(update, BodhiUpdateModel)

    assert update.user_name == 'pwalter'
    assert update.date_submitted.strftime(
        "%Y-%m-%d %H:%M:%S") == '2019-02-03 21:08:49'
    assert update.builds == ['feedreader-master-2920190201225359.1']
    assert update.status == 'obsolete'
    assert update.type == 'bugfix'

    refresh_all_updates(koji_session, redis_client, 'flatpak')