mirror of
https://github.com/rocky-linux/os-autoinst-distri-rocky.git
synced 2024-12-18 09:08:29 +00:00
Merge pull request #202 from tcooper/cockpit-admin-login
Support admin user login in cockpit
This commit is contained in:
commit
cae7a72eba
@ -13,8 +13,12 @@ our @EXPORT = qw(start_cockpit select_cockpit_update check_updates);
|
||||
|
||||
sub start_cockpit {
|
||||
# Starting from a console, get to a browser with Cockpit (running
|
||||
# on localhost) shown. If $login is truth-y, also log in. Assumes
|
||||
# on localhost) shown. If login is truth-y, also log in. If login
|
||||
# and admin are both truthy, also gain admin privileges. Assumes
|
||||
# X and Firefox are installed.
|
||||
my %args = @_;
|
||||
$args{login} //= 0;
|
||||
$args{admin} //= 1;
|
||||
my $login = shift || 0;
|
||||
# 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";
|
||||
@ -25,11 +29,17 @@ sub start_cockpit {
|
||||
# this happened on early Modular Server composes...
|
||||
record_soft_failure "Unbranded Cockpit" if (match_has_tag "cockpit_login_unbranded");
|
||||
wait_still_screen(stilltime => 5, similarity_level => 45);
|
||||
if ($login) {
|
||||
type_safely "root";
|
||||
if ($args{login}) {
|
||||
type_safely "test";
|
||||
wait_screen_change { send_key "tab"; };
|
||||
type_safely get_var("ROOT_PASSWORD", "weakpassword");
|
||||
type_safely get_var("USER_PASSWORD", "weakpassword");
|
||||
send_key "ret";
|
||||
if ($args{admin}) {
|
||||
assert_and_click "cockpit_admin_enable";
|
||||
assert_screen "cockpit_admin_password";
|
||||
type_safely get_var("USER_PASSWORD", "weakpassword");
|
||||
send_key "ret";
|
||||
}
|
||||
assert_screen "cockpit_main";
|
||||
# wait for any animation or other weirdness
|
||||
# can't use wait_still_screen because of that damn graph
|
||||
|
16
needles/cockpit/rocky-cockpit_admin_enable-20231122.json
Normal file
16
needles/cockpit/rocky-cockpit_admin_enable-20231122.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 294,
|
||||
"ypos": 242,
|
||||
"width": 102,
|
||||
"height": 16,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"ENV-DISTRI-rocky",
|
||||
"cockpit_admin_enable"
|
||||
]
|
||||
}
|
BIN
needles/cockpit/rocky-cockpit_admin_enable-20231122.png
Normal file
BIN
needles/cockpit/rocky-cockpit_admin_enable-20231122.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 76 KiB |
@ -0,0 +1,16 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"ypos": 242,
|
||||
"width": 102,
|
||||
"type": "match",
|
||||
"xpos": 294,
|
||||
"height": 16
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"ENV-DISTRI-rocky",
|
||||
"cockpit_admin_enable"
|
||||
]
|
||||
}
|
BIN
needles/cockpit/rocky-cockpit_admin_enable_cyan-20231122.png
Normal file
BIN
needles/cockpit/rocky-cockpit_admin_enable_cyan-20231122.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 76 KiB |
16
needles/cockpit/rocky-cockpit_admin_password-20231122.json
Normal file
16
needles/cockpit/rocky-cockpit_admin_password-20231122.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 255,
|
||||
"ypos": 394,
|
||||
"width": 122,
|
||||
"height": 18,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"ENV-DISTRI-rocky",
|
||||
"cockpit_admin_password"
|
||||
]
|
||||
}
|
BIN
needles/cockpit/rocky-cockpit_admin_password-20231122.png
Normal file
BIN
needles/cockpit/rocky-cockpit_admin_password-20231122.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
16
needles/cockpit/rocky-cockpit_main-20231122.json
Normal file
16
needles/cockpit/rocky-cockpit_main-20231122.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 257,
|
||||
"height": 40,
|
||||
"ypos": 517,
|
||||
"type": "match",
|
||||
"width": 230
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"ENV-DISTRI-rocky",
|
||||
"cockpit_main"
|
||||
]
|
||||
}
|
BIN
needles/cockpit/rocky-cockpit_main-20231122.png
Normal file
BIN
needles/cockpit/rocky-cockpit_main-20231122.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 78 KiB |
@ -31,7 +31,7 @@ sub run {
|
||||
# note: we can't use wait_screen_change, wait_still_screen or
|
||||
# check_type_string in cockpit because of that fucking constantly
|
||||
# scrolling graph
|
||||
start_cockpit(1);
|
||||
start_cockpit(login => 1);
|
||||
# we may have to scroll down before the button is visible
|
||||
if (check_screen "cockpit_join_domain_button", 5) {
|
||||
click_lastmatch;
|
||||
|
@ -9,7 +9,7 @@ sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Start Cockpit
|
||||
start_cockpit(1);
|
||||
start_cockpit(login => 1);
|
||||
|
||||
# Navigate to the Update screen
|
||||
select_cockpit_update();
|
||||
|
@ -7,7 +7,7 @@ use cockpit;
|
||||
sub run {
|
||||
my $self = shift;
|
||||
# run firefox and login to cockpit
|
||||
start_cockpit(1);
|
||||
start_cockpit(login => 1);
|
||||
# go to the logs screen
|
||||
assert_and_click "cockpit_logs";
|
||||
# the date dropdown changes and messes with the button locations, so wait
|
||||
|
@ -13,7 +13,7 @@ sub run {
|
||||
assert_script_run 'systemctl is-active cockpit.socket';
|
||||
assert_script_run 'firewall-cmd --query-service cockpit';
|
||||
# test cockpit web UI start
|
||||
start_cockpit(0);
|
||||
start_cockpit(login => 0);
|
||||
# quit firefox (return to console)
|
||||
quit_firefox;
|
||||
# we don't get back to a prompt instantly and keystrokes while X
|
||||
|
@ -16,7 +16,7 @@ sub run {
|
||||
verify_installed_packages;
|
||||
|
||||
# Start Cockpit
|
||||
start_cockpit(1);
|
||||
start_cockpit(login => 1);
|
||||
# Navigate to update screen
|
||||
select_cockpit_update();
|
||||
|
||||
@ -74,13 +74,14 @@ sub run {
|
||||
# When Cockpit packages are also included in the updates
|
||||
# the user is forced to reconnect, i.e. to restart the Web Application
|
||||
# and relog for further interaction. We will check if reconnection is
|
||||
# needed and if so, we will restart Firefox and login again.
|
||||
# needed and if so, we will restart Firefox and login again. We do
|
||||
# *not* need to gain admin privs again, trying to do so will fail.
|
||||
#
|
||||
last if (check_screen("cockpit_updates_updated"));
|
||||
if (check_screen("cockpit_updates_reconnect", 1)) {
|
||||
quit_firefox;
|
||||
sleep 5;
|
||||
start_cockpit(1);
|
||||
start_cockpit(login => 1, admin => 0);
|
||||
select_cockpit_update();
|
||||
last;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user