12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Mtf\Util\Command;
- use Magento\Mtf\Util\Protocol\CurlInterface;
- use Magento\Mtf\Util\Protocol\CurlTransport;
- /**
- * Perform bin/magento commands from command line for functional tests executions.
- */
- class Cli
- {
- /**
- * Url to command.php.
- */
- const URL = 'dev/tests/functional/utils/command.php';
- /**
- * Curl transport protocol.
- *
- * @var CurlTransport
- */
- private $transport;
- /**
- * @param CurlTransport $transport
- */
- public function __construct(CurlTransport $transport)
- {
- $this->transport = $transport;
- }
- /**
- * Run command.
- *
- * @param string $command
- * @param array $options [optional]
- * @return void
- */
- public function execute($command, $options = [])
- {
- $curl = $this->transport;
- $curl->write($this->prepareUrl($command, $options), [], CurlInterface::GET);
- $curl->read();
- $curl->close();
- }
- /**
- * Prepare url.
- *
- * @param string $command
- * @param array $options [optional]
- * @return string
- */
- private function prepareUrl($command, $options = [])
- {
- $command .= ' ' . implode(' ', $options);
- return $_ENV['app_frontend_url'] . self::URL . '?command=' . urlencode($command);
- }
- }
|