![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/api-functional/testsuite/Magento/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento; use Magento\TestFramework\SkippableInterface; use Magento\TestFramework\Workaround\Override\Config; use Magento\TestFramework\Workaround\Override\WrapperGenerator; use PHPUnit\Framework\TestSuite; use PHPUnit\TextUI\TestSuiteMapper; use PHPUnit\TextUI\XmlConfiguration\Configuration; use PHPUnit\TextUI\XmlConfiguration\Loader; use PHPUnit\TextUI\XmlConfiguration\TestSuite as TestSuiteConfiguration; use PHPUnit\TextUI\XmlConfiguration\TestSuiteCollection; /** * Web API tests wrapper. */ class WebApiTest extends TestSuite { /** * @param string $className * * @return TestSuite * @throws \ReflectionException * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public static function suite($className) { $generator = new WrapperGenerator(); $overrideConfig = Config::getInstance(); $configuration = self::getConfiguration(); $suitesConfig = $configuration->testSuite(); $suite = new TestSuite(); foreach ($suitesConfig as $suiteConfig) { $suites = self::getSuites($suiteConfig); /** @var TestSuite $testSuite */ foreach ($suites as $testSuite) { /** @var TestSuite $test */ foreach ($testSuite as $test) { $testName = $test->getName(); if ($overrideConfig->hasSkippedTest($testName) && !$test instanceof SkippableInterface) { $reflectionClass = new \ReflectionClass($testName); $resultTest = $generator->generateTestWrapper($reflectionClass); $suite->addTest(new TestSuite($resultTest, $testName)); } else { $suite->addTest($test); } } } } return $suite; } /** * Returns config file name from command line params. * * @return string */ private static function getConfigurationFile(): string { $params = getopt('c:', ['configuration:']); $longConfig = $params['configuration'] ?? ''; $shortConfig = $params['c'] ?? ''; return $shortConfig ?: $longConfig; } /** * Retrieve configuration. * * @return Configuration */ private static function getConfiguration() { return (new Loader())->load(self::getConfigurationFile()); } /** * Retrieve test suites by suite config. * * @param TestSuiteConfiguration $suiteConfig * * @return TestSuite */ private static function getSuites($suiteConfig) { return (new TestSuiteMapper())->map(TestSuiteCollection::fromArray([$suiteConfig]), ''); } }