From f98306ed1a49398706e96e84ffae9265cf9c63ec Mon Sep 17 00:00:00 2001
From: Ivan Gavryshko <igavryshko@ebay.com>
Date: Tue, 12 May 2015 09:06:22 -0500
Subject: [PATCH] MAGETWO-36070: Move
 dev/tools/performance-toolkit/generate.php

- changes according to CR
---
 .../Test/Legacy/_files/obsolete_classes.php   |  2 ++
 .../Command/GenerateFixturesCommand.php       | 34 ++++++++-----------
 .../Fixtures/CatalogPriceRulesFixture.php     |  1 +
 .../Setup/Fixtures/ConfigsApplyFixture.php    |  1 +
 setup/src/Magento/Setup/Fixtures/Fixture.php  |  1 -
 .../Magento/Setup/Fixtures/FixtureModel.php   |  3 +-
 .../Fixtures/IndexersStatesApplyFixture.php   | 14 ++++----
 .../Magento/Setup/Fixtures/OrdersFixture.php  | 24 ++++++-------
 .../Command/GenerateFixturesCommandTest.php   |  5 +++
 .../Setup/Test/Unit/Model/GeneratorTest.php   |  2 +-
 10 files changed, 44 insertions(+), 43 deletions(-)
 rename dev/tools/performance-toolkit/fixtures/indexers_states_apply.php => setup/src/Magento/Setup/Fixtures/IndexersStatesApplyFixture.php (62%)
 rename dev/tools/performance-toolkit/fixtures/orders.php => setup/src/Magento/Setup/Fixtures/OrdersFixture.php (97%)

diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
index 669cebf2dc5..9e9e1236a49 100755
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
@@ -3544,4 +3544,6 @@ return [
     ],
     ['Magento\ToolkitFramework\Helper\Cli'],
     ['Magento\ToolkitFramework\Config'],
+    ['Magento\ToolkitFramework\Fixture', 'Magento\Setup\Fixtures\Fixture'],
+    ['Magento\ToolkitFramework\Application', 'Magento\Setup\Fixtures\FixtureModel'],
 ];
diff --git a/setup/src/Magento/Setup/Console/Command/GenerateFixturesCommand.php b/setup/src/Magento/Setup/Console/Command/GenerateFixturesCommand.php
index 2e5e5493d8f..1b0ccd0b23e 100644
--- a/setup/src/Magento/Setup/Console/Command/GenerateFixturesCommand.php
+++ b/setup/src/Magento/Setup/Console/Command/GenerateFixturesCommand.php
@@ -25,19 +25,14 @@ class GenerateFixturesCommand extends Command
     /**
      * @var FixtureModel
      */
-    private $application;
+    private $fixtureModel;
 
     /**
-     * @var Config
+     * @param FixtureModel $fixtureModel
      */
-    private $config;
-
-    /**
-     * @param FixtureModel $application
-     */
-    public function __construct(FixtureModel $application)
+    public function __construct(FixtureModel $fixtureModel)
     {
-        $this->application = $application;
+        $this->fixtureModel = $fixtureModel;
         parent::__construct();
     }
 
@@ -66,23 +61,22 @@ class GenerateFixturesCommand extends Command
         try {
             $totalStartTime = microtime(true);
 
-
-            $application = $this->application;
-            $application->initObjectManager();
-            $application->loadFixtures();
-            $application->loadConfig($input->getArgument(self::PROFILE_ARGUMENT));
+            $fixtureModel = $this->fixtureModel;
+            $fixtureModel->initObjectManager();
+            $fixtureModel->loadFixtures();
+            $fixtureModel->loadConfig($input->getArgument(self::PROFILE_ARGUMENT));
 
             $output->writeln('<info>Generating profile with following params:</info>');
 
-            foreach ($application->getParamLabels() as $configKey => $label) {
-                $output->writeln('<info> |- ' . $label . ': ' . $application->getValue($configKey) . '</info>');
+            foreach ($fixtureModel->getParamLabels() as $configKey => $label) {
+                $output->writeln('<info> |- ' . $label . ': ' . $fixtureModel->getValue($configKey) . '</info>');
             }
 
             /** @var $config \Magento\Indexer\Model\Config */
-            $config = $application->getObjectManager()->get('Magento\Indexer\Model\Config');
+            $config = $fixtureModel->getObjectManager()->get('Magento\Indexer\Model\Config');
             $indexerListIds = $config->getIndexers();
             /** @var $indexerRegistry \Magento\Indexer\Model\IndexerRegistry */
-            $indexerRegistry = $application->getObjectManager()->create('Magento\Indexer\Model\IndexerRegistry');
+            $indexerRegistry = $fixtureModel->getObjectManager()->create('Magento\Indexer\Model\IndexerRegistry');
             $indexersState = [];
             foreach ($indexerListIds as $key => $indexerId) {
                 $indexer = $indexerRegistry->get($indexerId['indexer_id']);
@@ -90,7 +84,7 @@ class GenerateFixturesCommand extends Command
                 $indexer->setScheduled(true);
             }
 
-            foreach ($application->getFixtures() as $fixture) {
+            foreach ($fixtureModel->getFixtures() as $fixture) {
                 $output->write($fixture->getActionTitle() . '... ');
                 $startTime = microtime(true);
                 $fixture->execute();
@@ -105,7 +99,7 @@ class GenerateFixturesCommand extends Command
                 $indexer->setScheduled($indexersState[$indexerId['indexer_id']]);
             }
 
-            $application->reindex($output);
+            $fixtureModel->reindex($output);
             $totalEndTime = microtime(true);
             $totalResultTime = $totalEndTime - $totalStartTime;
 
diff --git a/setup/src/Magento/Setup/Fixtures/CatalogPriceRulesFixture.php b/setup/src/Magento/Setup/Fixtures/CatalogPriceRulesFixture.php
index fef1b761bcb..92149c83ba3 100644
--- a/setup/src/Magento/Setup/Fixtures/CatalogPriceRulesFixture.php
+++ b/setup/src/Magento/Setup/Fixtures/CatalogPriceRulesFixture.php
@@ -18,6 +18,7 @@ class CatalogPriceRulesFixture extends Fixture
 
     /**
      * {@inheritdoc}
+     *
      */
     public function execute()
     {
diff --git a/setup/src/Magento/Setup/Fixtures/ConfigsApplyFixture.php b/setup/src/Magento/Setup/Fixtures/ConfigsApplyFixture.php
index a4cb005c76a..5793598210a 100644
--- a/setup/src/Magento/Setup/Fixtures/ConfigsApplyFixture.php
+++ b/setup/src/Magento/Setup/Fixtures/ConfigsApplyFixture.php
@@ -25,6 +25,7 @@ class ConfigsApplyFixture extends Fixture
         if (empty($configs)) {
             return;
         }
+        $configs = $this->fixtureModel->getValue('configs', []);
         $this->fixtureModel->resetObjectManager();
 
         foreach ($configs['config'] as $config) {
diff --git a/setup/src/Magento/Setup/Fixtures/Fixture.php b/setup/src/Magento/Setup/Fixtures/Fixture.php
index ba5c3fe0af9..cd53518a171 100644
--- a/setup/src/Magento/Setup/Fixtures/Fixture.php
+++ b/setup/src/Magento/Setup/Fixtures/Fixture.php
@@ -8,7 +8,6 @@ namespace Magento\Setup\Fixtures;
 
 /**
  * Class Fixture
- * @package Magento\ToolkitFramework
  */
 abstract class Fixture
 {
diff --git a/setup/src/Magento/Setup/Fixtures/FixtureModel.php b/setup/src/Magento/Setup/Fixtures/FixtureModel.php
index 8f508565d11..f414e1a2884 100644
--- a/setup/src/Magento/Setup/Fixtures/FixtureModel.php
+++ b/setup/src/Magento/Setup/Fixtures/FixtureModel.php
@@ -14,7 +14,6 @@ use Symfony\Component\Console\Input\ArrayInput;
 use Symfony\Component\Console\Output\OutputInterface;
 use Magento\Framework\Xml\Parser;
 
-
 class FixtureModel
 {
     /**
@@ -42,7 +41,7 @@ class FixtureModel
     /**
      * List of fixtures applied to the application
      *
-     * @var \Magento\ToolkitFramework\Fixture[]
+     * @var \Magento\Setup\Fixtures\Fixture[]
      */
     protected $fixtures = [];
 
diff --git a/dev/tools/performance-toolkit/fixtures/indexers_states_apply.php b/setup/src/Magento/Setup/Fixtures/IndexersStatesApplyFixture.php
similarity index 62%
rename from dev/tools/performance-toolkit/fixtures/indexers_states_apply.php
rename to setup/src/Magento/Setup/Fixtures/IndexersStatesApplyFixture.php
index 8b072e2b689..f238fd65526 100644
--- a/dev/tools/performance-toolkit/fixtures/indexers_states_apply.php
+++ b/setup/src/Magento/Setup/Fixtures/IndexersStatesApplyFixture.php
@@ -4,10 +4,12 @@
  * See COPYING.txt for license details.
  */
 
+namespace Magento\Setup\Fixtures;
+
 /**
  * Class IndexersStatesApplyFixture
  */
-class IndexersStatesApplyFixture extends \Magento\ToolkitFramework\Fixture
+class IndexersStatesApplyFixture extends Fixture
 {
     /**
      * @var int
@@ -19,15 +21,15 @@ class IndexersStatesApplyFixture extends \Magento\ToolkitFramework\Fixture
      */
     public function execute()
     {
-        $indexers = \Magento\ToolkitFramework\Config::getInstance()->getValue('indexers', []);
+        $indexers = $this->fixtureModel->getValue('indexers', []);
         if (!isset($indexers["indexer"]) || empty($indexers["indexer"])) {
             return;
         }
-        $this->application->resetObjectManager();
+        $this->fixtureModel->resetObjectManager();
         foreach ($indexers["indexer"] as $indexer) {
-            $this->application->indexersStates[$indexer['id']] = ($indexer['set_scheduled'] == "true");
+            $this->fixtureModel->indexersStates[$indexer['id']] = ($indexer['set_scheduled'] == "true");
         }
-        $this->application->getObjectManager()->get('Magento\Framework\App\CacheInterface')
+        $this->fixtureModel->getObjectManager()->get('Magento\Framework\App\CacheInterface')
             ->clean([\Magento\Framework\App\Config::CACHE_TAG]);
     }
 
@@ -47,5 +49,3 @@ class IndexersStatesApplyFixture extends \Magento\ToolkitFramework\Fixture
         return [];
     }
 }
-
-return new IndexersStatesApplyFixture($this);
diff --git a/dev/tools/performance-toolkit/fixtures/orders.php b/setup/src/Magento/Setup/Fixtures/OrdersFixture.php
similarity index 97%
rename from dev/tools/performance-toolkit/fixtures/orders.php
rename to setup/src/Magento/Setup/Fixtures/OrdersFixture.php
index 041fcea7551..d82e1584bd8 100644
--- a/dev/tools/performance-toolkit/fixtures/orders.php
+++ b/setup/src/Magento/Setup/Fixtures/OrdersFixture.php
@@ -4,10 +4,12 @@
  * See COPYING.txt for license details.
  */
 
+namespace Magento\Setup\Fixtures;
+
 /**
  * Class OrdersFixture
  */
-class OrdersFixture extends \Magento\ToolkitFramework\Fixture
+class OrdersFixture extends Fixture
 {
     /**
      * @var int
@@ -19,11 +21,11 @@ class OrdersFixture extends \Magento\ToolkitFramework\Fixture
      */
     public function execute()
     {
-        $ordersCount = \Magento\ToolkitFramework\Config::getInstance()->getValue('orders', 0);
+        $ordersCount = $this->fixtureModel->getValue('orders', 0);
         if ($ordersCount < 1) {
             return;
         }
-        $this->application->resetObjectManager();
+        $this->fixtureModel->resetObjectManager();
 
         $writeAdapter = $this->getConnection('write');
 
@@ -84,11 +86,11 @@ class OrdersFixture extends \Magento\ToolkitFramework\Fixture
             '\Magento\Eav\Model\Resource\Entity\Store'
         );
         /** @var \Magento\Store\Model\StoreManager $storeManager */
-        $storeManager = $this->application->getObjectManager()->create('Magento\Store\Model\StoreManager');
+        $storeManager = $this->fixtureModel->getObjectManager()->create('Magento\Store\Model\StoreManager');
         /** @var $category \Magento\Catalog\Model\Category */
-        $category = $this->application->getObjectManager()->get('Magento\Catalog\Model\Category');
+        $category = $this->fixtureModel->getObjectManager()->get('Magento\Catalog\Model\Category');
         /** @var $product \Magento\Catalog\Model\Product */
-        $product = $this->application->getObjectManager()->get('Magento\Catalog\Model\Product');
+        $product = $this->fixtureModel->getObjectManager()->get('Magento\Catalog\Model\Product');
 
         $result = [];
         $stores = $storeManager->getStores();
@@ -120,10 +122,10 @@ class OrdersFixture extends \Magento\ToolkitFramework\Fixture
                 //Not use root categories
                 if (trim($resultsCategoryName) != '') {
                     /** @var $productCategory \Magento\Catalog\Model\Category */
-                    $productCategory = $this->application->getObjectManager()->get('Magento\Catalog\Model\Category');
+                    $productCategory = $this->fixtureModel->getObjectManager()->get('Magento\Catalog\Model\Category');
 
                     /** @var $simpleProductCollection \Magento\Catalog\Model\Resource\Product\Collection */
-                    $simpleProductCollection = $this->application->getObjectManager()->create(
+                    $simpleProductCollection = $this->fixtureModel->getObjectManager()->create(
                         'Magento\Catalog\Model\Resource\Product\Collection'
                     );
 
@@ -293,7 +295,7 @@ class OrdersFixture extends \Magento\ToolkitFramework\Fixture
      */
     public function getTableName($tableName, $resourceName)
     {
-        $resource = $this->application->getObjectManager()->get($resourceName);
+        $resource = $this->fixtureModel->getObjectManager()->get($resourceName);
         return $this->getConnection('write')->getTableName($resource->getTable($tableName));
     }
 
@@ -305,10 +307,8 @@ class OrdersFixture extends \Magento\ToolkitFramework\Fixture
      */
     public function getConnection($resourceName)
     {
-        return $this->application->getObjectManager()->get(
+        return $this->fixtureModel->getObjectManager()->get(
             'Magento\Framework\App\Resource'
         )->getConnection($resourceName);
     }
 }
-
-return new OrdersFixture($this);
diff --git a/setup/src/Magento/Setup/Test/Unit/Console/Command/GenerateFixturesCommandTest.php b/setup/src/Magento/Setup/Test/Unit/Console/Command/GenerateFixturesCommandTest.php
index 2fbec156092..af1587cb215 100644
--- a/setup/src/Magento/Setup/Test/Unit/Console/Command/GenerateFixturesCommandTest.php
+++ b/setup/src/Magento/Setup/Test/Unit/Console/Command/GenerateFixturesCommandTest.php
@@ -17,6 +17,11 @@ class GenerateFixturesCommandTest extends \PHPUnit_Framework_TestCase
      */
     private $fixtureModel;
 
+    /**
+     * @var GenerateFixturesCommand|\PHPUnit_Framework_MockObject_MockObject
+     */
+    private $command;
+
     public function setUp()
     {
         $this->fixtureModel = $this->getMock('Magento\Setup\Fixtures\FixtureModel', [], [], '', false);
diff --git a/setup/src/Magento/Setup/Test/Unit/Model/GeneratorTest.php b/setup/src/Magento/Setup/Test/Unit/Model/GeneratorTest.php
index 343a67ade69..02b2f25f315 100644
--- a/setup/src/Magento/Setup/Test/Unit/Model/GeneratorTest.php
+++ b/setup/src/Magento/Setup/Test/Unit/Model/GeneratorTest.php
@@ -4,7 +4,7 @@
  * See COPYING.txt for license details.
  */
 
-namespace Magento\Setup\Test\Unit\Model\Complex;
+namespace Magento\Setup\Test\Unit\Model;
 
 use Magento\Setup\Model\Generator;
 
-- 
GitLab