diff options
author | Andy Chase <asperous2@gmail.com> | 2013-07-05 13:10:27 -0700 |
---|---|---|
committer | Andy Chase <asperous2@gmail.com> | 2013-07-05 14:10:02 -0700 |
commit | 521d35dd6eaf7a6cd8be1ebd8591e4b2b21fd99f (patch) | |
tree | f244215b7d570fc7f58ff92648ffb06b54caa7ce /tests/session/create_test.php | |
parent | 7ef95ce8ac8d189c65c3c3b27f0da9d1ac46877c (diff) | |
download | forums-521d35dd6eaf7a6cd8be1ebd8591e4b2b21fd99f.tar forums-521d35dd6eaf7a6cd8be1ebd8591e4b2b21fd99f.tar.gz forums-521d35dd6eaf7a6cd8be1ebd8591e4b2b21fd99f.tar.bz2 forums-521d35dd6eaf7a6cd8be1ebd8591e4b2b21fd99f.tar.xz forums-521d35dd6eaf7a6cd8be1ebd8591e4b2b21fd99f.zip |
[ticket/11620] Add create_test with test for bot detection
Added a test for the creation of a session with a simple test
for detecting whether a bot is present.
PHPBB3-11620
Diffstat (limited to 'tests/session/create_test.php')
-rw-r--r-- | tests/session/create_test.php | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/tests/session/create_test.php b/tests/session/create_test.php new file mode 100644 index 0000000000..773b833cf8 --- /dev/null +++ b/tests/session/create_test.php @@ -0,0 +1,86 @@ +<?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__) . '/testable_facade.php'; + +class phpbb_session_create_test extends phpbb_database_test_case +{ + public $session_factory; + public $db; + public $session_facade; + + public function getDataSet() + { + return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/sessions_full.xml'); + } + + public function setUp() + { + $this->session_factory = new phpbb_session_testable_factory; + $this->db = $this->new_dbal(); + $this->session_facade = + new phpbb_session_testable_facade($this->db, $this->session_factory); + } + + static function bot($bot_agent, $user_id, $bot_ip) + { + return array(array( + 'bot_agent' => $bot_agent, + 'user_id' => $user_id, + 'bot_ip' => $bot_ip + )); + } + + static function create_inputs() { + return array( + array( + false, + false, + false, + false, + array(), + 'user agent', + '127.0.0.1', + self::bot('user agent', 13, '127.0.0.1'), + '', + function ($test, $output) { + $test->assertEquals($output->data['is_bot'], true, "should be a bot"); + } + ) + ); + } + + /** @dataProvider create_inputs */ + function test_session_create ( + $user_id = false, + $set_admin = false, + $persist_login = false, + $viewonline = true, + array $config_overrides = array(), + $user_agent = "", + $ip_address = "", + array $bot_overrides = array(), + $uri_sid = "", + $test_function + ) + { + $output = $this->session_facade->session_create( + $user_id, + $set_admin, + $persist_login, + $viewonline, + $config_overrides, + $user_agent, + $ip_address, + $bot_overrides, + $uri_sid + ); + $test_function($this, $output); + } +} |