-
-
Notifications
You must be signed in to change notification settings - Fork 479
Expand file tree
/
Copy pathContainerTest.php
More file actions
89 lines (74 loc) · 4.98 KB
/
ContainerTest.php
File metadata and controls
89 lines (74 loc) · 4.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
declare(strict_types=1);
namespace Doctrine\Bundle\DoctrineBundle\Tests;
use Doctrine\Bundle\DoctrineBundle\Orm\ManagerRegistryAwareEntityManagerProvider;
use Doctrine\Common\Annotations\Reader;
use Doctrine\Common\EventManager;
use Doctrine\DBAL\Configuration as DBALConfiguration;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Types\Type;
use Doctrine\ORM\Configuration;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Tools\Console\Command\InfoCommand;
use Doctrine\ORM\Tools\Console\Command\MappingDescribeCommand;
use Doctrine\ORM\Tools\Console\Command\SchemaTool\UpdateCommand;
use Doctrine\Persistence\ManagerRegistry;
use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
use Symfony\Bridge\Doctrine\ArgumentResolver\Console\EntityValueResolver as ConsoleEntityValueResolver;
use Symfony\Bridge\Doctrine\ArgumentResolver\EntityValueResolver;
use Symfony\Bridge\Doctrine\CacheWarmer\ProxyCacheWarmer;
use Symfony\Bridge\Doctrine\DataCollector\DoctrineDataCollector;
use Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntityValidator;
use Symfony\Bridge\Doctrine\Validator\DoctrineLoader;
use Symfony\Component\Cache\Adapter\ArrayAdapter;
use Symfony\Component\Cache\Adapter\PhpArrayAdapter;
use function class_exists;
use function interface_exists;
class ContainerTest extends TestCase
{
public function testContainer(): void
{
if (! interface_exists(EntityManagerInterface::class)) {
self::markTestSkipped('This test requires ORM');
}
$container = $this->createXmlBundleTestContainer();
if (interface_exists(Reader::class)) {
$this->assertInstanceOf(Reader::class, $container->get('doctrine.orm.metadata.annotation_reader'));
}
if (class_exists(EntityValueResolver::class)) {
$this->assertInstanceOf(EntityValueResolver::class, $container->get('doctrine.orm.entity_value_resolver'));
}
if (class_exists(ConsoleEntityValueResolver::class)) {
$this->assertInstanceOf(ConsoleEntityValueResolver::class, $container->get('doctrine.orm.entity_value_resolver.console'));
}
$this->assertInstanceOf(DoctrineDataCollector::class, $container->get('data_collector.doctrine'));
$this->assertInstanceOf(DBALConfiguration::class, $container->get('doctrine.dbal.default_connection.configuration'));
$this->assertInstanceOf(EventManager::class, $container->get('doctrine.dbal.default_connection.event_manager'));
$this->assertInstanceOf(Connection::class, $container->get('doctrine.dbal.default_connection'));
$this->assertInstanceOf(Configuration::class, $container->get('doctrine.orm.default_configuration'));
$this->assertInstanceOf(MappingDriverChain::class, $container->get('doctrine.orm.default_metadata_driver'));
$this->assertInstanceOf(PhpArrayAdapter::class, $container->get('doctrine.orm.default_metadata_cache'));
$this->assertInstanceOf(ArrayAdapter::class, $container->get('doctrine.orm.default_query_cache'));
$this->assertInstanceOf(ArrayAdapter::class, $container->get('doctrine.orm.default_result_cache'));
$this->assertInstanceOf(EntityManager::class, $container->get('doctrine.orm.default_entity_manager'));
$this->assertInstanceOf(Connection::class, $container->get('database_connection'));
$this->assertInstanceOf(EntityManager::class, $container->get('doctrine.orm.entity_manager'));
$this->assertInstanceOf(EventManager::class, $container->get('doctrine.orm.default_entity_manager.event_manager'));
$this->assertInstanceOf(EventManager::class, $container->get('doctrine.dbal.event_manager'));
$this->assertInstanceOf(ManagerRegistry::class, $container->get('doctrine'));
$this->assertInstanceOf(UniqueEntityValidator::class, $container->get('doctrine.orm.validator.unique'));
$this->assertInstanceOf(InfoCommand::class, $container->get('doctrine.mapping_info_command'));
$this->assertInstanceOf(MappingDescribeCommand::class, $container->get('doctrine.mapping_describe_command'));
$this->assertInstanceOf(UpdateCommand::class, $container->get('doctrine.schema_update_command'));
if (! $container->getParameter('doctrine.orm.enable_native_lazy_objects')) {
$this->assertInstanceOf(ProxyCacheWarmer::class, $container->get('doctrine.orm.proxy_cache_warmer'));
}
$this->assertTrue(Type::hasType('test'));
$this->assertFalse($container->has('doctrine.dbal.default_connection.events.mysqlsessioninit'));
$this->assertInstanceOf(DoctrineExtractor::class, $container->get('doctrine.orm.default_entity_manager.property_info_extractor'));
$this->assertInstanceOf(DoctrineLoader::class, $container->get('doctrine.orm.default_entity_manager.validator_loader'));
$this->assertInstanceOf(ManagerRegistryAwareEntityManagerProvider::class, $container->get('doctrine.orm.command.entity_manager_provider'));
}
}