/** * Invoke remove data routine in each specified module * * @param OutputInterface $output * @param array $modules * @return void */ public function uninstallData(OutputInterface $output, array $modules) { $uninstalls = $this->collector->collectUninstall($modules); $setupModel = $this->setupFactory->create(); $resource = $this->objectManager->get('Magento\\Framework\\Module\\ModuleResource'); foreach ($modules as $module) { if (isset($uninstalls[$module])) { $output->writeln("<info>Removing data of {$module}</info>"); $uninstalls[$module]->uninstall($setupModel, new ModuleContext($resource->getDbVersion($module) ?: '')); } else { $output->writeln("<info>No data to clear in {$module}</info>"); } } }
/** * Validate admin user name and email. * * @param array $data * @return void * @throws \Exception */ public function validate(array $data) { try { $dbConnection = $this->connectionFactory->create([ConfigOption::KEY_NAME => $data[ConfigOption::INPUT_KEY_DB_NAME], ConfigOption::KEY_HOST => $data[ConfigOption::INPUT_KEY_DB_HOST], ConfigOption::KEY_USER => $data[ConfigOption::INPUT_KEY_DB_USER], ConfigOption::KEY_PASSWORD => $data[ConfigOption::INPUT_KEY_DB_PASSWORD], ConfigOption::KEY_PREFIX => $data[ConfigOption::INPUT_KEY_DB_PREFIX]]); $userName = $data[AdminAccount::KEY_USER]; $userEmail = $data[AdminAccount::KEY_EMAIL]; $userTable = $dbConnection->getTableName('admin_user'); $result = $dbConnection->fetchRow("SELECT user_id, username, email FROM {$userTable} WHERE username = :username OR email = :email", ['username' => $userName, 'email' => $userEmail]); $setup = $this->setupFactory->create(); $adminAccount = $this->adminAccountFactory->create($setup, [AdminAccount::KEY_USER => $userName, AdminAccount::KEY_EMAIL => $userEmail]); } catch (\Exception $e) { return; } if (!empty($result)) { $adminAccount->validateUserMatches($result['username'], $result['email']); } }
public function testCreateWithParam() { $objectManager = $this->getMockForAbstractClass('Magento\\Framework\\ObjectManagerInterface', [], '', false); $objectManager->expects($this->never())->method('get'); $resource = $this->getMock('Magento\\Framework\\App\\ResourceConnection', [], [], '', false); $objectManagerProvider = $this->getMock('Magento\\Setup\\Model\\ObjectManagerProvider', [], [], '', false); $objectManagerProvider->expects($this->once())->method('get')->willReturn($objectManager); $factory = new SetupFactory($objectManagerProvider); $this->assertInstanceOf('Magento\\Setup\\Module\\Setup', $factory->create($resource)); }
/** * Creates admin account * * @param \ArrayObject|array $data * @return void */ public function installAdminUser($data) { $this->assertDeploymentConfigExists(); $setup = $this->setupFactory->create($this->context->getResources()); $adminAccount = $this->adminAccountFactory->create($setup, (array)$data); $adminAccount->save(); }