diff options
author | David Lawrence <dkl@mozilla.com> | 2016-02-26 18:57:55 +0100 |
---|---|---|
committer | David Lawrence <dkl@mozilla.com> | 2016-02-26 18:57:55 +0100 |
commit | 9b6ec1f545da1cc4088ddf9cc117747954e58e65 (patch) | |
tree | 6cc3eb342a740b795052e587756f6c33438b772a /xt/selenium/require_login.t | |
parent | 6f70920f2d2bb038a371e3cb3debff44f7001fa8 (diff) | |
download | bugzilla-9b6ec1f545da1cc4088ddf9cc117747954e58e65.tar.gz bugzilla-9b6ec1f545da1cc4088ddf9cc117747954e58e65.tar.xz |
Bug 1069799 - move the QA repository into the main repository
r=LpSolit
Diffstat (limited to 'xt/selenium/require_login.t')
-rw-r--r-- | xt/selenium/require_login.t | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/xt/selenium/require_login.t b/xt/selenium/require_login.t new file mode 100644 index 000000000..d661121b5 --- /dev/null +++ b/xt/selenium/require_login.t @@ -0,0 +1,83 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +use 5.10.1; +use strict; +use warnings; + +use FindBin qw($RealBin); +use lib "$RealBin/../lib"; + +use Test::More "no_plan"; + +use QA::Util; + +my ($sel, $config) = get_selenium(); + +# Turn on 'requirelogin'. + +log_in($sel, $config, 'admin'); +set_parameters($sel, { "User Authentication" => {"requirelogin-on" => undef} }); +logout($sel); + +# We try to access each page. None of the ones listed below should +# let you view it without being logged in. + +my @pages = qw(admin attachment buglist chart colchange describecomponents + describekeywords duplicates editclassifications editcomponents + editfields editflagtypes editgroups editkeywords editmilestones + editparams editproducts editsettings editusers editvalues + editversions editwhines editworkflow enter_bug page post_bug + process_bug query quips report reports request sanitycheck + search_plugin show_activity show_bug showdependencygraph + showdependencytree summarize_time userprefs votes); + +foreach my $page (@pages) { + $sel->open_ok("/$config->{bugzilla_installation}/${page}.cgi"); + if ($page ne 'votes' || $config->{test_extensions}) { + $sel->title_is("Log in to Bugzilla"); + } + else { + $sel->title_is("Extension Disabled"); + } +} + +# Those have parameters passed to the page, so we put them here separately. + +@pages = ("query.cgi?format=report-table", "query.cgi?format=report-graph", + "votes.cgi?action=show_user", "votes.cgi?action=show_bug"); + +foreach my $page (@pages) { + $sel->open_ok("/$config->{bugzilla_installation}/$page"); + if ($page !~ /^votes/ || $config->{test_extensions}) { + $sel->title_is("Log in to Bugzilla"); + } + else { + $sel->title_is("Extension Disabled"); + } +} + +# These pages should still be accessible. + +@pages = ("config.cgi", "createaccount.cgi", "index.cgi", "relogin.cgi", + "token.cgi?a=reqpw&loginname=" . $config->{unprivileged_user_login}); + +foreach my $page (@pages) { + $sel->open_ok("/$config->{bugzilla_installation}/$page"); + $sel->title_isnt("Log in to Bugzilla"); +} + +# Turn off 'requirelogin'. + +log_in($sel, $config, 'admin'); +set_parameters($sel, { "User Authentication" => {"requirelogin-off" => undef} }); +logout($sel); + +# Make sure we can access random pages again. +$sel->click_ok("link=Search"); +$sel->wait_for_page_to_load_ok(WAIT_TIME); +$sel->title_isnt("Log in to Bugzilla"); |