Completed
Pull Request — master (#1203)
by
unknown
04:38
created

ContainerTest::setUpBeforeClass()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 0
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\ORM\EntityManagerInterface;
13
use Doctrine\Persistence\ManagerRegistry;
14
use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
15
use Symfony\Bridge\Doctrine\CacheWarmer\ProxyCacheWarmer;
16
use Symfony\Bridge\Doctrine\DataCollector\DoctrineDataCollector;
17
use Symfony\Bridge\Doctrine\Logger\DbalLogger;
18
use Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor;
19
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntityValidator;
20
use Symfony\Bridge\Doctrine\Validator\DoctrineLoader;
21
use Symfony\Component\Cache\DoctrineProvider;
22
23
class ContainerTest extends TestCase
24
{
25
    public static function setUpBeforeClass() : void
26
    {
27
        if (interface_exists(EntityManagerInterface::class)) {
28
            return;
29
        }
30
31
        self::markTestSkipped('This test requires ORM');
32
    }
33
34
    /**
35
     * https://github.com/doctrine/orm/pull/7953 needed, otherwise ORM classes we define services for trigger deprecations
36
     *
37
     * @group legacy
38
     */
39
    public function testContainer() : void
40
    {
41
        $container = $this->createXmlBundleTestContainer();
42
43
        $this->assertInstanceOf(DbalLogger::class, $container->get('doctrine.dbal.logger'));
44
        $this->assertInstanceOf(DoctrineDataCollector::class, $container->get('data_collector.doctrine'));
45
        $this->assertInstanceOf(DBALConfiguration::class, $container->get('doctrine.dbal.default_connection.configuration'));
46
        $this->assertInstanceOf(EventManager::class, $container->get('doctrine.dbal.default_connection.event_manager'));
47
        $this->assertInstanceOf(Connection::class, $container->get('doctrine.dbal.default_connection'));
48
        $this->assertInstanceOf(Reader::class, $container->get('doctrine.orm.metadata.annotation_reader'));
49
        $this->assertInstanceOf(Configuration::class, $container->get('doctrine.orm.default_configuration'));
50
        $this->assertInstanceOf(MappingDriverChain::class, $container->get('doctrine.orm.default_metadata_driver'));
51
        $this->assertInstanceOf(DoctrineProvider::class, $container->get('doctrine.orm.default_metadata_cache'));
52
        $this->assertInstanceOf(DoctrineProvider::class, $container->get('doctrine.orm.default_query_cache'));
53
        $this->assertInstanceOf(DoctrineProvider::class, $container->get('doctrine.orm.default_result_cache'));
54
        $this->assertInstanceOf(EntityManager::class, $container->get('doctrine.orm.default_entity_manager'));
55
        $this->assertInstanceOf(Connection::class, $container->get('database_connection'));
56
        $this->assertInstanceOf(EntityManager::class, $container->get('doctrine.orm.entity_manager'));
57
        $this->assertInstanceOf(EventManager::class, $container->get('doctrine.orm.default_entity_manager.event_manager'));
58
        $this->assertInstanceOf(EventManager::class, $container->get('doctrine.dbal.event_manager'));
59
        $this->assertInstanceOf(ProxyCacheWarmer::class, $container->get('doctrine.orm.proxy_cache_warmer'));
60
        $this->assertInstanceOf(ManagerRegistry::class, $container->get('doctrine'));
61
        $this->assertInstanceOf(UniqueEntityValidator::class, $container->get('doctrine.orm.validator.unique'));
62
63
        $this->assertSame($container->get('my.platform'), $container->get('doctrine.dbal.default_connection')->getDatabasePlatform());
64
65
        $this->assertTrue(Type::hasType('test'));
66
67
        $this->assertFalse($container->has('doctrine.dbal.default_connection.events.mysqlsessioninit'));
68
69
        $this->assertInstanceOf(DoctrineExtractor::class, $container->get('doctrine.orm.default_entity_manager.property_info_extractor'));
70
71
        $this->assertInstanceOf(DoctrineLoader::class, $container->get('doctrine.orm.default_entity_manager.validator_loader'));
72
    }
73
}
74