Issue #3429403 by Spokje: Tighten ParameterBag classes in PHPUnit tests

(cherry picked from commit 1feb93274a)
merge-requests/6482/merge
Alex Pott 2024-03-17 11:03:32 +00:00
parent a5826e6864
commit cb28194e8e
No known key found for this signature in database
GPG Key ID: BDA67E7EE836E5CE
6 changed files with 15 additions and 26 deletions

View File

@ -19,7 +19,7 @@ use Drupal\Core\Security\TrustedCallbackInterface;
use Drupal\Core\Theme\ThemeManagerInterface;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\FileBag;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\InputBag;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
@ -967,7 +967,7 @@ class FormBuilder implements FormBuilderInterface, FormValidatorInterface, FormS
$request = $this->requestStack->getCurrentRequest();
// Do not trust any POST data.
$request->request = new ParameterBag();
$request->request = new InputBag();
// Make sure file uploads do not get processed.
$request->files = new FileBag();
// Ensure PHP globals reflect these changes.

View File

@ -12,7 +12,7 @@ use Drupal\Core\Render\BubbleableMetadata;
use Drupal\Core\Url;
use Drupal\language\ConfigurableLanguageManagerInterface;
use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationContentEntity;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\InputBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\ServerBag;
use Symfony\Component\Routing\Route;
@ -106,7 +106,7 @@ class LanguageNegotiationContentEntityTest extends LanguageNegotiationTestBase {
// Case 2: A request is available, but the languageManager is not set and
// the static::QUERY_PARAMETER is not provided as a named parameter.
$request = Request::create('/de/foo', 'GET');
$request->query = new ParameterBag();
$request->query = new InputBag();
$this->assertEquals(NULL, $languageNegotiationContentEntity->getLangcode($request));
// Case 3: A request is available, the languageManager is set, but the

View File

@ -14,7 +14,7 @@ use Drupal\views\Plugin\ViewsPluginManager;
use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\InputBag;
use Symfony\Component\HttpFoundation\Request;
/**
@ -50,18 +50,10 @@ class MediaLibrarySelectFormTest extends UnitTestCase {
$container->set('string_translation', $this->createMock(TranslationInterface::class));
\Drupal::setContainer($container);
$query = $this->getMockBuilder(ParameterBag::class)
->onlyMethods(['all'])
->disableOriginalConstructor()
->getMock();
$query->expects($this->any())
->method('all')
->willReturn([]);
$request = $this->getMockBuilder(Request::class)
->disableOriginalConstructor()
->getMock();
$request->query = $query;
$request->query = new InputBag();
$view = $this->getMockBuilder(ViewExecutable::class)
->onlyMethods(['getRequest', 'initStyle', 'getDisplay'])

View File

@ -7,6 +7,7 @@ namespace Drupal\Tests\Core\Logger;
use Drupal\Core\Logger\LoggerChannel;
use Drupal\Core\Session\AccountInterface;
use Drupal\Tests\UnitTestCase;
use Symfony\Component\HttpFoundation\HeaderBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Psr\Log\LoggerInterface;
@ -142,7 +143,7 @@ class LoggerChannelTest extends UnitTestCase {
$request_mock->expects($this->any())
->method('getClientIp')
->willReturn('127.0.0.1');
$request_mock->headers = $this->createMock('Symfony\Component\HttpFoundation\ParameterBag');
$request_mock->headers = $this->createMock(HeaderBag::class);
// No request or account.
$cases[] = [

View File

@ -6,7 +6,7 @@ namespace Drupal\Tests\Core\Routing;
use Drupal\Core\Routing\ContentTypeHeaderMatcher;
use Drupal\Tests\UnitTestCase;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\HeaderBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\UnsupportedMediaTypeHttpException;
@ -130,7 +130,7 @@ class ContentTypeHeaderMatcherTest extends UnitTestCase {
$routes = $this->fixtures->contentRouteCollection();
$request = Request::create('path/two', 'POST');
// Delete all request headers that Request::create() sets by default.
$request->headers = new ParameterBag();
$request->headers = new HeaderBag();
$this->expectException(UnsupportedMediaTypeHttpException::class);
$this->expectExceptionMessage('No "Content-Type" request header specified');
$matcher->filter($routes, $request);

View File

@ -6,7 +6,7 @@ namespace Drupal\Tests\Core\StackMiddleware;
use Drupal\Core\StackMiddleware\NegotiationMiddleware;
use Drupal\Tests\UnitTestCase;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\InputBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\HttpKernelInterface;
@ -99,11 +99,9 @@ class NegotiationMiddlewareTest extends UnitTestCase {
$request->setRequestFormat()->shouldNotBeCalled();
// Some getContentType calls we don't really care about but have to mock.
$request_data = $this->prophesize(ParameterBag::class);
$request_data->get('ajax_iframe_upload', FALSE)->willReturn(FALSE)->shouldBeCalled();
$request_mock = $request->reveal();
$request_mock->query = new ParameterBag([]);
$request_mock->request = $request_data->reveal();
$request_mock->query = new InputBag();
$request_mock->request = new InputBag();
// Calling kernel app with default arguments.
$this->app->handle($request_mock, HttpKernelInterface::MAIN_REQUEST, TRUE)
@ -139,11 +137,9 @@ class NegotiationMiddlewareTest extends UnitTestCase {
// Some calls we don't care about.
$request->setRequestFormat()->shouldNotBeCalled();
$request_data = $this->prophesize(ParameterBag::class);
$request_data->get('ajax_iframe_upload', FALSE)->willReturn(FALSE)->shouldBeCalled();
$request_mock = $request->reveal();
$request_mock->query = new ParameterBag([]);
$request_mock->request = $request_data->reveal();
$request_mock->query = new InputBag();
$request_mock->request = new InputBag();
// Trigger handle.
$content_negotiation->registerFormat('david', 'geeky/david');