![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-page-cache/Test/Unit/Model/Cache/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\PageCache\Test\Unit\Model\Cache; use Laminas\Uri\UriFactory; use Magento\Framework\App\DeploymentConfig; use Magento\Framework\App\Request\Http; use Magento\Framework\App\RequestInterface; use Magento\Framework\Cache\InvalidateLogger; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use Magento\Framework\UrlInterface; use Magento\PageCache\Model\Cache\Server; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class ServerTest extends TestCase { /** @var Server */ protected $model; /** @var MockObject|DeploymentConfig */ protected $configMock; /** @var MockObject|RequestInterface */ protected $requestMock; /** @var MockObject|UrlInterface */ protected $urlBuilderMock; /** @var MockObject|InvalidateLogger */ private $loggerMock; protected function setUp(): void { $this->configMock = $this->createMock(DeploymentConfig::class); $this->loggerMock = $this->createMock(InvalidateLogger::class); $this->requestMock = $this->createMock(Http::class); $this->urlBuilderMock = $this->getMockBuilder(UrlInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $objectManager = new ObjectManager($this); $this->model = $objectManager->getObject( Server::class, [ 'urlBuilder' => $this->urlBuilderMock, 'config' => $this->configMock, 'request' => $this->requestMock, ] ); } /** * @param int $getHttpHostCallCtr * @param string $httpHost * @param int $getUrlCallCtr * @param string $url * @param string[] $hostConfig * @dataProvider getUrisDataProvider */ public function testGetUris( $getHttpHostCallCtr, $httpHost, $getUrlCallCtr, $url, $hostConfig = null ) { $this->configMock->expects($this->once())->method('get')->willReturn($hostConfig); $this->requestMock->expects($this->exactly($getHttpHostCallCtr))->method('getHttpHost')->willReturn($httpHost); $this->urlBuilderMock->expects($this->exactly($getUrlCallCtr)) ->method('getUrl') ->with('*', ['_nosid' => true]) ->willReturn($url); $uris = []; if (null === $hostConfig) { if (!empty($httpHost)) { $uris[] = UriFactory::factory('')->setHost($httpHost)->setPort(Server::DEFAULT_PORT); } if (!empty($url)) { $uris[] = UriFactory::factory($url); } } else { foreach ($hostConfig as $host) { $port = isset($host['port']) ? $host['port'] : Server::DEFAULT_PORT; $uris[] = UriFactory::factory('')->setHost($host['host'])->setPort($port); } } foreach (array_keys($uris) as $key) { $uris[$key]->setScheme('http') ->setPath('/') ->setQuery(null); } $this->assertEquals($uris, $this->model->getUris()); } /** * @return array */ public function getUrisDataProvider() { return [ 'http host' => [2, '127.0.0.1', 0, ''], 'url' => [1, '', 1, 'http://host'], 'config' => [ 0, '', 0, '', [ ['host' => '127.0.0.1', 'port' => 8080], ['host' => '127.0.0.2', 'port' => 1234], ['host' => 'host'] ] ] ]; } }