diff options
| author | Andreas Fischer <bantu@phpbb.com> | 2013-07-23 03:12:33 +0200 |
|---|---|---|
| committer | Andreas Fischer <bantu@phpbb.com> | 2013-07-23 03:12:33 +0200 |
| commit | 1004aaf7877f26685992c89532725296ce7f64d0 (patch) | |
| tree | 4f97fc8cb8c534a55495c66c98b901170ecade13 /tests/session/testable_factory.php | |
| parent | 017d809e7495f86005a826ad555cbdfdbb308776 (diff) | |
| parent | 2fe2724e684304e1c8323c047d1dde6cd732afcd (diff) | |
| download | forums-1004aaf7877f26685992c89532725296ce7f64d0.tar forums-1004aaf7877f26685992c89532725296ce7f64d0.tar.gz forums-1004aaf7877f26685992c89532725296ce7f64d0.tar.bz2 forums-1004aaf7877f26685992c89532725296ce7f64d0.tar.xz forums-1004aaf7877f26685992c89532725296ce7f64d0.zip | |
Merge remote-tracking branch 'asperous/ticket/11620' into develop
* asperous/ticket/11620: (46 commits)
[ticket/11620] Whitespace and combine function into test_case
[ticket/11620] Move check_ban_test functions to setUp/tearDown for clarity
[ticket/11620] Changed incorrect global variable
[ticket/11620] Minor indentation changes and comment clarity
[ticket/11620] Expected and actual test conditions wrongly swapped
[ticket/11620] Space between . in directory import concatenation
[ticket/11620] Changes to match merge
[ticket/11620] Changes for code guidelines consistency
[ticket/11620] Fix a static calls to non-static for session captcha
[ticket/11620] Cleanup creation_test that was renamed on a cherry-pick
[ticket/11620] Update auth_provider for new interface
[ticket/11620] Added garbage_collection_test
[ticket/11620] Fixed check_ban_test errors with cache and ban warning message
[ticket/11620] Fixed a typo on check_ban_test
[ticket/11620] Refactored check_isvalid_test to use session_test_case
[ticket/11615] Refactored isvalid test to be more imperative
[ticket/11615] Rename continue -> check_isvalid for clarity
[ticket/11620] Added a test for checking if users are banned
[ticket/11620] Remove typo in beginning of session_key_test
[ticket/11620] Typo in file name session_key_tests -> test
...
Diffstat (limited to 'tests/session/testable_factory.php')
| -rw-r--r-- | tests/session/testable_factory.php | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/tests/session/testable_factory.php b/tests/session/testable_factory.php index 1e2b194ece..8733ce15ef 100644 --- a/tests/session/testable_factory.php +++ b/tests/session/testable_factory.php @@ -2,11 +2,14 @@ /** * * @package testing -* @copyright (c) 2011 phpBB Group +* @copyright (c) 2013 phpBB Group * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * */ +require_once dirname(__FILE__) . '/../mock/container_builder.php'; +require_once dirname(__FILE__) . '/../mock/auth_provider.php'; + /** * This class exists to setup an instance of phpbb's session class for testing. * @@ -16,6 +19,7 @@ */ class phpbb_session_testable_factory { + protected $container; protected $config_data; protected $cache_data; protected $cookies; @@ -65,7 +69,7 @@ class phpbb_session_testable_factory public function get_session(phpbb_db_driver $dbal) { // set up all the global variables used by session - global $SID, $_SID, $db, $config, $cache, $request; + global $SID, $_SID, $db, $config, $cache, $request, $phpbb_container; $request = $this->request = new phpbb_mock_request( array(), @@ -83,6 +87,12 @@ class phpbb_session_testable_factory $cache = $this->cache = new phpbb_mock_cache($this->get_cache_data()); $SID = $_SID = null; + $phpbb_container = $this->container = new phpbb_mock_container_builder(); + $phpbb_container->set( + 'auth.provider.db', + new phpbb_mock_auth_provider() + ); + $session = new phpbb_mock_session_testable; return $session; } @@ -165,6 +175,32 @@ class phpbb_session_testable_factory } /** + * Set cookies, merge config and server data in one step. + * + * New values overwrite old ones. + * + * @param $session_id + * @param $user_id + * @param $user_agent + * @param $ip + * @param int $time + */ + public function merge_test_data($session_id, $user_id, $user_agent, $ip, $time = 0) + { + $this->set_cookies(array( + '_sid' => $session_id, + '_u' => $user_id, + )); + $this->merge_config_data(array( + 'session_length' => time() + $time, // need to do this to allow sessions started at time 0 + )); + $this->merge_server_data(array( + 'HTTP_USER_AGENT' => $user_agent, + 'REMOTE_ADDR' => $ip, + )); + } + + /** * Retrieve all server variables to be passed to the session. * * @return array Server variables |
