123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Phpserver;
- /**
- * @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';
- private static $serverPid;
- /**
- * @var \Zend\Http\Client
- */
- private $httpClient;
- /**
- * Instantiate phpserver in the pub folder
- */
- public static function setUpBeforeClass()
- {
- if (!(defined('TRAVIS') && TRAVIS === true)) {
- self::markTestSkipped('Travis environment test');
- }
- $return = [];
- $baseDir = __DIR__ . '/../../../../../../';
- $command = sprintf(
- 'cd %s && php -S %s -t ./pub/ ./phpserver/router.php >/dev/null 2>&1 & echo $!',
- $baseDir,
- static::BASE_URL
- );
- exec($command, $return);
- static::$serverPid = (int) $return[0];
- }
- private function getUrl($url)
- {
- return sprintf('http://%s/%s', self::BASE_URL, ltrim($url, '/'));
- }
- public function setUp()
- {
- $this->httpClient = new \Zend\Http\Client(null, ['timeout' => 10]);
- }
- public function testServerHasPid()
- {
- $this->assertTrue(static::$serverPid > 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());
- }
- public static function tearDownAfterClass()
- {
- posix_kill(static::$serverPid, SIGKILL);
- }
- }
|