os-autoinst-distri-rocky/lib/packagetest.pm
Adam Williamson 44ec3d84c3 add a base_update_cli test
Summary:
this uses a couple of test repos with fake packages to test the
basic dnf mechanisms are working, then messes around with the
python3-kickstart package a bit to try and test the default repo
configuration is working, keys are in place and so on. We use
python3-kickstart because we should be able to rely on the copy
of that package in the 'stable' repo being installable (or else
the compose would have failed), but it shouldn't be vital to
the operation of the system.

Test Plan: Run the test, see if it works.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1006
2016-09-22 10:57:12 -07:00

37 lines
1.5 KiB
Perl

package packagetest;
use strict;
use base 'Exporter';
use Exporter;
use testapi;
our @EXPORT = qw/prepare_test_packages verify_installed_packages verify_updated_packages/;
# enable the openqa test package repositories and install the main
# test packages, remove python3-kickstart and install the fake one
sub prepare_test_packages {
# remove python3-kickstart if installed (we don't use assert
# here in case it's not)
script_run 'dnf -y remove python3-kickstart';
# grab the test repo definitions
assert_script_run 'curl -o /etc/yum.repos.d/openqa-testrepo-1.repo https://fedorapeople.org/groups/qa/openqa-repos/openqa-testrepo-1.repo';
# install the test packages from repo1
assert_script_run 'dnf -y --disablerepo=* --enablerepo=openqa-testrepo-1 install python3-kickstart';
}
# check our test packages installed correctly (this is a test that dnf
# actually does what it claims)
sub verify_installed_packages {
validate_script_output 'rpm -q python3-kickstart', sub { $_ =~ m/^python3-kickstart-1.1.noarch$/ };
assert_script_run 'rpm -V python3-kickstart';
}
# check updating the test packages and the fake python3-kickstart work
# as expected
sub verify_updated_packages {
# we don't know what version of python3-kickstart we'll actually
# get, so just check it's *not* the fake one
validate_script_output 'rpm -q python3-kickstart', sub { $_ !~ m/^python3-kickstart-1-1.noarch$/ };
assert_script_run 'rpm -V python3-kickstart';
}