截流自动化的商城平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

PsrServerRequestResolverTest.php 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace Symfony\Bridge\PsrHttpMessage\Tests\ArgumentValueResolver;
  3. use PHPUnit\Framework\TestCase;
  4. use Psr\Http\Message\MessageInterface;
  5. use Psr\Http\Message\RequestInterface;
  6. use Psr\Http\Message\ServerRequestInterface;
  7. use Symfony\Bridge\PsrHttpMessage\ArgumentValueResolver\PsrServerRequestResolver;
  8. use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpKernel\Controller\ArgumentResolver;
  11. /**
  12. * @author Alexander M. Turek <me@derrabus.de>
  13. */
  14. final class PsrServerRequestResolverTest extends TestCase
  15. {
  16. public function testServerRequest()
  17. {
  18. $symfonyRequest = $this->createMock(Request::class);
  19. $psrRequest = $this->createMock(ServerRequestInterface::class);
  20. $resolver = $this->bootstrapResolver($symfonyRequest, $psrRequest);
  21. self::assertSame([$psrRequest], $resolver->getArguments($symfonyRequest, static function (ServerRequestInterface $serverRequest): void {}));
  22. }
  23. public function testRequest()
  24. {
  25. $symfonyRequest = $this->createMock(Request::class);
  26. $psrRequest = $this->createMock(ServerRequestInterface::class);
  27. $resolver = $this->bootstrapResolver($symfonyRequest, $psrRequest);
  28. self::assertSame([$psrRequest], $resolver->getArguments($symfonyRequest, static function (RequestInterface $request): void {}));
  29. }
  30. public function testMessage()
  31. {
  32. $symfonyRequest = $this->createMock(Request::class);
  33. $psrRequest = $this->createMock(ServerRequestInterface::class);
  34. $resolver = $this->bootstrapResolver($symfonyRequest, $psrRequest);
  35. self::assertSame([$psrRequest], $resolver->getArguments($symfonyRequest, static function (MessageInterface $request): void {}));
  36. }
  37. private function bootstrapResolver(Request $symfonyRequest, ServerRequestInterface $psrRequest): ArgumentResolver
  38. {
  39. $messageFactory = $this->createMock(HttpMessageFactoryInterface::class);
  40. $messageFactory->expects(self::once())
  41. ->method('createRequest')
  42. ->with(self::identicalTo($symfonyRequest))
  43. ->willReturn($psrRequest);
  44. return new ArgumentResolver(null, [new PsrServerRequestResolver($messageFactory)]);
  45. }
  46. }