os-autoinst-distri-rocky/tests/applications/evince/aaa_setup.pm
Adam Williamson b8c58428b0 Don't check for git on CANNED
`rpm` doesn't work. I dunno off-hand how you'd install git on
ostree if it wasn't there, so let's just assume it will be.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-07-29 11:19:09 -07:00

71 lines
1.9 KiB
Perl

use base "installedtest";
use strict;
use testapi;
use utils;
# This script will download the test data for evince, start the application,
# and set a milestone as a starting point for the other Evince tests.
#
sub check_and_install_git {
# Let's see if Git is installed and install it, if it isn't.
unless (get_var("CANNED")) {
if (script_run("rpm -q git")) {
assert_script_run("dnf -y install git", 180);
}
}
}
sub download_testdata {
# Navigate to the test's home directory
assert_script_run("cd /home/test/");
# Clone the test repository
assert_script_run("git clone https://pagure.io/fedora-qa/openqa_testdata.git");
# Change ownership and attributes
assert_script_run("chown -R test:test openqa_testdata");
# Move the test file into a correct location.
assert_script_run("cp openqa_testdata/evince/evince.pdf Documents")
}
sub run {
my $self = shift;
# Switch to console
$self->root_console(tty=>3);
# Perform git test
check_and_install_git();
# Download the test data
download_testdata();
# Exit the terminal
desktop_vt;
# Start the application
menu_launch_type("evince");
# Check that is started
assert_screen 'apps_run_dviewer';
# Open the test file to create a starting point for the other Evince tests.
# Click on Open button to open the File Open Dialog
assert_and_click("evince_open_file_dialog", button => "left", timeout => 30);
# Select the evince.pdf file.
assert_and_click("evince_file_select_pdf", button => "left", timeout => 30);
# Click the Open button to open the file
assert_and_click("gnome_button_open", button => "left", timeout => 30);
# Fullsize the Evince window.
send_key("super-up");
# Check that the file has been successfully opened.
assert_screen("evince_file_opened");
}
sub test_flags {
return {fatal => 1, milestone => 1};
}
1;
# vim: set sw=4 et: