Skip to content

Commit

Permalink
Merge pull request #688 from magento-ogre/PR_Branch
Browse files Browse the repository at this point in the history
[Ogres] Sprint 38 Bugs and Tasks
  • Loading branch information
mazhalai committed Oct 8, 2015
2 parents 54b85e9 + 0c99de0 commit 515bb06
Show file tree
Hide file tree
Showing 13 changed files with 210 additions and 136 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,16 @@ class MysqlTest extends \PHPUnit_Framework_TestCase
*/
protected $_connection = null;

public function setUp()
{
set_error_handler(null);
}

public function tearDown()
{
restore_error_handler();
}

/**
* Test lost connection re-initializing
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,13 @@ class ComponentGridTest extends \PHPUnit_Framework_TestCase
*/
private $lastSyncData = [];

public function __construct()
public function setUp()
{
$this->lastSyncData = [
"lastSyncDate" => "2015/08/10 21:05:34",
"packages" => [
'magento/sample-module1' => [
'name' => 'magento/sample-module1',
'magento/sample-module-one' => [
'name' => 'magento/sample-module-one',
'type' => 'magento2-module',
'version' => '1.0.0'
]
Expand All @@ -85,13 +85,20 @@ public function __construct()
'countOfUpdate' => 1
];
$this->componentData = [
'magento/sample-module1' => [
'name' => 'magento/sample-module1',
'magento/sample-module-one' => [
'name' => 'magento/sample-module-one',
'type' => 'magento2-module',
'version' => '1.0.0'
]
];

$allComponentData = [
'magento/sample-module-two' => [
'name' => 'magento/sample-module-two',
'type' => 'magento2-module',
'version' => '1.0.0'
]
];
$allComponentData = array_merge($allComponentData, $this->componentData);
$this->composerInformationMock = $this->getMock(
'Magento\Framework\Composer\ComposerInformation',
[],
Expand All @@ -101,36 +108,26 @@ public function __construct()
);
$objectManagerProvider = $this->getMock('Magento\Setup\Model\ObjectManagerProvider', [], [], '', false);
$objectManager = $this->getMock('Magento\Framework\ObjectManagerInterface', [], [], '', false);
$objectManagerProvider->expects($this->once())
->method('get')
->willReturn($objectManager);
$this->packageInfoFactoryMock = $this
->getMock('Magento\Framework\Module\PackageInfoFactory', [], [], '', false);
$this->enabledModuleListMock = $this->getMock('Magento\Framework\Module\ModuleList', [], [], '', false);
$this->enabledModuleListMock->expects($this->any())->method('has')->willReturn(true);
$this->fullModuleListMock = $this->getMock('Magento\Framework\Module\FullModuleList', [], [], '', false);
$this->packageInfoFactoryMock = $this->getMock(
'Magento\Framework\Module\PackageInfoFactory',
[],
[],
'',
false
);
$this->fullModuleListMock->expects($this->any())->method('getNames')->willReturn($allComponentData);
$objectManager->expects($this->exactly(3))
->method('get')
->willReturnMap([
['Magento\Framework\Module\PackageInfoFactory', $this->packageInfoFactoryMock],
['Magento\Framework\Module\FullModuleList', $this->fullModuleListMock],
['Magento\Framework\Module\ModuleList', $this->enabledModuleListMock]
]);
$this->packageInfo = $this->getMock('Magento\Framework\Module\PackageInfo', [], [], '', false);
$this->updatePackagesCacheMock = $this->getMock('Magento\Setup\Model\UpdatePackagesCache', [], [], '', false);

$objectManagerProvider->expects($this->any())->method('get')->willReturn($objectManager);

$objectManager->expects($this->at(0))->method('get')->willReturn($this->enabledModuleListMock);

$objectManager->expects($this->at(1))->method('get')->willReturn($this->fullModuleListMock);

$objectManager->expects($this->at(2))->method('get')->willReturn($this->packageInfoFactoryMock);

$this->connectManagerMock = $this->getMock('Magento\Setup\Model\ConnectManager', [], [], '', false);
$this->packageInfoFactoryMock->expects($this->once())->method('create')->willReturn($this->packageInfo);

$this->connectManagerMock = $this->getMock(
'Magento\Setup\Model\ConnectManager',
[],
[],
'',
false
);

$this->controller = new ComponentGrid(
$this->composerInformationMock,
$objectManagerProvider,
Expand All @@ -154,12 +151,12 @@ public function testComponentsAction()
$this->packageInfo->expects($this->once())
->method('getModuleName')
->willReturn('Sample_Module');
$this->packageInfo->expects($this->once())
$this->packageInfo->expects($this->exactly(2))
->method('getPackageName')
->willReturn('magento/sample-module1');
$this->packageInfo->expects($this->once())
->willReturn($this->componentData['magento/sample-module-one']['name']);
$this->packageInfo->expects($this->exactly(2))
->method('getVersion')
->willReturn('1.0.0');
->willReturn($this->componentData['magento/sample-module-one']['version']);
$this->enabledModuleListMock->expects($this->once())
->method('has')
->willReturn(true);
Expand All @@ -178,7 +175,7 @@ public function testComponentsAction()
$this->assertArrayHasKey('success', $variables);
$this->assertTrue($variables['success']);
$expected = [[
'name' => 'magento/sample-module1',
'name' => 'magento/sample-module-one',
'type' => 'magento2-module',
'version' => '1.0.0',
'update' => false,
Expand Down
3 changes: 2 additions & 1 deletion setup/pub/magento/setup/readiness-check.js
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,8 @@ angular.module('readiness-check', [])
item.fail();
});
}
return $http.get(item.url, {timeout: 3000})
// setting 1 minute timeout to prevent system from timing out
return $http.get(item.url, {timeout: 60000})
.success(function(data) { item.process(data) })
.error(function(data, status) {
item.fail();
Expand Down
32 changes: 25 additions & 7 deletions setup/src/Magento/Setup/Console/Command/UpgradeCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,22 @@
*/
namespace Magento\Setup\Console\Command;

use Magento\Framework\Setup\ConsoleLogger;
use Magento\Setup\Model\InstallerFactory;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Magento\Setup\Model\InstallerFactory;
use Magento\Framework\Setup\ConsoleLogger;

/**
* Command for updating installed application after the code base has changed
*/
class UpgradeCommand extends AbstractSetupCommand
{
/**
* Option to skip deletion of var/generation directory
*/
const INPUT_KEY_KEEP_GENERATED = 'keep-generated';

/**
* Installer service factory
*
Expand All @@ -38,10 +44,19 @@ public function __construct(InstallerFactory $installerFactory)
*/
protected function configure()
{
$options = [
new InputOption(
self::INPUT_KEY_KEEP_GENERATED,
null,
InputOption::VALUE_NONE,
'Prevents generated code from being deleted. ' . PHP_EOL .
'We discourage using this option except when deploying to production. ' . PHP_EOL .
'Consult your system integrator or administrator for more information.'
)
];
$this->setName('setup:upgrade')
->setDescription(
'Upgrades the Magento application, DB data, and schema'
);
->setDescription('Upgrades the Magento application, DB data, and schema')
->setDefinition($options);
parent::configure();
}

Expand All @@ -50,10 +65,13 @@ protected function configure()
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$keepGenerated = $input->getOption(self::INPUT_KEY_KEEP_GENERATED);
$installer = $this->installerFactory->create(new ConsoleLogger($output));
$installer->updateModulesSequence();
$installer->updateModulesSequence($keepGenerated);
$installer->installSchema();
$installer->installDataFixtures();
$output->writeln('<info>Please re-run Magento compile command</info>');
if (!$keepGenerated) {
$output->writeln('<info>Please re-run Magento compile command</info>');
}
}
}
52 changes: 20 additions & 32 deletions setup/src/Magento/Setup/Controller/ComponentGrid.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,10 @@

namespace Magento\Setup\Controller;

use Magento\Framework\Composer\ComposerInformation;
use Magento\Framework\Module\FullModuleList;
use Magento\Framework\Module\ModuleList;
use Magento\Framework\Module\PackageInfo;
use Magento\Setup\Model\ObjectManagerProvider;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\JsonModel;
use Zend\View\Model\ViewModel;
use Magento\Setup\Model\ConnectManager;
use Magento\Setup\Model\UpdatePackagesCache;

/**
* Controller for component grid tasks
*/
class ComponentGrid extends AbstractActionController
class ComponentGrid extends \Zend\Mvc\Controller\AbstractActionController
{
/**
* @var \Magento\Framework\Composer\ComposerInformation
Expand All @@ -35,7 +24,7 @@ class ComponentGrid extends AbstractActionController
private $packageInfo;

/**
* @var ConnectManager
* @var \Magento\Setup\Model\ConnectManager
*/
private $connectManager;

Expand All @@ -57,43 +46,42 @@ class ComponentGrid extends AbstractActionController
private $updatePackagesCache;

/**
* @param ComposerInformation $composerInformation
* @param ObjectManagerProvider $objectManagerProvider
* @param ConnectManager $connectManager
* @param UpdatePackagesCache $updatePackagesCache
* @param \Magento\Framework\Composer\ComposerInformation $composerInformation
* @param \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
* @param \Magento\Setup\Model\ConnectManager $connectManager
* @param \Magento\Setup\Model\UpdatePackagesCache $updatePackagesCache
*/
public function __construct(
ComposerInformation $composerInformation,
ObjectManagerProvider $objectManagerProvider,
UpdatePackagesCache $updatePackagesCache,
ConnectManager $connectManager
\Magento\Framework\Composer\ComposerInformation $composerInformation,
\Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider,
\Magento\Setup\Model\UpdatePackagesCache $updatePackagesCache,
\Magento\Setup\Model\ConnectManager $connectManager
) {
$this->composerInformation = $composerInformation;
$objectManager = $objectManagerProvider->get();
$this->enabledModuleList = $objectManager->get('Magento\Framework\Module\ModuleList');
$this->fullModuleList = $objectManager->get('Magento\Framework\Module\FullModuleList');
$this->packageInfo = $objectManagerProvider->get()
->get('Magento\Framework\Module\PackageInfoFactory')->create();
$this->packageInfo = $objectManager->get('Magento\Framework\Module\PackageInfoFactory')->create();
$this->connectManager = $connectManager;
$this->updatePackagesCache = $updatePackagesCache;
}

/**
* Index page action
*
* @return ViewModel
* @return \Zend\View\Model\ViewModel
*/
public function indexAction()
{
$view = new ViewModel();
$view = new \Zend\View\Model\ViewModel();
$view->setTerminal(true);
return $view;
}

/**
* Get Components info action
*
* @return JsonModel
* @return \Zend\View\Model\JsonModel
* @throws \RuntimeException
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
Expand All @@ -108,7 +96,7 @@ public function componentsAction()
$components[$component['name']]['uninstall'] = false;
$components[$component['name']]['moduleName'] = $this->packageInfo->getModuleName($component['name']);
if ($this->composerInformation->isPackageInComposerJson($component['name'])
&& ($component['type'] !== ComposerInformation::METAPACKAGE_PACKAGE_TYPE)) {
&& ($component['type'] !== \Magento\Framework\Composer\ComposerInformation::METAPACKAGE_PACKAGE_TYPE)) {
$components[$component['name']]['uninstall'] = true;
if (isset($lastSyncData['packages'][$component['name']]['latestVersion'])
&& version_compare(
Expand All @@ -119,7 +107,7 @@ public function componentsAction()
$components[$component['name']]['update'] = true;
}
}
if ($component['type'] === ComposerInformation::MODULE_PACKAGE_TYPE) {
if ($component['type'] === \Magento\Framework\Composer\ComposerInformation::MODULE_PACKAGE_TYPE) {
$components[$component['name']]['enable'] =
$this->enabledModuleList->has($components[$component['name']]['moduleName']);
$components[$component['name']]['disable'] = !$components[$component['name']]['enable'];
Expand All @@ -137,7 +125,7 @@ public function componentsAction()
isset($packagesForInstall['packages']) ? count($packagesForInstall['packages']) : 0;
$lastSyncData['countOfUpdate'] = isset($lastSyncData['packages']) ? count($lastSyncData['packages']) : 0;

return new JsonModel(
return new \Zend\View\Model\JsonModel(
[
'success' => true,
'components' => array_values($components),
Expand All @@ -150,7 +138,7 @@ public function componentsAction()
/**
* Sync action
*
* @return JsonModel
* @return \Zend\View\Model\JsonModel
*/
public function syncAction()
{
Expand All @@ -165,7 +153,7 @@ public function syncAction()
$lastSyncData['countOfUpdate'] = isset($lastSyncData['packages']) ? count($lastSyncData['packages']) : 0;


return new JsonModel(
return new \Zend\View\Model\JsonModel(
[
'success' => true,
'lastSyncData' => $lastSyncData
Expand All @@ -185,7 +173,7 @@ private function getAllModules()
foreach ($allModules as $module) {
$moduleName = $this->packageInfo->getPackageName($module);
$modules[$moduleName]['name'] = $moduleName;
$modules[$moduleName]['type'] = ComposerInformation::MODULE_PACKAGE_TYPE;
$modules[$moduleName]['type'] = \Magento\Framework\Composer\ComposerInformation::MODULE_PACKAGE_TYPE;
$modules[$moduleName]['version'] = $this->packageInfo->getVersion($module);
}
return $modules;
Expand Down
9 changes: 4 additions & 5 deletions setup/src/Magento/Setup/Controller/CustomizeYourStore.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@
*/
namespace Magento\Setup\Controller;

use Magento\Framework\App\Filesystem\DirectoryList;
use Magento\Framework\Filesystem;
use Magento\Framework\Module\ModuleList;
use Magento\Framework\Module\FullModuleList;
use Magento\Framework\Setup\Lists;
use Magento\Setup\Model\ObjectManagerProvider;
use Zend\Mvc\Controller\AbstractActionController;
Expand All @@ -17,7 +16,7 @@
class CustomizeYourStore extends AbstractActionController
{
/**
* @var ModuleList
* @var FullModuleList
*/
protected $moduleList;

Expand All @@ -32,11 +31,11 @@ class CustomizeYourStore extends AbstractActionController
protected $objectManagerProvider;

/**
* @param ModuleList $moduleList
* @param FullModuleList $moduleList
* @param Lists $list
* @param ObjectManagerProvider $objectManagerProvider
*/
public function __construct(ModuleList $moduleList, Lists $list, ObjectManagerProvider $objectManagerProvider)
public function __construct(FullModuleList $moduleList, Lists $list, ObjectManagerProvider $objectManagerProvider)
{
$this->moduleList = $moduleList;
$this->list = $list;
Expand Down
Loading

0 comments on commit 515bb06

Please sign in to comment.