Skip to content

Commit

Permalink
Validate ADDONURL test variable
Browse files Browse the repository at this point in the history
  • Loading branch information
mloviska committed Sep 10, 2018
1 parent 3330322 commit 32c77de
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 11 deletions.
9 changes: 5 additions & 4 deletions products/sle/main.pm
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,12 @@ if (sle_version_at_least('15') && !check_var('SCC_REGISTER', 'installation')) {
my $module_repo_name = get_var($repo_variable_name, $default_repo_name);
my $url = "$utils::OPENQA_FTP_URL/$module_repo_name";
# Verify if url exists before adding
die "URL $url could not be accessed, missing repo?" unless head($url);
set_var('ADDONURL_' . uc $short_name, "$utils::OPENQA_FTP_URL/$module_repo_name");
$addonurl .= "$short_name,";
if (head($url)) {
set_var('ADDONURL_' . uc $short_name, "$utils::OPENQA_FTP_URL/$module_repo_name");
$addonurl .= "$short_name,";
}
}
die '$addonurl (test variable \'ADDONURL\') could not be set' unless $addonurl;

#remove last comma from ADDONURL setting value
$addonurl =~ s/,$//;
set_var("ADDONURL", $addonurl);
Expand Down
36 changes: 29 additions & 7 deletions tests/installation/addon_products_sle.pm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ use utils 'addon_license';
use version_utils qw(is_sle sle_version_at_least);
use qam 'advance_installer_window';
use registration qw(%SLE15_DEFAULT_MODULES rename_scc_addons @SLE15_ADDONS_WITHOUT_LICENSE);
use LWP::Simple 'head';

sub handle_all_packages_medium {
assert_screen 'addon-products-all_packages';
Expand Down Expand Up @@ -126,6 +127,21 @@ sub handle_addon {
}
}

sub test_addonurl {
my $testvalue = get_var('ADDONURL');
my @missing_modules;
my @test_modules = split(/,/, get_var('WORKAROUND_MODULES'));

foreach (@test_modules) {
push @missing_modules, $_ unless ($testvalue =~ $_);
}

if (@missing_modules) {
my $str_missed_mod = join(',', @missing_modules);
die "Missing modules in ADDONURL which are set in WORKAROUND_MODULES: $str_missed_mod";
}
}

sub run {
my ($self) = @_;

Expand Down Expand Up @@ -154,6 +170,11 @@ sub run {
}
}
}
test_addonurl
if is_sle('>=15')
and !check_var('SCC_REGISTER', 'installation')
and (get_var('ALL_MODULES') || get_var('WORKAROUND_MODULES'));

if (get_var("ADDONURL")) {
if (match_has_tag('inst-addon')) {
send_key 'alt-k'; # install with addons
Expand All @@ -167,10 +188,11 @@ sub run {
send_key 'alt-u'; # specify url
send_key $cmd{next};
assert_screen 'addonurl-entry';
send_key 'alt-u'; # select URL field
type_string get_var("ADDONURL_$uc_addon"); # repo URL
send_key 'alt-u'; # select URL field
type_string get_required_var("ADDONURL_$uc_addon"); # repo URL
die "URL ADDONURL_$uc_addon could not be accessed" unless head("ADDONURL_$uc_addon");
send_key $cmd{next};
wait_still_screen; # wait after key is pressed, e.g. 'addon-products' can apper shortly before initialization
wait_still_screen; # wait after key is pressed, e.g. 'addon-products' can apper shortly before initialization
my @tags = ('addon-products', "addon-betawarning-$addon", "addon-license-$addon", 'import-untrusted-gpg-key');
assert_screen(\@tags, 90);
if (match_has_tag("addon-betawarning-$addon") or match_has_tag("addon-license-$addon")) {
Expand All @@ -179,17 +201,17 @@ sub run {
assert_screen "addon-license-beta";
}
wait_still_screen 2;
send_key 'alt-a'; # yes, agree
send_key 'alt-a'; # yes, agree
wait_still_screen 2;
send_key $cmd{next};
assert_screen 'addon-products', 90;
}
elsif (match_has_tag('import-untrusted-gpg-key')) {
send_key 'alt-t';
}
send_key "tab"; # select addon-products-$addon
wait_still_screen 10; # wait until repo is added and list is initialized
if (check_var('VIDEOMODE', 'text')) { # textmode need more tabs, depends on add-on count
send_key "tab"; # select addon-products-$addon
wait_still_screen 10; # wait until repo is added and list is initialized
if (check_var('VIDEOMODE', 'text')) { # textmode need more tabs, depends on add-on count
send_key_until_needlematch "addon-list-selected", 'tab';
}
send_key "pgup";
Expand Down

0 comments on commit 32c77de

Please sign in to comment.