/** * @dataProvider session_begin_attempts */ public function test_session_begin_valid_session($session_id, $user_id, $user_agent, $ip, $expected_sessions, $expected_cookies, $message) { $db = $this->new_dbal(); $session_factory = new phpbb_session_testable_factory(); $session_factory->set_cookies(array('_sid' => $session_id, '_u' => $user_id)); $session_factory->merge_config_data(array('session_length' => time())); $session_factory->merge_server_data(array('HTTP_USER_AGENT' => $user_agent, 'REMOTE_ADDR' => $ip)); $session = $session_factory->get_session($db); $session->page = array('page' => 'page', 'forum' => 0); $session->session_begin(); $sql = 'SELECT session_id, session_user_id FROM phpbb_sessions ORDER BY session_user_id'; $expected_sessions = $this->replace_session($expected_sessions, $session->session_id); $expected_cookies = $this->replace_session($expected_cookies, $session->session_id); $this->assertSqlResultEquals($expected_sessions, $sql, $message); $session->check_cookies($this, $expected_cookies); $session_factory->check($this); }