3 namespace Drupal\KernelTests\RequestProcessing;
5 use Drupal\KernelTests\KernelTestBase;
6 use Symfony\Component\HttpFoundation\Request;
7 use Symfony\Component\HttpFoundation\Response;
10 * Tests redirects on exception pages.
12 * @group request_processing
14 class RedirectOnExceptionTest extends KernelTestBase {
19 public static $modules = ['system', 'test_page_test'];
24 protected function setUp() {
27 \Drupal::service('router.builder')->rebuild();
30 public function testRedirectOn404() {
31 \Drupal::configFactory()->getEditable('system.site')
32 ->set('page.404', '/test-http-response-exception/' . Response::HTTP_PERMANENTLY_REDIRECT)
35 /** @var \Symfony\Component\HttpKernel\HttpKernelInterface $http_kernel */
36 $http_kernel = \Drupal::service('http_kernel');
38 // Foo doesn't exist, so this triggers the 404 page.
39 $request = Request::create('/foo');
40 $response = $http_kernel->handle($request);
41 $this->assertEquals(Response::HTTP_PERMANENTLY_REDIRECT, $response->getStatusCode());