Skip to content

Commit

Permalink
MDL-72173 behat: Add and use behat logout URL
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewnicols committed Sep 16, 2021
1 parent 1349e5d commit 3ea7982
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 8 deletions.
9 changes: 2 additions & 7 deletions auth/tests/behat/behat_auth.php
Expand Up @@ -53,7 +53,7 @@ public function i_log_in_as(string $username, moodle_url $wantsurl = null) {
return;
}

$loginurl = new moodle_url('/lib/tests/behat/login.php', [
$loginurl = new moodle_url('/auth/tests/behat/login.php', [
'username' => $username,
]);
if ($wantsurl !== null) {
Expand All @@ -70,11 +70,6 @@ public function i_log_in_as(string $username, moodle_url $wantsurl = null) {
* @Given /^I log out$/
*/
public function i_log_out() {

// Wait for page to be loaded.
$this->wait_for_pending_js();

// Click on logout link in footer, as it's much faster.
$this->execute('behat_general::i_click_on_in_the', array(get_string('logout'), 'link', '#page-footer', "css_element"));
$this->execute('behat_general::i_visit', [new moodle_url('/auth/tests/behat/logout.php')]);
}
}
2 changes: 1 addition & 1 deletion lib/tests/behat/login.php → auth/tests/behat/login.php
Expand Up @@ -58,7 +58,7 @@
$reason = get_string('unauthorisedlogin', 'core', $username);
break;
default:
$reason = "Unknown login failure: '{$failureeason}'";
$reason = "Unknown login failure: '{$failurereason}'";
break;

}
Expand Down
41 changes: 41 additions & 0 deletions auth/tests/behat/logout.php
@@ -0,0 +1,41 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
// phpcs:disable moodle.Files.RequireLogin.Missing
// phpcs:disable moodle.PHP.ForbiddenFunctions.Found

/**
* Login end point for Behat tests only.
*
* @package core_auth
* @category test
* @copyright Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require(__DIR__.'/../../../config.php');

$behatrunning = defined('BEHAT_SITE_RUNNING') && BEHAT_SITE_RUNNING;
if (!$behatrunning) {
redirect(new moodle_url('/login/logout.php'));
}

require_logout();

$login = optional_param('loginpage', 0, PARAM_BOOL);
if ($login) {
redirect(get_login_url());
} else {
redirect(new moodle_url('/'));
}

0 comments on commit 3ea7982

Please sign in to comment.