From 9a1254b44ef1d93f820dd1074f7fd4362d6f287d Mon Sep 17 00:00:00 2001 From: Nico Schedel Date: Fri, 5 Jul 2019 09:43:54 +0200 Subject: [PATCH] TT#56376 selenium: add file controller_header.t controller_header.t: - create/edit/delelte header rule set - create/edit header rule - check if a second header rule moves up - delete second header rule - create/edit/delete header condition - create/edit header action - check if a second header action moves up - delete header action runner.t: - add controller_header.t to experimental test plan - make controller_header.t manually executable Change-Id: I0cd3c9f3a6b388a0de848ca434926ccbb3620aa2 --- t/selenium/controller_header.t | 307 +++++++++++++++++++++++++++++++++ t/selenium/runner.t | 6 +- 2 files changed, 312 insertions(+), 1 deletion(-) create mode 100644 t/selenium/controller_header.t diff --git a/t/selenium/controller_header.t b/t/selenium/controller_header.t new file mode 100644 index 0000000000..5e43bb5182 --- /dev/null +++ b/t/selenium/controller_header.t @@ -0,0 +1,307 @@ +use warnings; +use strict; + +use lib 't/lib'; +use Test::More import => [qw(done_testing is ok diag todo_skip)]; +use Selenium::Remote::Driver::FirefoxExtensions; +use Selenium::Collection::Common; +use Selenium::Collection::Functions; + +my ($port) = @_; +my $d = Selenium::Collection::Functions::create_driver($port); +my $c = Selenium::Collection::Common->new( + driver => $d +); + +my $resellername = ("reseller" . int(rand(100000)) . "test"); +my $contractid = ("contract" . int(rand(100000)) . "test"); +my $headername = ("header" . int(rand(100000)) . "manipuls"); +my $headerrule = ("header" . int(rand(100000)) . "rule"); +my $headercondition = ("header" . int(rand(100000)) . "condition"); +my $headeraction = ("header" . int(rand(100000)) . "action"); +my $run_ok = 0; + +$c->login_ok(); +$c->create_reseller_contract($contractid); +$c->create_reseller($resellername, $contractid); + +diag('Go to Header Manipulations'); +$d->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click(); +$d->find_element("Header Manipulations", 'link_text')->click(); + +diag('Try to create a empty Header Rule Set'); +$d->find_element("Create Header Rule Set", 'link_text')->click(); +$d->unselect_if_selected('//*[@id="reselleridtable"]/tbody/tr[1]/td[5]/input', 'xpath'); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check if Errors show up'); +ok($d->find_element_by_xpath('//form//div//span[contains(text(), "Reseller field is required")]')); +ok($d->find_element_by_xpath('//form//div//span[contains(text(), "Name field is required")]')); + +diag('Fill in values'); +$d->fill_element('//*[@id="reselleridtable_filter"]/label/input', 'xpath', 'thisshouldnotexist'); +ok($d->find_element_by_css('#reselleridtable tr > td.dataTables_empty', 'css'), 'Garbage text was not found'); +$d->fill_element('//*[@id="reselleridtable_filter"]/label/input', 'xpath', $resellername); +ok($d->wait_for_text('//*[@id="reselleridtable"]/tbody/tr[1]/td[2]', $resellername), "Reseller found"); +$d->select_if_unselected('//*[@id="reselleridtable"]/tbody/tr[1]/td[5]/input', 'xpath'); +$d->fill_element('//*[@id="name"]', 'xpath', $headername); +$d->fill_element('//*[@id="description"]' , 'xpath', 'This is a nice description'); +$d->find_element('//*[@id="save"]')->click(); + +diag('Search for Header Rule set'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule set successfully created', "Correct Alert was shown"); +$d->fill_element('//*[@id="header_rule_set_table_filter"]/label/input', 'xpath', 'thisshouldnotexist'); +ok($d->find_element_by_css('#header_rule_set_table tr > td.dataTables_empty', 'css'), 'Garbage text was not found'); +$d->fill_element('//*[@id="header_rule_set_table_filter"]/label/input', 'xpath', $headername); + +diag('Check Details'); +ok($d->find_element_by_xpath('//*[@id="header_rule_set_table"]//tr[1]//td[contains(text(), "' . $resellername . '")]'), "Reseller is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_set_table"]//tr[1]//td[contains(text(), "' . $headername . '")]'), "Name is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_set_table"]//tr[1]//td[contains(text(), "This is a nice description")]'), "Reseller is correct"); + +diag('Edit Header Rule set'); +$headername = ("header" . int(rand(100000)) . "manipuls"); +$d->move_and_click('//*[@id="header_rule_set_table"]//tr[1]//td//a[contains(text(), "Edit")]', 'xpath', '//*[@id="header_rule_set_table_filter"]/label/input'); +$d->fill_element('//*[@id="name"]', 'xpath', $headername); +$d->fill_element('//*[@id="description"]' , 'xpath', 'This is a very nice description'); +$d->find_element('//*[@id="save"]')->click(); + +diag('Search for Header Rule set'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule set successfully updated', "Correct Alert was shown"); +$d->fill_element('//*[@id="header_rule_set_table_filter"]/label/input', 'xpath', 'thisshouldnotexist'); +ok($d->find_element_by_css('#header_rule_set_table tr > td.dataTables_empty', 'css'), 'Garbage text was not found'); +$d->fill_element('//*[@id="header_rule_set_table_filter"]/label/input', 'xpath', $headername); + +diag('Check Details'); +ok($d->find_element_by_xpath('//*[@id="header_rule_set_table"]//tr[1]//td[contains(text(), "' . $resellername . '")]'), "Reseller is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_set_table"]//tr[1]//td[contains(text(), "' . $headername . '")]'), "Name is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_set_table"]//tr[1]//td[contains(text(), "This is a very nice description")]'), "Reseller is correct"); + +diag('Go to Header Ruleset Rules'); +$d->move_and_click('//*[@id="header_rule_set_table"]//tr[1]//td//a[contains(text(), "Rules")]', 'xpath', '//*[@id="header_rule_set_table_filter"]/label/input'); + +diag('Try to create a empty Header Rule'); +$d->find_element("Create Header Rule", 'link_text')->click(); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check if Errors show up'); +ok($d->find_element_by_xpath('//form//div//span[contains(text(), "Name field is required")]')); +ok($d->find_element_by_xpath('//form//div//span[contains(text(), "Description field is required")]')); + +diag('Fill in Values'); +$d->fill_element('//*[@id="name"]', 'xpath', $headerrule); +$d->fill_element('//*[@id="description"]', 'xpath', 'this is a nice description');+ +$d->find_element('//*[@id="save"]')->click(); + +diag('Check Details'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule successfully created', "Correct Alert was shown"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[contains(text(), "100")]'), "Priority is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[contains(text(), "' . $headerrule . '")]'), "Name is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[contains(text(), "this is a nice description")]'), "Reseller is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[contains(text(), "inbound")]'), "Direction is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[6][contains(text(), "0")]'), "Stopper is correct"); +ok($d->wait_for_text('//*[@id="header_rules_table"]//tr[1]//td[7]', '1'), "Enabled is correct"); + +diag('Edit Header Rule'); +$headerrule = ("header" . int(rand(100000)) . "rule"); +$d->move_and_click('//*[@id="header_rules_table"]//tr[1]//td//a[contains(text(), "Edit")]', 'xpath', '//*[@id="header_rules_table_filter"]/label/input'); +$d->fill_element('//*[@id="priority"]', 'xpath', '1'); +$d->fill_element('//*[@id="name"]', 'xpath', $headerrule); +$d->find_element('//*[@id="direction"]/option[@value="outbound"]')->click(); +$d->fill_element('//*[@id="description"]', 'xpath', 'this is a very nice description'); +$d->select_if_unselected('//*[@id="stopper"]'); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check Details'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule successfully updated', "Correct Alert was shown"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[contains(text(), "1")]'), "Priority is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[contains(text(), "' . $headerrule . '")]'), "Name is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[contains(text(), "this is a very nice description")]'), "Reseller is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[contains(text(), "outbound")]'), "Direction is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rules_table"]//tr[1]//td[6][contains(text(), "1")]'), "Stopper is correct"); +ok($d->wait_for_text('//*[@id="header_rules_table"]//tr[1]//td[7]', '1'), "Enabled is correct"); + +diag('Create a Second Header Rule'); +$d->find_element("Create Header Rule", 'link_text')->click(); +$d->fill_element('//*[@id="name"]', 'xpath', 'second'); +$d->fill_element('//*[@id="description"]', 'xpath', 'this is a nice description');+ +$d->find_element('//*[@id="save"]')->click(); + +diag('Move new entry up'); +$d->move_and_click('//*[@id="header_rules_table"]//tr/td[contains(text(), "second")]/../td/div/a[1]', 'xpath', '//*[@id="header_rules_table_filter"]//input'); + +diag('Check if Entry has moved up'); +ok($d->wait_for_text('//*[@id="header_rules_table"]//tr[1]/td[3]', 'second'), "Entry has been moved"); + +diag('Delete Second Header Rule'); +$d->fill_element('//*[@id="header_rules_table_filter"]//input', 'xpath', 'thisshouldnotexist'); +ok($d->find_element_by_css('#header_rules_table tr > td.dataTables_empty', 'css'), 'Garbage text was not found'); +$d->fill_element('//*[@id="header_rules_table_filter"]//input', 'xpath', 'second'); +ok($d->wait_for_text('//*[@id="header_rules_table"]//tr[1]//td[3]', 'second'), "Header Rule was found"); +$d->move_and_click('//*[@id="header_rules_table"]//tr[1]//td//a[contains(text(), "Delete")]', 'xpath', '//*[@id="header_rules_table_filter"]//input'); +$d->find_element('//*[@id="dataConfirmOK"]')->click(); + +diag('Check if Header Rule was deleted'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule successfully deleted', "Correct Alert was shown"); +$d->fill_element('//*[@id="header_rules_table_filter"]//input', 'xpath', 'second'); +ok($d->find_element_by_css('#header_rules_table tr > td.dataTables_empty', 'css'), 'Header Rule was deleted'); + +diag('Go to Rule Conditions'); +$d->fill_element('//*[@id="header_rules_table_filter"]//input', 'xpath', $headerrule); +$d->move_and_click('//*[@id="header_rules_table"]//tr[1]//td//a[contains(text(), "Conditions")]', 'xpath', '//*[@id="header_rules_table_filter"]/label/input'); +ok($d->wait_for_text('//*[@id="masthead"]/div/div/div/h2', "Header Rule Conditions for $headerrule"), "We are on the correct page"); + +diag('Trying to create a empty Header Rule Condition'); +$d->find_element("Create Header Rule Condition", 'link_text')->click(); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check if errors show up'); +ok($d->find_element_by_xpath('//form//div//span[contains(text(), "Name field is required")]')); + +diag('Fill in values'); +$d->fill_element('//*[@id="match_name"]', 'xpath', $headercondition); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check Details'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule condition successfully created', "Correct Alert was shown"); +ok($d->wait_for_text('//*[@id="header_rule_conditions_table"]//tr[1]//td[4]', $headercondition), "Name is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "header")]'), "Match is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "full")]'), "Part is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "is")]'), "Expression is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "input")]'), "Type is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "1")]'), "Condition is enabled"); + +diag('Edit Condition'); +$headercondition = ("header" . int(rand(100000)) . "condition"); +$d->move_and_click('//*[@id="header_rule_conditions_table"]//tr[1]//td//a[contains(text(), "Edit")]', 'xpath', '//*[@id="header_rule_conditions_table_filter"]//input'); +$d->find_element('//*[@id="match_type"]/option[@value="avp"]')->click(); +$d->find_element('//*[@id="match_part"]/option[@value="port"]')->click(); +$d->fill_element('//*[@id="match_name"]', 'xpath', $headercondition); +$d->find_element('//*[@id="expression"]/option[@value="matches"]')->click(); +$d->select_if_unselected('//*[@id="expression_negation"]'); +$d->find_element('//*[@id="value_type"]/option[@value="preference"]')->click(); +$d->scroll_to_element($d->find_element('//*[@id="value_add"]')); +$d->unselect_if_selected('//*[@id="enabled"]'); +$d->find_element('//*[@id="value_add"]')->click(); +$d->fill_element('//*[@id="values.0.value"]', 'xpath', 'randomvalue'); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check Details'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule condition successfully updated', "Correct Alert was shown"); +ok($d->wait_for_text('//*[@id="header_rule_conditions_table"]//tr[1]//td[4]', $headercondition), "Name is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "avp")]'), "Match is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "port")]'), "Part is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "! matches")]'), "Expression is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "preference")]'), "Type is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "randomvalue")]'), "Value is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_conditions_table"]//tr[1]//td[contains(text(), "0")]'), "Condition is disabled"); + +diag('Delete Header Rule Condition'); +$d->fill_element('//*[@id="header_rule_conditions_table_filter"]//input', 'xpath', 'thisshouldnotexist'); +ok($d->find_element_by_css('#header_rule_conditions_table tr > td.dataTables_empty', 'css'), 'Garbage text was not found'); +$d->fill_element('//*[@id="header_rule_conditions_table_filter"]//input', 'xpath', $headercondition); +ok($d->wait_for_text('//*[@id="header_rule_conditions_table"]//tr[1]//td[4]', $headercondition), "Header Rule Condition was found"); +$d->move_and_click('//*[@id="header_rule_conditions_table"]//tr[1]//td//a[contains(text(), "Delete")]', 'xpath', '//*[@id="header_rule_conditions_table_filter"]//input'); +$d->find_element('//*[@id="dataConfirmOK"]')->click(); + +diag('Check if Header Rule Condition was deleted'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule condition successfully deleted', "Correct Alert was shown"); +$d->fill_element('//*[@id="header_rule_conditions_table_filter"]//input', 'xpath', $headercondition); +ok($d->find_element_by_css('#header_rule_conditions_table tr > td.dataTables_empty', 'css'), 'Header Rule Condition was deleted'); + +diag('Go to Header Rule Actions'); +$d->find_element('Actions', 'link_text')->click(); + +diag('Trying to create a empty Header Rule Action'); +$d->find_element('Create Header Rule Action', 'link_text')->click(); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check if Errors show up'); +ok($d->find_element_by_xpath('//form//div//span[contains(text(), "Header field is required")]')); + +diag('Fill in values'); +$d->fill_element('//*[@id="c_header"]', 'xpath', $headeraction); +$d->find_element('//*[@id="value_part"]/option[@value="domain"]')->click(); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check Details'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule action successfully created', "Correct Alert was shown"); +ok($d->wait_for_text('//*[@id="header_rule_actions_table"]/tbody/tr[1]/td[3]', $headeraction), "Name is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_actions_table"]//tr[1]//td[contains(text(), "full")]'), "Header Part is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_actions_table"]//tr[1]//td[contains(text(), "set")]'), "Type is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_actions_table"]//tr[1]//td[contains(text(), "domain")]'), "Value Part is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_actions_table"]//tr[1]//td[contains(text(), "1")]'), "Action is Enabled"); + +diag('Edit Header Rule Action'); +$headeraction = ("header" . int(rand(100000)) . "action"); +$d->move_and_click('//*[@id="header_rule_actions_table"]//tr[1]//td//a[contains(text(), "Edit")]', 'xpath', '//*[@id="header_rule_actions_table_filter"]//input'); +$d->fill_element('//*[@id="c_header"]', 'xpath', $headeraction); +$d->find_element('//*[@id="header_part"]/option[@value="port"]')->click(); +$d->find_element('//*[@id="action_type"]/option[@value="add"]')->click(); +$d->find_element('//*[@id="value_part"]/option[@value="username"]')->click(); +$d->fill_element('//*[@id="value"]', 'xpath', 'randomvalue'); +$d->scroll_to_element($d->find_element('//*[@id="enabled"]')); +$d->unselect_if_selected('//*[@id="enabled"]'); +$d->find_element('//*[@id="save"]')->click(); + +diag('Check Details'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule action successfully updated', "Correct Alert was shown"); +ok($d->wait_for_text('//*[@id="header_rule_actions_table"]/tbody/tr[1]/td[3]', $headeraction), "Name is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_actions_table"]//tr[1]//td[contains(text(), "port")]'), "Header Part is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_actions_table"]//tr[1]//td[contains(text(), "add")]'), "Type is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_actions_table"]//tr[1]//td[contains(text(), "username")]'), "Value Part is correct"); +ok($d->find_element_by_xpath('//*[@id="header_rule_actions_table"]//tr[1]//td[contains(text(), "0")]'), "Action is Disabled"); + +diag('Create a second Header Rule action'); +$d->find_element('Create Header Rule Action', 'link_text')->click(); +$d->fill_element('//*[@id="c_header"]', 'xpath', 'second'); +$d->find_element('//*[@id="save"]')->click(); + +diag('Move new entry up'); +$d->move_and_click('//*[@id="header_rule_actions_table"]//tr/td[contains(text(), "second")]/../td/div/a[1]', 'xpath', '//*[@id="header_rule_actions_table_filter"]//input'); + +diag('Check if Entry has moved up'); +ok($d->wait_for_text('//*[@id="header_rule_actions_table"]//tr[1]/td[3]', 'second'), "Entry has been moved"); + +diag('Delete Header Rule Action'); +$d->fill_element('//*[@id="header_rule_actions_table_filter"]//input', 'xpath', 'thisshouldnotexist'); +ok($d->find_element_by_css('#header_rule_actions_table tr > td.dataTables_empty', 'css'), 'Garbage text was not found'); +$d->fill_element('//*[@id="header_rule_actions_table_filter"]//input', 'xpath', $headeraction); +ok($d->wait_for_text('//*[@id="header_rule_actions_table"]//tr[1]//td[3]', $headeraction), "Header Rule Condition was found"); +$d->move_and_click('//*[@id="header_rule_actions_table"]//tr[1]//td//a[contains(text(), "Delete")]', 'xpath', '//*[@id="header_rule_actions_table_filter"]//input'); +$d->find_element('//*[@id="dataConfirmOK"]')->click(); + +diag('Check if Header Rule Action was deleted'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule action successfully deleted', "Correct Alert was shown"); +$d->fill_element('//*[@id="header_rule_actions_table_filter"]//input', 'xpath', $headeraction); +ok($d->find_element_by_css('#header_rule_actions_table tr > td.dataTables_empty', 'css'), 'Header Rule Condition was deleted'); + +diag('Go back to Header Manipulations'); +$d->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click(); +$d->find_element("Header Manipulations", 'link_text')->click(); + +diag('Delete Header Rule set'); +$d->fill_element('//*[@id="header_rule_set_table_filter"]/label/input', 'xpath', 'thisshouldnotexist'); +ok($d->find_element_by_css('#header_rule_set_table tr > td.dataTables_empty', 'css'), 'Garbage text was not found'); +$d->fill_element('//*[@id="header_rule_set_table_filter"]/label/input', 'xpath', $headername); +ok($d->find_element_by_xpath('//*[@id="header_rule_set_table"]//tr[1]//td[contains(text(), "' . $headername . '")]'), "Header Rule set was found"); +$d->move_and_click('//*[@id="header_rule_set_table"]//tr[1]//td//a[contains(text(), "Delete")]', 'xpath', '//*[@id="header_rule_set_table_filter"]/label/input'); +$d->find_element('//*[@id="dataConfirmOK"]')->click(); + +diag('Check if Header Rule set was deleted'); +is($d->get_text('//*[@id="content"]//div[contains(@class, "alert")]'), 'Header rule set successfully deleted', "Correct Alert was shown"); +$d->fill_element('//*[@id="header_rule_set_table_filter"]/label/input', 'xpath', $headername); +ok($d->find_element_by_css('#header_rule_set_table tr > td.dataTables_empty', 'css'), 'Header Rule set was deleted'); + +$c->delete_reseller_contract($contractid); +$c->delete_reseller($resellername); + +diag("This test run was successfull"); +$run_ok = 1; + +END { + if(!$run_ok) { + $c->crash_handler("/results/crash_header.png"); + } + done_testing; +} \ No newline at end of file diff --git a/t/selenium/runner.t b/t/selenium/runner.t index 44eac84490..1280cc77a1 100644 --- a/t/selenium/runner.t +++ b/t/selenium/runner.t @@ -25,7 +25,7 @@ if(!admin_login()) { if($testplan eq $dir . 'runner.t') { @tests = ($dir . 'controller_subscriber.t', $dir . 'controller_admin.t', $dir . 'controller_billing.t', $dir . 'controller_customer.t', $dir . 'controller_domain.t', $dir . 'controller_emergency.t', $dir . 'controller_invoice.t', $dir . 'controller_ncos.t', $dir . 'controller_peering.t', $dir . 'controller_reseller.t', $dir . 'controller_rw_ruleset.t'); } elsif($testplan eq 'exp') { - @tests = ($dir . 'controller_subscriber.t', $dir . 'controller_admin.t', $dir . 'controller_billing.t', $dir . 'controller_customer.t', $dir . 'controller_domain.t', $dir . 'controller_emergency.t', $dir . 'controller_invoice.t', $dir . 'controller_ncos.t', $dir . 'controller_peering.t', $dir . 'controller_reseller.t', $dir . 'controller_rw_ruleset.t', $dir . 'controller_timeset.t'); + @tests = ($dir . 'controller_subscriber.t', $dir . 'controller_admin.t', $dir . 'controller_billing.t', $dir . 'controller_customer.t', $dir . 'controller_domain.t', $dir . 'controller_emergency.t', $dir . 'controller_header.t', $dir . 'controller_invoice.t', $dir . 'controller_ncos.t', $dir . 'controller_peering.t', $dir . 'controller_reseller.t', $dir . 'controller_rw_ruleset.t', $dir . 'controller_timeset.t'); } else { if (index($testplan, $dir . 'controller_admin.t') != -1) { $string = $dir . 'controller_admin.t'; @@ -47,6 +47,10 @@ if($testplan eq $dir . 'runner.t') { $string = $dir . 'controller_emergency.t'; push @tests, $string; }; + if (index($testplan, $dir . 'controller_header.t') != -1) { + $string = $dir . 'controller_header.t'; + push @tests, $string; + }; if (index($testplan, $dir . 'controller_invoice.t') != -1) { $string = $dir . 'controller_invoice.t'; push @tests, $string;