mirror of
https://github.com/rocky-linux/os-autoinst-distri-rocky.git
synced 2024-12-27 04:50:55 +00:00
ad99c3fc23
There seems to be a bug in Rawhide lately where, when our tests want to install a bare X and run Firefox on it, this takes an unusually long time to start up, with SELinux in enforcing mode. With SELinux in permissive mode it starts as fast as usual. This isn't a hard failure and we don't want it to block all later tests, so let's handle it and treat it as a soft fail. Signed-off-by: Adam Williamson <awilliam@redhat.com>
63 lines
2.1 KiB
Perl
63 lines
2.1 KiB
Perl
package freeipa;
|
|
|
|
use strict;
|
|
|
|
use base 'Exporter';
|
|
use Exporter;
|
|
|
|
use testapi;
|
|
use utils;
|
|
|
|
our @EXPORT = qw/add_user start_webui/;
|
|
|
|
# add a user with given username and surname, always uses the password
|
|
# "correcthorse". Assumes FreeIPA web UI is showing the Users screen.
|
|
sub add_user {
|
|
my ($user, $surname) = @_;
|
|
wait_still_screen 1;
|
|
assert_and_click "freeipa_webui_add_button";
|
|
assert_screen "freeipa_webui_add_user";
|
|
wait_still_screen 1;
|
|
type_safely $user;
|
|
wait_screen_change { send_key "tab"; };
|
|
# we don't need to be too careful here as the names don't matter
|
|
type_safely "Test";
|
|
wait_screen_change { send_key "tab"; };
|
|
type_safely $surname;
|
|
type_safely "\t\t\t\t";
|
|
type_safely "correcthorse";
|
|
wait_screen_change { send_key "tab"; };
|
|
type_safely "correcthorse\n";
|
|
}
|
|
|
|
# access the FreeIPA web UI and log in as a given user. Assumes
|
|
# it's at a console ready to start Firefox.
|
|
sub start_webui {
|
|
my ($user, $password) = @_;
|
|
# if we logged in as 'admin' we should land on the admin 'Active
|
|
# users' screen, otherwise we should land on the user's own page
|
|
my $user_screen = "freeipa_webui_user";
|
|
$user_screen = "freeipa_webui_users" if ($user eq 'admin');
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1439429
|
|
assert_script_run "sed -i -e 's,enable_xauth=1,enable_xauth=0,g' /usr/bin/startx";
|
|
type_string "startx /usr/bin/firefox -width 1024 -height 768 https://ipa001.domain.local\n";
|
|
unless (check_screen ["freeipa_webui_login", $user_screen], 30) {
|
|
record_soft_failure "X starting slowly! Maybe RHBZ#1622254";
|
|
assert_screen ["freeipa_webui_login", $user_screen], 30;
|
|
}
|
|
wait_still_screen 5;
|
|
# softfail on kerberos ticket bugs meaning we get auto-logged in
|
|
# as the requested user when we don't expect to be
|
|
if (match_has_tag $user_screen) {
|
|
record_soft_failure "already logged in to web UI";
|
|
}
|
|
else {
|
|
type_safely $user;
|
|
wait_screen_change { send_key "tab"; };
|
|
type_safely $password;
|
|
send_key "ret";
|
|
assert_screen $user_screen;
|
|
}
|
|
wait_still_screen 3;
|
|
}
|