24f2eb39d9
This test expects to pick up from freeipa_webui, but that test is not fatal (i.e. it can fail and we still carry on to this one). We should probably make them independent, but for now, just check if 'test3' (one of the users freeipa_webui creates and that this test requires) actually exists, at the start. If not, we can just die right away. Signed-off-by: Adam Williamson <awilliam@redhat.com>
61 lines
2.3 KiB
Perl
61 lines
2.3 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use utils;
|
|
use freeipa;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
console_login(user=>'root');
|
|
# check whether test3 exists, i.e. whether freeipa_webui at
|
|
# least managed to create it. if not, we may as well just
|
|
# die now, this test cannot work.
|
|
assert_script_run 'getent passwd test3@DOMAIN.LOCAL';
|
|
# 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;
|