mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 08:56:36 +02:00
MDL-37324 fix phpunit and behat SESSION and USER setup
This commit is contained in:
parent
c925e4fa8e
commit
de230fd359
3 changed files with 14 additions and 8 deletions
|
@ -155,8 +155,9 @@ class manager {
|
||||||
$_SESSION['USER']->mnethostid = 1;
|
$_SESSION['USER']->mnethostid = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PHPUNIT_TEST) {
|
if (PHPUNIT_TEST or defined('BEHAT_TEST')) {
|
||||||
// Phpunit tests use reversed reference.
|
// Phpunit tests and behat init use reversed reference,
|
||||||
|
// the reason is we can not point global to $_SESSION outside of global scope.
|
||||||
global $USER, $SESSION;
|
global $USER, $SESSION;
|
||||||
$USER = $_SESSION['USER'];
|
$USER = $_SESSION['USER'];
|
||||||
$SESSION = $_SESSION['SESSION'];
|
$SESSION = $_SESSION['SESSION'];
|
||||||
|
@ -597,8 +598,9 @@ class manager {
|
||||||
}
|
}
|
||||||
sesskey(); // Init session key.
|
sesskey(); // Init session key.
|
||||||
|
|
||||||
if (PHPUNIT_TEST) {
|
if (PHPUNIT_TEST or defined('BEHAT_TEST')) {
|
||||||
// Phpunit tests use reversed reference.
|
// Phpunit tests and behat init use reversed reference,
|
||||||
|
// the reason is we can not point global to $_SESSION outside of global scope.
|
||||||
global $USER;
|
global $USER;
|
||||||
$USER = $_SESSION['USER'];
|
$USER = $_SESSION['USER'];
|
||||||
$_SESSION['USER'] =& $USER;
|
$_SESSION['USER'] =& $USER;
|
||||||
|
|
|
@ -765,8 +765,10 @@ if (empty($CFG->sessiontimeout)) {
|
||||||
$CFG->sessiontimeout = 7200;
|
$CFG->sessiontimeout = 7200;
|
||||||
}
|
}
|
||||||
\core\session\manager::start();
|
\core\session\manager::start();
|
||||||
|
if (!PHPUNIT_TEST and !defined('BEHAT_TEST')) {
|
||||||
$SESSION =& $_SESSION['SESSION'];
|
$SESSION =& $_SESSION['SESSION'];
|
||||||
$USER =& $_SESSION['USER'];
|
$USER =& $_SESSION['USER'];
|
||||||
|
}
|
||||||
|
|
||||||
// Late profiling, only happening if early one wasn't started
|
// Late profiling, only happening if early one wasn't started
|
||||||
if (!empty($CFG->profilingenabled)) {
|
if (!empty($CFG->profilingenabled)) {
|
||||||
|
|
|
@ -162,8 +162,10 @@ class behat_hooks extends behat_base {
|
||||||
behat_selectors::register_moodle_selectors($session);
|
behat_selectors::register_moodle_selectors($session);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Avoid some notices / warnings.
|
// Reset $SESSION.
|
||||||
|
$_SESSION = array();
|
||||||
$SESSION = new stdClass();
|
$SESSION = new stdClass();
|
||||||
|
$_SESSION['SESSION'] =& $SESSION;
|
||||||
|
|
||||||
behat_util::reset_database();
|
behat_util::reset_database();
|
||||||
behat_util::reset_dataroot();
|
behat_util::reset_dataroot();
|
||||||
|
@ -174,7 +176,7 @@ class behat_hooks extends behat_base {
|
||||||
// Reset the nasty strings list used during the last test.
|
// Reset the nasty strings list used during the last test.
|
||||||
nasty_strings::reset_used_strings();
|
nasty_strings::reset_used_strings();
|
||||||
|
|
||||||
// Assing valid data to admin user (some generator-related code needs a valid user).
|
// Assign valid data to admin user (some generator-related code needs a valid user).
|
||||||
$user = $DB->get_record('user', array('username' => 'admin'));
|
$user = $DB->get_record('user', array('username' => 'admin'));
|
||||||
\core\session\manager::set_user($user);
|
\core\session\manager::set_user($user);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue