123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Mtf\TestSuite;
- use Magento\Mtf\ObjectManager;
- use Magento\Mtf\ObjectManagerFactory;
- /**
- * Class InjectableTests
- *
- */
- class InjectableTests extends \PHPUnit\Framework\TestSuite
- {
- /**
- * @var ObjectManager
- */
- protected $objectManager;
- /**
- * @var \PHPUnit\Framework\TestSuite
- */
- protected $suite;
- /**
- * @var \PHPUnit\Framework\TestResult
- */
- protected $result;
- /**
- * Run collected tests
- *
- * @param \PHPUnit\Framework\TestResult $result
- * @return \PHPUnit\Framework\TestResult|void
- *
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function run(\PHPUnit\Framework\TestResult $result = null)
- {
- if ($result === null) {
- $this->result = $this->createResult();
- }
- }
- /**
- * Prepare test suite
- *
- * @return mixed
- */
- public static function suite()
- {
- $suite = new self();
- return $suite->prepareSuite();
- }
- /**
- * Prepare test suite and apply application state
- *
- * @return \Magento\Mtf\TestSuite\AppState
- */
- public function prepareSuite()
- {
- $this->init();
- return $this->objectManager->create(\Magento\Mtf\TestSuite\AppState::class);
- }
- /**
- * Call the initialization of ObjectManager
- */
- public function init()
- {
- $this->initObjectManager();
- }
- /**
- * Initialize ObjectManager
- */
- private function initObjectManager()
- {
- if (!isset($this->objectManager)) {
- $objectManagerFactory = new ObjectManagerFactory();
- $configFileName = isset($_ENV['testsuite_rule']) ? $_ENV['testsuite_rule'] : 'basic';
- $configFilePath = realpath(MTF_BP . '/testsuites/' . $_ENV['testsuite_rule_path']);
- /** @var \Magento\Mtf\Config\DataInterface $configData */
- $configData = $objectManagerFactory->getObjectManager()->create(\Magento\Mtf\Config\TestRunner::class);
- $filter = getopt('', ['filter:']);
- if (!isset($filter['filter'])) {
- $configData->setFileName($configFileName . '.xml')->load($configFilePath);
- } else {
- $isValid = preg_match('`variation::(.*?)$`', $filter['filter'], $variation);
- if ($isValid === 1) {
- $configData->setFileName($configFileName . '.xml')->load($configFilePath);
- $data['rule']['variation']['allow'][0]['name'][0]['value'] = $variation[1];
- $configData->merge($data);
- }
- }
- $this->objectManager = $objectManagerFactory->create(
- [\Magento\Mtf\Config\TestRunner::class => $configData]
- );
- }
- }
- }
|