Neos\Flow\Tests\Functional\Configuration\ConfigurationValidationTest::setUp PHP Method

setUp() public method

public setUp ( ) : void
return void
    public function setUp()
    {
        parent::setUp();
        //
        // create a mock packageManager that only returns the the packages that contain schema files
        //
        $schemaPackages = [];
        $configurationPackages = [];
        // get all packages and select the ones we want to test
        $temporaryPackageManager = $this->objectManager->get(PackageManagerInterface::class);
        foreach ($temporaryPackageManager->getActivePackages() as $package) {
            if (in_array($package->getPackageKey(), $this->getSchemaPackageKeys())) {
                $schemaPackages[$package->getPackageKey()] = $package;
            }
            if (in_array($package->getPackageKey(), $this->getConfigurationPackageKeys())) {
                $configurationPackages[$package->getPackageKey()] = $package;
            }
        }
        $this->mockPackageManager = $this->createMock(PackageManager::class);
        $this->mockPackageManager->expects($this->any())->method('getActivePackages')->will($this->returnValue($schemaPackages));
        //
        // create mock configurationManager and store the original one
        //
        $this->originalConfigurationManager = $this->objectManager->get(ConfigurationManager::class);
        $yamlConfigurationSource = $this->objectManager->get(\Neos\Flow\Tests\Functional\Configuration\Fixtures\RootDirectoryIgnoringYamlSource::class);
        $this->mockConfigurationManager = clone $this->originalConfigurationManager;
        $this->mockConfigurationManager->setPackages($configurationPackages);
        $this->inject($this->mockConfigurationManager, 'configurationSource', $yamlConfigurationSource);
        $this->objectManager->setInstance(ConfigurationManager::class, $this->mockConfigurationManager);
        //
        // create the configurationSchemaValidator
        //
        $this->configurationSchemaValidator = $this->objectManager->get(ConfigurationSchemaValidator::class);
        $this->inject($this->configurationSchemaValidator, 'configurationManager', $this->mockConfigurationManager);
    }