mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/11620] Cherry-Pick merge tests from session-storage-cache
PHPBB3-11620
This commit is contained in:
parent
62d7a05700
commit
87e65224d4
2 changed files with 57 additions and 7 deletions
|
@ -77,14 +77,16 @@ class phpbb_session_testable_facade
|
||||||
function session_begin (
|
function session_begin (
|
||||||
$update_session_page = true,
|
$update_session_page = true,
|
||||||
$config_overrides = array(),
|
$config_overrides = array(),
|
||||||
$request_overrides = array()
|
$request_overrides = array(),
|
||||||
|
$cookies_overrides = array()
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
$this->session_factory->merge_config_data($config_overrides);
|
||||||
|
$this->session_factory->merge_server_data($request_overrides);
|
||||||
|
$this->session_factory->set_cookies($cookies_overrides);
|
||||||
$session = $this->session_factory->get_session($this->db);
|
$session = $this->session_factory->get_session($this->db);
|
||||||
global $config, $request;
|
$session->session_begin($update_session_page);
|
||||||
$request->merge(phpbb_request_interface::SERVER, $request_overrides);
|
return $session;
|
||||||
$config = array_merge($config, $config_overrides);
|
|
||||||
return $session->session_begin($update_session_page);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function session_create (
|
function session_create (
|
||||||
|
@ -93,8 +95,8 @@ class phpbb_session_testable_facade
|
||||||
$persist_login = false,
|
$persist_login = false,
|
||||||
$viewonline = true,
|
$viewonline = true,
|
||||||
array $config_overrides = array(),
|
array $config_overrides = array(),
|
||||||
$user_agent,
|
$user_agent = 'user agent',
|
||||||
$ip_address,
|
$ip_address = '127.0.0.1',
|
||||||
array $bot_overrides = array(),
|
array $bot_overrides = array(),
|
||||||
$uri_sid = ""
|
$uri_sid = ""
|
||||||
)
|
)
|
||||||
|
|
48
tests/session/unset_admin_test.php
Normal file
48
tests/session/unset_admin_test.php
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package testing
|
||||||
|
* @copyright (c) 2013 phpBB Group
|
||||||
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once dirname(__FILE__) . '/../test_framework/phpbb_session_test_case.php';
|
||||||
|
|
||||||
|
class phpbb_session_unset_admin_test extends phpbb_session_test_case
|
||||||
|
{
|
||||||
|
public function getDataSet()
|
||||||
|
{
|
||||||
|
return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/sessions_full.xml');
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_test_session()
|
||||||
|
{
|
||||||
|
return $this->session_facade->session_begin(
|
||||||
|
true,
|
||||||
|
// Config
|
||||||
|
array(
|
||||||
|
'session_length' => time(), // need to do this to allow sessions started at time 0
|
||||||
|
),
|
||||||
|
// Server
|
||||||
|
array(
|
||||||
|
'HTTP_USER_AGENT' => "user agent",
|
||||||
|
'REMOTE_ADDR' => "127.0.0.1",
|
||||||
|
),
|
||||||
|
// Cookies
|
||||||
|
array(
|
||||||
|
'_sid' => 'bar_session000000000000000000000',
|
||||||
|
'_u' => 4,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_unset_admin()
|
||||||
|
{
|
||||||
|
$session = $this->get_test_session();
|
||||||
|
$this->assertEquals(1, $session->data['session_admin'], 'should be an admin before test starts');
|
||||||
|
$session->unset_admin();
|
||||||
|
$session = $this->get_test_session();
|
||||||
|
$this->assertEquals(0, $session->data['session_admin'], 'should be not be an admin after unset_admin');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue