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; 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); + } }