68 lines
1.6 KiB
PHP
Executable File
68 lines
1.6 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
namespace Magento\TestFramework;
|
|
|
|
/**
|
|
* Provides access to the application for the tests
|
|
*
|
|
* Allows installation and uninstallation
|
|
*/
|
|
class WebApiApplication extends Application
|
|
{
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function run()
|
|
{
|
|
throw new \Exception(
|
|
"Can't start application: purpose of Web API Application is to use classes and models from the application"
|
|
. " and don't run it"
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function install($cleanup)
|
|
{
|
|
if ($cleanup) {
|
|
$this->cleanup();
|
|
}
|
|
|
|
$installOptions = $this->getInstallConfig();
|
|
|
|
/* Install application */
|
|
if ($installOptions) {
|
|
$installCmd = 'php -f ' . BP . '/bin/magento setup:install -vvv';
|
|
$installArgs = [];
|
|
foreach ($installOptions as $optionName => $optionValue) {
|
|
if (is_bool($optionValue)) {
|
|
if (true === $optionValue) {
|
|
$installCmd .= " --$optionName";
|
|
}
|
|
continue;
|
|
}
|
|
$installCmd .= " --$optionName=%s";
|
|
$installArgs[] = $optionValue;
|
|
}
|
|
$this->_shell->execute($installCmd, $installArgs);
|
|
}
|
|
|
|
$this->runPostInstallCommands();
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*
|
|
* Return empty array of custom directories
|
|
* @return array
|
|
*/
|
|
protected function getCustomDirs()
|
|
{
|
|
return [];
|
|
}
|
|
}
|