/**
  *
  */
 public function testDoctrineEnabledConfig()
 {
     if (class_exists(DoctrineExtension::class)) {
         $doctrineExtension = new DoctrineExtension();
         $doctrineExtension->load([], $this->container);
         $this->container->registerExtension($doctrineExtension);
         $this->container->setParameter('kernel.bundles', ['DoctrineBundle' => $doctrineExtension]);
         $this->extension->load([['report' => ['enabled' => true]]], $this->container);
         $this->extension->prepend($this->container);
         $this->assertTrue($this->container->getParameter($this->root . '.report.enabled'));
         $this->assertTrue($this->container->hasParameter($this->root . '.report.database.driver'));
         $this->assertTrue($this->container->hasParameter($this->root . '.report.database.user'));
         $this->assertTrue($this->container->hasParameter($this->root . '.report.database.password'));
         $this->assertTrue($this->container->hasParameter($this->root . '.report.database.path'));
         $config = $this->container->getExtensionConfig('doctrine')[0];
         $this->assertArrayHasKey($this->root, $config['dbal']['connections']);
         $this->assertArrayHasKey($this->root, $config['orm']['entity_managers']);
         $this->assertEquals($this->root, $config['orm']['entity_managers'][$this->root]['connection']);
         $this->assertContains($this->root . '.listener.executionreport', $this->container->getServiceIds());
     } else {
         $this->markTestSkipped('DoctrineBundle not found.');
     }
 }
 public function testAnnotationsBundleMappingDetectionWithVendorNamespace()
 {
     $container = $this->getContainer('AnnotationsBundle', 'Vendor');
     $loader = new DoctrineExtension();
     $config = $this->getConnectionConfig();
     $config['orm'] = array('default_entity_manager' => 'default', 'entity_managers' => array('default' => array('mappings' => array('AnnotationsBundle' => array()))));
     $loader->load(array($config), $container);
     $calls = $container->getDefinition('doctrine.orm.default_metadata_driver')->getMethodCalls();
     $this->assertEquals('doctrine.orm.default_annotation_metadata_driver', (string) $calls[0][1][0]);
     $this->assertEquals('Fixtures\\Bundles\\Vendor\\AnnotationsBundle\\Entity', $calls[0][1][1]);
 }
 public function testShardManager()
 {
     $container = $this->getContainer();
     $extension = new DoctrineExtension();
     $config = $this->getConnectionConfig();
     $config['dbal'] = array('connections' => array('foo' => array('shards' => array('test' => array('id' => 1))), 'bar' => array()));
     $extension->load(array($config), $container);
     $this->assertTrue($container->hasDefinition('doctrine.dbal.foo_shard_manager'));
     $this->assertFalse($container->hasDefinition('doctrine.dbal.bar_shard_manager'));
 }
 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);
 }