mirror of
https://github.com/rocky-linux/os-autoinst-distri-rocky.git
synced 2024-11-16 10:11:26 +00:00
c2b1ea4e8c
Previously this module changed test1's password, so that it would still be able to work even if the webui test module failed (so test3/test4 didn't get created). But this means that, for about 30 seconds, test1's password is 'loremipsum' not 'batterystaple', and if one of the *other* client test jobs happens to hit a point where it has to auth as test1 during the 30 seconds test1's password is different, it will fail. This looks to be what happened to the join_kickstart test the last few days - it failed because it tried to login as test1 during the password change window. By using the test3 user instead (which is only used by the join_cockpit test, currently) we avoid this problem, at the cost that the password_change module will always fail if the webui module fails.
58 lines
2.1 KiB
Perl
58 lines
2.1 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use utils;
|
|
use freeipa;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
console_login(user=>'root');
|
|
# clear browser data so we don't go back to the 'admin' login
|
|
assert_script_run 'rm -rf /root/.mozilla';
|
|
# clear kerberos ticket so we don't auto-auth as 'test4'
|
|
assert_script_run 'kdestroy -A';
|
|
# we use test3 for this test; this means it'll fail if the webUI
|
|
# test fails before creating test3 and setting its password, but
|
|
# changing test1's password can cause other client tests to fail
|
|
# if they try and auth as test1 while it's changed
|
|
start_webui("test3", "batterystaple");
|
|
assert_and_click "freeipa_webui_actions";
|
|
assert_and_click "freeipa_webui_reset_password_link";
|
|
wait_still_screen 3;
|
|
type_safely "batterystaple";
|
|
type_safely "\t\t";
|
|
type_safely "loremipsum";
|
|
wait_screen_change { send_key "tab"; };
|
|
type_safely "loremipsum";
|
|
assert_and_click "freeipa_webui_reset_password_button";
|
|
wait_still_screen 2;
|
|
# log out
|
|
assert_and_click "freeipa_webui_user_menu";
|
|
wait_still_screen 2;
|
|
assert_and_click "freeipa_webui_logout";
|
|
wait_still_screen 3;
|
|
# close browser, back to console
|
|
send_key "ctrl-q";
|
|
# we don't get back to a prompt instantly and keystrokes while X
|
|
# is still shutting down are swallowed, so wait_still_screen before
|
|
# finishing (and handing off to freeipa_client_postinstall)
|
|
wait_still_screen 5;
|
|
# check we can kinit with changed password
|
|
assert_script_run 'printf "loremipsum" | kinit test3';
|
|
# change password via CLI (back to batterystaple, as that's what
|
|
# freeipa_client test expects)
|
|
assert_script_run 'dnf -y install freeipa-admintools';
|
|
assert_script_run 'printf "batterystaple\nbatterystaple" | ipa user-mod test3 --password';
|
|
# check we can kinit again
|
|
assert_script_run 'printf "batterystaple" | kinit test3';
|
|
# clear kerberos ticket for freeipa_client test
|
|
assert_script_run 'kdestroy -A';
|
|
# we just stay here - freeipa_client will pick right up
|
|
}
|
|
|
|
sub test_flags {
|
|
return { 'ignore_failure' => 1 };
|
|
}
|
|
|
|
1;
|