public function testNoConfigEntities() { $dep_manger = new ConfigDependencyManager(); $dep_manger->setData(array('simple.config' => array('key' => 'value'))); $this->assertEmpty($dep_manger->getDependentEntities('config', 'config_test.dynamic.entity_id:745b0ce0-aece-42dd-a800-ade5b8455e84')); // Configuration is always dependent on its provider. $dependencies = $dep_manger->getDependentEntities('module', 'simple'); $this->assertArrayHasKey('simple.config', $dependencies); $this->assertCount(1, $dependencies); }
/** * {@inheritdoc} */ public function findConfigEntityDependents($type, array $names) { $dependency_manager = new ConfigDependencyManager(); // This uses the configuration storage directly to avoid blowing the static // caches in the configuration factory and the configuration entity system. // Additionally this ensures that configuration entity dependency discovery // has no dependencies on the config entity classes. Assume data with UUID // is a config entity. Only configuration entities can be depended on so we // can ignore everything else. $data = array_filter($this->activeStorage->readMultiple($this->activeStorage->listAll()), function ($config) { return isset($config['uuid']); }); $dependency_manager->setData($data); $dependencies = array(); foreach ($names as $name) { $dependencies = array_merge($dependencies, $dependency_manager->getDependentEntities($type, $name)); } return $dependencies; }