diff options
author | Andy Chase <asperous2@gmail.com> | 2013-07-22 11:07:17 -0700 |
---|---|---|
committer | Andy Chase <asperous2@gmail.com> | 2013-07-22 11:07:17 -0700 |
commit | 87e65224d45c0571e90e00156abd165bd6bbe059 (patch) | |
tree | 6c2f20ee9e0f576fa31ff4a08639bafc00cb7de7 | |
parent | 62d7a0570071bb572fa60e502596d21eaee57376 (diff) | |
download | forums-87e65224d45c0571e90e00156abd165bd6bbe059.tar forums-87e65224d45c0571e90e00156abd165bd6bbe059.tar.gz forums-87e65224d45c0571e90e00156abd165bd6bbe059.tar.bz2 forums-87e65224d45c0571e90e00156abd165bd6bbe059.tar.xz forums-87e65224d45c0571e90e00156abd165bd6bbe059.zip |
[ticket/11620] Cherry-Pick merge tests from session-storage-cache
PHPBB3-11620
-rw-r--r-- | tests/session/testable_facade.php | 16 | ||||
-rw-r--r-- | tests/session/unset_admin_test.php | 48 |
2 files changed, 57 insertions, 7 deletions
diff --git a/tests/session/testable_facade.php b/tests/session/testable_facade.php index b9f61b80cb..1cb1c94b52 100644 --- a/tests/session/testable_facade.php +++ b/tests/session/testable_facade.php @@ -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 = "" ) diff --git a/tests/session/unset_admin_test.php b/tests/session/unset_admin_test.php new file mode 100644 index 0000000000..bbb5eb1439 --- /dev/null +++ b/tests/session/unset_admin_test.php @@ -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'); + } +} |