Navigation Menu

Skip to content

Commit

Permalink
Fixed cache provider alias in extension
Browse files Browse the repository at this point in the history
  • Loading branch information
pkruithof committed Jan 16, 2015
1 parent 751709d commit 79295ab
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
4 changes: 2 additions & 2 deletions DependencyInjection/DoctrineExtension.php
Expand Up @@ -692,8 +692,8 @@ protected function getMappingResourceExtension()
protected function loadCacheDriver($driverName, $entityManagerName, array $driverMap, ContainerBuilder $container)
{
if (!empty($driverMap['cache_provider'])) {
$aliasId = $this->getObjectManagerElementName($driverName);
$serviceId = printf('doctrine_cache.providers.%s', $driverMap['cache_provider']);
$aliasId = $this->getObjectManagerElementName(sprintf('%s_%s', $entityManagerName, $driverName));
$serviceId = sprintf('doctrine_cache.providers.%s', $driverMap['cache_provider']);

$container->setAlias($aliasId, new Alias($serviceId, false));

Expand Down
33 changes: 33 additions & 0 deletions Tests/DependencyInjection/DoctrineExtensionTest.php
Expand Up @@ -429,6 +429,39 @@ public function testAnnotationsBundleMappingDetectionWithVendorNamespace()
$this->assertEquals('Fixtures\Bundles\Vendor\AnnotationsBundle\Entity', $calls[0][1][1]);
}

public function testCacheConfiguration()
{
$container = $this->getContainer();
$extension = new DoctrineExtension();

$config = $this->getConnectionConfig();
$config['orm'] = array(
'metadata_cache_driver' => array(
'cache_provider' => 'metadata_cache',
),
'query_cache_driver' => array(
'cache_provider' => 'query_cache',
),
'result_cache_driver' => array(
'cache_provider' => 'result_cache',
),
);

$extension->load(array($config), $container);

$this->assertTrue($container->hasAlias('doctrine.orm.default_metadata_cache'));
$alias = $container->getAlias('doctrine.orm.default_metadata_cache');
$this->assertEquals('doctrine_cache.providers.metadata_cache', (string) $alias);

$this->assertTrue($container->hasAlias('doctrine.orm.default_query_cache'));
$alias = $container->getAlias('doctrine.orm.default_query_cache');
$this->assertEquals('doctrine_cache.providers.query_cache', (string) $alias);

$this->assertTrue($container->hasAlias('doctrine.orm.default_result_cache'));
$alias = $container->getAlias('doctrine.orm.default_result_cache');
$this->assertEquals('doctrine_cache.providers.result_cache', (string) $alias);
}

private function getContainer($bundles = 'YamlBundle', $vendor = null)
{
$bundles = (array) $bundles;
Expand Down

0 comments on commit 79295ab

Please sign in to comment.