ContainerTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
wmc 1
lcom 1
cbo 3
dl 0
loc 42
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A testContainer() 0 34 1
1
<?php
2
3
namespace Doctrine\Bundle\DoctrineBundle\Tests;
4
5
use Doctrine\Common\Annotations\Reader;
6
use Doctrine\Common\EventManager;
7
use Doctrine\DBAL\Configuration as DBALConfiguration;
8
use Doctrine\DBAL\Connection;
9
use Doctrine\DBAL\Types\Type;
10
use Doctrine\ORM\Configuration;
11
use Doctrine\ORM\EntityManager;
12
use Doctrine\Persistence\ManagerRegistry;
13
use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
14
use Symfony\Bridge\Doctrine\CacheWarmer\ProxyCacheWarmer;
15
use Symfony\Bridge\Doctrine\DataCollector\DoctrineDataCollector;
16
use Symfony\Bridge\Doctrine\Logger\DbalLogger;
17
use Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor;
18
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntityValidator;
19
use Symfony\Bridge\Doctrine\Validator\DoctrineLoader;
20
use Symfony\Component\Cache\DoctrineProvider;
21
22
class ContainerTest extends TestCase
23
{
24
    /**
25
     * https://github.com/doctrine/orm/pull/7953 needed, otherwise ORM classes we define services for trigger deprecations
26
     *
27
     * @group legacy
28
     */
29
    public function testContainer() : void
30
    {
31
        $container = $this->createXmlBundleTestContainer();
32
33
        $this->assertInstanceOf(DbalLogger::class, $container->get('doctrine.dbal.logger'));
34
        $this->assertInstanceOf(DoctrineDataCollector::class, $container->get('data_collector.doctrine'));
35
        $this->assertInstanceOf(DBALConfiguration::class, $container->get('doctrine.dbal.default_connection.configuration'));
36
        $this->assertInstanceOf(EventManager::class, $container->get('doctrine.dbal.default_connection.event_manager'));
37
        $this->assertInstanceOf(Connection::class, $container->get('doctrine.dbal.default_connection'));
38
        $this->assertInstanceOf(Reader::class, $container->get('doctrine.orm.metadata.annotation_reader'));
39
        $this->assertInstanceOf(Configuration::class, $container->get('doctrine.orm.default_configuration'));
40
        $this->assertInstanceOf(MappingDriverChain::class, $container->get('doctrine.orm.default_metadata_driver'));
41
        $this->assertInstanceOf(DoctrineProvider::class, $container->get('doctrine.orm.default_metadata_cache'));
42
        $this->assertInstanceOf(DoctrineProvider::class, $container->get('doctrine.orm.default_query_cache'));
43
        $this->assertInstanceOf(DoctrineProvider::class, $container->get('doctrine.orm.default_result_cache'));
44
        $this->assertInstanceOf(EntityManager::class, $container->get('doctrine.orm.default_entity_manager'));
45
        $this->assertInstanceOf(Connection::class, $container->get('database_connection'));
46
        $this->assertInstanceOf(EntityManager::class, $container->get('doctrine.orm.entity_manager'));
47
        $this->assertInstanceOf(EventManager::class, $container->get('doctrine.orm.default_entity_manager.event_manager'));
48
        $this->assertInstanceOf(EventManager::class, $container->get('doctrine.dbal.event_manager'));
49
        $this->assertInstanceOf(ProxyCacheWarmer::class, $container->get('doctrine.orm.proxy_cache_warmer'));
50
        $this->assertInstanceOf(ManagerRegistry::class, $container->get('doctrine'));
51
        $this->assertInstanceOf(UniqueEntityValidator::class, $container->get('doctrine.orm.validator.unique'));
52
53
        $this->assertSame($container->get('my.platform'), $container->get('doctrine.dbal.default_connection')->getDatabasePlatform());
54
55
        $this->assertTrue(Type::hasType('test'));
56
57
        $this->assertFalse($container->has('doctrine.dbal.default_connection.events.mysqlsessioninit'));
58
59
        $this->assertInstanceOf(DoctrineExtractor::class, $container->get('doctrine.orm.default_entity_manager.property_info_extractor'));
60
61
        $this->assertInstanceOf(DoctrineLoader::class, $container->get('doctrine.orm.default_entity_manager.validator_loader'));
62
    }
63
}
64