From fe40d947f010e808b8549c558f31668907cf54fb Mon Sep 17 00:00:00 2001 From: kenjis Date: Sun, 3 Sep 2023 06:03:24 +0900 Subject: [PATCH 1/2] test: add test for forceGlobalSecureRequests --- tests/system/Test/FeatureTestTraitTest.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/system/Test/FeatureTestTraitTest.php b/tests/system/Test/FeatureTestTraitTest.php index aee912281c76..9b7b8eed0081 100644 --- a/tests/system/Test/FeatureTestTraitTest.php +++ b/tests/system/Test/FeatureTestTraitTest.php @@ -15,6 +15,8 @@ use CodeIgniter\Events\Events; use CodeIgniter\Exceptions\PageNotFoundException; use CodeIgniter\HTTP\Response; +use CodeIgniter\Test\Mock\MockCodeIgniter; +use Config\App; use Config\Routing; use Config\Services; @@ -629,4 +631,19 @@ public function testAutoRoutingLegacy() $response->assertOK(); } + + public function testForceGlobalSecureRequests() + { + $config = config(App::class); + $config->forceGlobalSecureRequests = true; + Factories::injectMock('config', App::class, $config); + + $this->app = new MockCodeIgniter($config); + $this->app->initialize(); + + $response = $this->get('/'); + + // Do not redirect. + $response->assertStatus(200); + } } From c8fc3d8eeb086e608c100a76a76438f6171a945d Mon Sep 17 00:00:00 2001 From: kenjis Date: Sun, 3 Sep 2023 06:03:45 +0900 Subject: [PATCH 2/2] fix: HTTP tests fail when forceGlobalSecureRequests is true --- system/Test/FeatureTestTrait.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/system/Test/FeatureTestTrait.php b/system/Test/FeatureTestTrait.php index 8243d806bcbc..063a7eec73fa 100644 --- a/system/Test/FeatureTestTrait.php +++ b/system/Test/FeatureTestTrait.php @@ -292,6 +292,9 @@ protected function setupRequest(string $method, ?string $path = null): IncomingR if ($config->forceGlobalSecureRequests) { $_SERVER['HTTPS'] = 'test'; + $server = $request->getServer(); + $server['HTTPS'] = 'test'; + $request->setGlobal('server', $server); } return $request;