Session->id(); return $this->redirect(array( 'controller' => 'trans_session_id', 'action' => 'next_step', '?' => array( $sessionName => $sessionId, ), )); } } /** * ApplicationControllerTest class for testing controllers by using ControllerTestCase. * * ApplicationControllerTest extends ControllerTestCase in contrast * with ControllerTest that extends CakeTestCase. * * @package Cake.Test.Case.Controller */ class ApplicationControllerTest extends ControllerTestCase { /** * setupDown method * * @return void */ public function setUp() : void { CakeSession::destroy(); parent::setUp(); } /** * tearDown method * * @return void */ public function tearDown() : void { CakeSession::destroy(); parent::tearDown(); } /** * Tests the redirect and session config with use_trans_sid=1. * * @return void */ public function testRedirect() { $sessionId = 'o7k64tlhil9pakp89j6d8ovlqk'; $this->testAction('/trans_session_id/next?CAKEPHP=' . $sessionId); $this->assertStringContainsString('/trans_session_id/next_step?CAKEPHP=' . $sessionId, $this->headers['Location']); $expectedConfig = array( 'cookie' => 'CAKEPHP', 'timeout' => 240, 'ini' => array( 'session.use_trans_sid' => 1, 'session.cookie_path' => '/', 'session.cookie_lifetime' => 14400, 'session.name' => 'CAKEPHP', 'session.gc_maxlifetime' => 14400, 'session.cookie_httponly' => 1, 'session.use_cookies' => 0, 'session.use_only_cookies' => 0, ), 'defaults' => 'php', 'cookieTimeout' => 240, 'cacheLimiter' => 'must-revalidate', ); $actualConfig = Configure::read('Session'); $this->assertEquals($expectedConfig, $actualConfig); } }