1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-04-19 23:32:02 +02:00

[ticket/11620] Cherry-Pick merge tests from session-storage-cache

PHPBB3-11620
This commit is contained in:
Andy Chase 2013-07-22 11:07:17 -07:00
parent 62d7a05700
commit 87e65224d4
2 changed files with 57 additions and 7 deletions

View File

@ -77,14 +77,16 @@ class phpbb_session_testable_facade
function session_begin (
$update_session_page = true,
$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);
global $config, $request;
$request->merge(phpbb_request_interface::SERVER, $request_overrides);
$config = array_merge($config, $config_overrides);
return $session->session_begin($update_session_page);
$session->session_begin($update_session_page);
return $session;
}
function session_create (
@ -93,8 +95,8 @@ class phpbb_session_testable_facade
$persist_login = false,
$viewonline = true,
array $config_overrides = array(),
$user_agent,
$ip_address,
$user_agent = 'user agent',
$ip_address = '127.0.0.1',
array $bot_overrides = array(),
$uri_sid = ""
)

View 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');
}
}