![]() 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/dev/tests/integration/testsuite/Magento/Phpserver/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Phpserver; use Symfony\Component\Process\PhpExecutableFinder; use Symfony\Component\Process\Process; /** * @magentoAppIsolation enabled * * @magentoConfigFixture current_store web/secure/base_url http://127.0.0.1:8082/ * @magentoConfigFixture current_store web/unsecure/base_link_url http://127.0.0.1:8082/ * @magentoConfigFixture current_store web/secure/base_link_url http://127.0.0.1:8082/ * @magentoConfigFixture current_store web/secure/use_in_frontend 0 * * @magentoAppArea frontend */ class PhpserverTest extends \PHPUnit\Framework\TestCase { const BASE_URL = '127.0.0.1:8082'; /** * @var Process */ private $serverProcess; /** * @var \Laminas\Http\Client */ private $httpClient; private function getUrl($url) { return sprintf('http://%s/%s', self::BASE_URL, ltrim($url, '/')); } /** * @SuppressWarnings(PHPMD.UnusedLocalVariable) */ protected function setUp(): void { $this->httpClient = new \Laminas\Http\Client(null, ['timeout' => 10]); /** @var Process $process */ $phpBinaryFinder = new PhpExecutableFinder(); $phpBinaryPath = $phpBinaryFinder->find(); $command = sprintf( "%s -S %s -t ./pub ./phpserver/router.php", $phpBinaryPath, self::BASE_URL ); $this->serverProcess = Process::fromShellCommandline( $command, realpath(__DIR__ . '/../../../../../../') ); $this->serverProcess->start(); $this->serverProcess->waitUntil(function ($type, $output) { return strpos($output, "Development Server") !== false; }); } protected function tearDown(): void { $this->serverProcess->stop(); } public function testServerHasPid() { $this->assertTrue($this->serverProcess->getPid() > 0); } public function testServerResponds() { $this->httpClient->setUri($this->getUrl('/')); $response = $this->httpClient->send(); $this->assertFalse($response->isClientError()); } public function testStaticCssFile() { $this->httpClient->setUri($this->getUrl('/errors/default/css/styles.css')); $response = $this->httpClient->send(); $this->assertFalse($response->isClientError()); $this->assertStringStartsWith('text/css', $response->getHeaders()->get('Content-Type')->getMediaType()); } public function testStaticImageFile() { $this->httpClient->setUri($this->getUrl('/errors/default/images/logo.gif')); $response = $this->httpClient->send(); $this->assertFalse($response->isClientError()); $this->assertStringStartsWith('image/gif', $response->getHeaders()->get('Content-Type')->getMediaType()); } }