Merge branch 'develop'

This commit is contained in:
Trevor Cooper 2023-12-09 09:18:31 -08:00
commit ecdbcef3e2
Signed by: tcooper
GPG Key ID: 52364D7BBCEB35B8
20 changed files with 146 additions and 11 deletions

View File

@ -13,8 +13,12 @@ our @EXPORT = qw(start_cockpit select_cockpit_update check_updates);
sub start_cockpit { sub start_cockpit {
# Starting from a console, get to a browser with Cockpit (running # 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. # X and Firefox are installed.
my %args = @_;
$args{login} //= 0;
$args{admin} //= 1;
my $login = shift || 0; my $login = shift || 0;
# https://bugzilla.redhat.com/show_bug.cgi?id=1439429 # 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"; 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... # this happened on early Modular Server composes...
record_soft_failure "Unbranded Cockpit" if (match_has_tag "cockpit_login_unbranded"); record_soft_failure "Unbranded Cockpit" if (match_has_tag "cockpit_login_unbranded");
wait_still_screen(stilltime => 5, similarity_level => 45); wait_still_screen(stilltime => 5, similarity_level => 45);
if ($login) { if ($args{login}) {
type_safely "root"; type_safely "test";
wait_screen_change { send_key "tab"; }; wait_screen_change { send_key "tab"; };
type_safely get_var("ROOT_PASSWORD", "weakpassword"); type_safely get_var("USER_PASSWORD", "weakpassword");
send_key "ret"; 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"; assert_screen "cockpit_main";
# wait for any animation or other weirdness # wait for any animation or other weirdness
# can't use wait_still_screen because of that damn graph # can't use wait_still_screen because of that damn graph

View File

@ -0,0 +1,28 @@
{
"area": [
{
"height": 22,
"width": 114,
"click_point": {
"xpos": 57,
"ypos": 11
},
"ypos": 695,
"xpos": 15,
"type": "match"
},
{
"type": "match",
"ypos": 639,
"xpos": 5,
"height": 19,
"width": 390
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"LANGUAGE-arabic",
"anaconda_install_done"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"xpos": 719,
"height": 18,
"type": "match",
"ypos": 359,
"width": 105
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_network_connected"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"xpos": 294,
"ypos": 242,
"width": 102,
"height": 16,
"type": "match"
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"cockpit_admin_enable"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"ypos": 242,
"width": 102,
"type": "match",
"xpos": 294,
"height": 16
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"cockpit_admin_enable"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"xpos": 255,
"ypos": 394,
"width": 122,
"height": 18,
"type": "match"
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"cockpit_admin_password"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"xpos": 257,
"height": 40,
"ypos": 517,
"type": "match",
"width": 230
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"cockpit_main"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"height": 24,
"xpos": 255,
"width": 156,
"ypos": 221,
"type": "match"
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"cockpit_join_domain"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -31,7 +31,7 @@ sub run {
# note: we can't use wait_screen_change, wait_still_screen or # note: we can't use wait_screen_change, wait_still_screen or
# check_type_string in cockpit because of that fucking constantly # check_type_string in cockpit because of that fucking constantly
# scrolling graph # scrolling graph
start_cockpit(1); start_cockpit(login => 1);
# we may have to scroll down before the button is visible # we may have to scroll down before the button is visible
if (check_screen "cockpit_join_domain_button", 5) { if (check_screen "cockpit_join_domain_button", 5) {
click_lastmatch; click_lastmatch;

View File

@ -9,7 +9,7 @@ sub run {
my $self = shift; my $self = shift;
# Start Cockpit # Start Cockpit
start_cockpit(1); start_cockpit(login => 1);
# Navigate to the Update screen # Navigate to the Update screen
select_cockpit_update(); select_cockpit_update();

View File

@ -7,7 +7,7 @@ use cockpit;
sub run { sub run {
my $self = shift; my $self = shift;
# run firefox and login to cockpit # run firefox and login to cockpit
start_cockpit(1); start_cockpit(login => 1);
# go to the logs screen # go to the logs screen
assert_and_click "cockpit_logs"; assert_and_click "cockpit_logs";
# the date dropdown changes and messes with the button locations, so wait # the date dropdown changes and messes with the button locations, so wait

View File

@ -13,7 +13,7 @@ sub run {
assert_script_run 'systemctl is-active cockpit.socket'; assert_script_run 'systemctl is-active cockpit.socket';
assert_script_run 'firewall-cmd --query-service cockpit'; assert_script_run 'firewall-cmd --query-service cockpit';
# test cockpit web UI start # test cockpit web UI start
start_cockpit(0); start_cockpit(login => 0);
# quit firefox (return to console) # quit firefox (return to console)
quit_firefox; quit_firefox;
# we don't get back to a prompt instantly and keystrokes while X # we don't get back to a prompt instantly and keystrokes while X

View File

@ -16,7 +16,7 @@ sub run {
verify_installed_packages; verify_installed_packages;
# Start Cockpit # Start Cockpit
start_cockpit(1); start_cockpit(login => 1);
# Navigate to update screen # Navigate to update screen
select_cockpit_update(); select_cockpit_update();
@ -74,13 +74,14 @@ sub run {
# When Cockpit packages are also included in the updates # When Cockpit packages are also included in the updates
# the user is forced to reconnect, i.e. to restart the Web Application # the user is forced to reconnect, i.e. to restart the Web Application
# and relog for further interaction. We will check if reconnection is # 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")); last if (check_screen("cockpit_updates_updated"));
if (check_screen("cockpit_updates_reconnect", 1)) { if (check_screen("cockpit_updates_reconnect", 1)) {
quit_firefox; quit_firefox;
sleep 5; sleep 5;
start_cockpit(1); start_cockpit(login => 1, admin => 0);
select_cockpit_update(); select_cockpit_update();
last; last;