aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Chase <asperous2@gmail.com>2013-07-22 11:07:17 -0700
committerAndy Chase <asperous2@gmail.com>2013-07-22 11:07:17 -0700
commit87e65224d45c0571e90e00156abd165bd6bbe059 (patch)
tree6c2f20ee9e0f576fa31ff4a08639bafc00cb7de7
parent62d7a0570071bb572fa60e502596d21eaee57376 (diff)
downloadforums-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.php16
-rw-r--r--tests/session/unset_admin_test.php48
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');
+ }
+}