From ff683a694e37ecf779e1a16b5058666d6443ce85 Mon Sep 17 00:00:00 2001 From: "Jonathan H. Wage" Date: Mon, 4 Oct 2010 22:23:45 -0500 Subject: [PATCH] Integrating new data fixtures code. --- autoload.php.dist | 17 ++- install_vendors.sh | 3 + .../LoadDataFixturesDoctrineCommand.php | 142 ++---------------- .../DoctrineBundle/Resources/config/dbal.xml | 9 +- .../DoctrineBundle/Resources/config/orm.xml | 9 +- .../DoctrineBundle/Tests/ContainerTest.php | 62 ++++++++ .../CreateSchemaDoctrineODMCommand.php | 8 +- .../Command/DropSchemaDoctrineODMCommand.php | 8 +- .../LoadDataFixturesDoctrineODMCommand.php | 91 +++++++++++ .../Resources/config/mongodb.xml | 3 +- .../Tests/ContainerTest.php | 58 +++++++ update_vendors.sh | 3 + 12 files changed, 257 insertions(+), 156 deletions(-) create mode 100644 src/Symfony/Bundle/DoctrineBundle/Tests/ContainerTest.php create mode 100644 src/Symfony/Bundle/DoctrineMongoDBBundle/Command/LoadDataFixturesDoctrineODMCommand.php create mode 100644 src/Symfony/Bundle/DoctrineMongoDBBundle/Tests/ContainerTest.php diff --git a/autoload.php.dist b/autoload.php.dist index 81ee7573a1..902a1735ba 100644 --- a/autoload.php.dist +++ b/autoload.php.dist @@ -6,13 +6,14 @@ use Symfony\Component\HttpFoundation\UniversalClassLoader; $loader = new UniversalClassLoader(); $loader->registerNamespaces(array( - 'Symfony' => __DIR__.'/src', - 'Doctrine\\ODM\\MongoDB' => __DIR__.'/vendor/doctrine-mongodb/lib', - 'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib', - 'Doctrine\\DBAL\\Migrations' => __DIR__.'/vendor/doctrine-migrations/lib', - 'Doctrine\\DBAL' => __DIR__.'/vendor/doctrine-dbal/lib', - 'Doctrine' => __DIR__.'/vendor/doctrine/lib', - 'Zend' => __DIR__.'/vendor/zend/library', + 'Symfony' => __DIR__.'/src', + 'Doctrine\\ODM\\MongoDB' => __DIR__.'/vendor/doctrine-mongodb/lib', + 'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib', + 'Doctrine\\DBAL\\Migrations' => __DIR__.'/vendor/doctrine-migrations/lib', + 'Doctrine\\DBAL' => __DIR__.'/vendor/doctrine-dbal/lib', + 'Doctrine\\ORM\\DataFixtures' => __DIR__.'/vendor/doctrine-orm-data-fixtures', + 'Doctrine' => __DIR__.'/vendor/doctrine/lib', + 'Zend' => __DIR__.'/vendor/zend/library', )); $loader->registerPrefixes(array( 'Swift_' => __DIR__.'/vendor/swiftmailer/lib/classes', @@ -26,4 +27,4 @@ set_include_path( __DIR__.'/vendor/phing/classes'.PATH_SEPARATOR. __DIR__.'/vendor/propel/runtime/lib'.PATH_SEPARATOR. get_include_path() -); +); \ No newline at end of file diff --git a/install_vendors.sh b/install_vendors.sh index f61a8d0170..d0a6f1ceb1 100755 --- a/install_vendors.sh +++ b/install_vendors.sh @@ -12,6 +12,9 @@ cd vendor # Doctrine ORM git clone git://github.com/doctrine/doctrine2.git doctrine +# Doctrine ORM Data Fixtures Extension +git clone git://github.com/doctrine/orm-data-fixtures doctrine-orm-data-fixtures + # Doctrine DBAL git clone git://github.com/doctrine/dbal.git doctrine-dbal diff --git a/src/Symfony/Bundle/DoctrineBundle/Command/LoadDataFixturesDoctrineCommand.php b/src/Symfony/Bundle/DoctrineBundle/Command/LoadDataFixturesDoctrineCommand.php index 532ab90b21..c07dac0045 100644 --- a/src/Symfony/Bundle/DoctrineBundle/Command/LoadDataFixturesDoctrineCommand.php +++ b/src/Symfony/Bundle/DoctrineBundle/Command/LoadDataFixturesDoctrineCommand.php @@ -39,6 +39,7 @@ class LoadDataFixturesDoctrineCommand extends DoctrineCommand ->setDescription('Load data fixtures to your database.') ->addOption('fixtures', null, InputOption::PARAMETER_OPTIONAL | InputOption::PARAMETER_IS_ARRAY, 'The directory or file to load data fixtures from.') ->addOption('append', null, InputOption::PARAMETER_OPTIONAL, 'Whether or not to append the data fixtures.', false) + ->addOption('em', null, InputOption::PARAMETER_REQUIRED, 'The entity manager to use for this command.') ->setHelp(<<doctrine:data:load command loads data fixtures from your bundles: @@ -57,7 +58,10 @@ EOT protected function execute(InputInterface $input, OutputInterface $output) { - $defaultEm = $this->container->getDoctrine_ORM_EntityManagerService(); + $emName = $input->getOption('em'); + $emName = $emName ? $emName : 'default'; + $emServiceName = sprintf('doctrine.orm.%s_entity_manager', $emName); + $em = $this->container->get($emServiceName); $dirOrFile = $input->getOption('fixtures'); if ($dirOrFile) { $paths = is_array($dirOrFile) ? $dirOrFile : array($dirOrFile); @@ -69,139 +73,19 @@ EOT $namespace = str_replace('/', '\\', dirname($tmp)); $class = basename($tmp); - if (isset($bundleDirs[$namespace]) && is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/Resources/data/fixtures/doctrine/orm')) { + if (isset($bundleDirs[$namespace]) && is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/DataFixtures/ORM')) { $paths[] = $dir; } } } - $files = array(); + $loader = new \Doctrine\Common\DataFixtures\Loader(); foreach ($paths as $path) { - if (is_dir($path)) { - $finder = new Finder(); - $found = iterator_to_array($finder - ->files() - ->name('*.php') - ->in($path)); - } else { - $found = array($path); - } - $files = array_merge($files, $found); - } - - $ems = array(); - $emEntities = array(); - $files = array_unique($files); - foreach ($files as $file) { - $em = $defaultEm; - $output->writeln(sprintf('Loading data fixtures from "%s"', $file)); - - $before = array_keys(get_defined_vars()); - include($file); - $after = array_keys(get_defined_vars()); - $new = array_diff($after, $before); - $params = $em->getConnection()->getParams(); - $emName = isset($params['path']) ? $params['path']:$params['dbname']; - - $ems[$emName] = $em; - $emEntities[$emName] = array(); - $variables = array_values($new); - - foreach ($variables as $variable) { - $value = $$variable; - if (!is_object($value) || $value instanceof \Doctrine\ORM\EntityManager) { - continue; - } - $emEntities[$emName][] = $value; - } - foreach ($ems as $emName => $em) { - if (!$input->getOption('append')) { - $output->writeln(sprintf('Purging data from entity manager named "%s"', $emName)); - $this->purgeEntityManager($em); - } - - $entities = $emEntities[$emName]; - $numEntities = count($entities); - $output->writeln(sprintf('Persisting "%s" '.($numEntities > 1 ? 'entities' : 'entity').'', count($entities))); - - foreach ($entities as $entity) { - $em->persist($entity); - } - $output->writeln('Flushing entity manager'); - $em->flush(); - } + $loader->loadFromDirectory($path); } + $fixtures = $loader->getFixtures(); + $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($em); + $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger); + $executor->execute($fixtures, $input->getOption('append')); } - - protected function purgeEntityManager(EntityManager $em) - { - $classes = array(); - $metadatas = $em->getMetadataFactory()->getAllMetadata(); - - foreach ($metadatas as $metadata) { - if (!$metadata->isMappedSuperclass) { - $classes[] = $metadata; - } - } - - $commitOrder = $this->getCommitOrder($em, $classes); - - // Drop association tables first - $orderedTables = $this->getAssociationTables($commitOrder); - - // Drop tables in reverse commit order - for ($i = count($commitOrder) - 1; $i >= 0; --$i) { - $class = $commitOrder[$i]; - - if (($class->isInheritanceTypeSingleTable() && $class->name != $class->rootEntityName) - || $class->isMappedSuperclass) { - continue; - } - - $orderedTables[] = $class->getTableName(); - } - - foreach($orderedTables as $tbl) { - $em->getConnection()->executeUpdate("DELETE FROM $tbl"); - } - } - - protected function getCommitOrder(EntityManager $em, array $classes) - { - $calc = new CommitOrderCalculator; - - foreach ($classes as $class) { - $calc->addClass($class); - - foreach ($class->associationMappings as $assoc) { - if ($assoc['isOwningSide']) { - $targetClass = $em->getClassMetadata($assoc['targetEntity']); - - if ( ! $calc->hasClass($targetClass->name)) { - $calc->addClass($targetClass); - } - - // add dependency ($targetClass before $class) - $calc->addDependency($targetClass, $class); - } - } - } - - return $calc->getCommitOrder(); - } - - protected function getAssociationTables(array $classes) - { - $associationTables = array(); - - foreach ($classes as $class) { - foreach ($class->associationMappings as $assoc) { - if ($assoc['isOwningSide'] && $assoc['type'] == ClassMetadata::MANY_TO_MANY) { - $associationTables[] = $assoc['joinTable']['name']; - } - } - } - - return $associationTables; - } -} +} \ No newline at end of file diff --git a/src/Symfony/Bundle/DoctrineBundle/Resources/config/dbal.xml b/src/Symfony/Bundle/DoctrineBundle/Resources/config/dbal.xml index fd7cbe7ba0..33479e3f07 100644 --- a/src/Symfony/Bundle/DoctrineBundle/Resources/config/dbal.xml +++ b/src/Symfony/Bundle/DoctrineBundle/Resources/config/dbal.xml @@ -7,15 +7,16 @@ default Doctrine\DBAL\Connection - + Doctrine\DBAL\Logging\DebugStack + Symfony\Bundle\DoctrineBundle\Logger\DbalLogger Symfony\Bundle\DoctrineBundle\DataCollector\DoctrineDataCollector default - + - + @@ -24,4 +25,4 @@ - + \ No newline at end of file diff --git a/src/Symfony/Bundle/DoctrineBundle/Resources/config/orm.xml b/src/Symfony/Bundle/DoctrineBundle/Resources/config/orm.xml index e4e43730db..2a01ae14d0 100644 --- a/src/Symfony/Bundle/DoctrineBundle/Resources/config/orm.xml +++ b/src/Symfony/Bundle/DoctrineBundle/Resources/config/orm.xml @@ -42,13 +42,12 @@ - + %doctrine.orm.metadata_driver.entity_dirs% - - %doctrine.orm.metadata.annotation_default_namespace% + Doctrine\ORM\Mapping\ orm @@ -56,12 +55,12 @@ - + %doctrine.orm.metadata_driver.mapping_dirs% - + %doctrine.orm.metadata_driver.mapping_dirs% diff --git a/src/Symfony/Bundle/DoctrineBundle/Tests/ContainerTest.php b/src/Symfony/Bundle/DoctrineBundle/Tests/ContainerTest.php new file mode 100644 index 0000000000..5276ee7977 --- /dev/null +++ b/src/Symfony/Bundle/DoctrineBundle/Tests/ContainerTest.php @@ -0,0 +1,62 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bundle\DoctrineBundle\Tests; + +use Symfony\Component\DependencyInjection\Dumper\PhpDumper; +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; +use Symfony\Bundle\DoctrineBundle\DependencyInjection\DoctrineExtension; +use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; + +class ContainerTest extends TestCase +{ + public function getContainer() + { + $container = new ContainerBuilder(new ParameterBag(array( + 'kernel.bundle_dirs' => array(), + 'kernel.bundles' => array(), + 'kernel.cache_dir' => sys_get_temp_dir(), + ))); + $loader = new DoctrineExtension(); + $container->registerExtension($loader); + $loader->dbalLoad(array(), $container); + $loader->ormLoad(array(), $container); + + $dumper = new PhpDumper($container); + $code = $dumper->dump(); + eval(str_replace('getContainer(); + $this->assertInstanceOf('Doctrine\DBAL\Logging\DebugStack', $container->get('doctrine.dbal.logger.debug')); + $this->assertInstanceOf('Doctrine\DBAL\Logging\DebugStack', $container->get('doctrine.dbal.logger')); + $this->assertInstanceOf('Symfony\Bundle\DoctrineBundle\DataCollector\DoctrineDataCollector', $container->get('doctrine.data_collector')); + $this->assertInstanceOf('Doctrine\DBAL\Configuration', $container->get('doctrine.dbal.default_connection.configuration')); + $this->assertInstanceOf('Doctrine\Common\EventManager', $container->get('doctrine.dbal.default_connection.event_manager')); + $this->assertInstanceOf('Doctrine\DBAL\Connection', $container->get('doctrine.dbal.default_connection')); + $this->assertInstanceOf('Doctrine\ORM\Mapping\Driver\AnnotationDriver', $container->get('doctrine.orm.metadata_driver.annotation')); + $this->assertInstanceOf('Doctrine\Common\Annotations\AnnotationReader', $container->get('doctrine.orm.metadata_driver.annotation.reader')); + $this->assertInstanceOf('Doctrine\ORM\Mapping\Driver\XmlDriver', $container->get('doctrine.orm.metadata_driver.xml')); + $this->assertInstanceOf('Doctrine\ORM\Mapping\Driver\YamlDriver', $container->get('doctrine.orm.metadata_driver.yml')); + $this->assertInstanceOf('Doctrine\ORM\Configuration', $container->get('doctrine.orm.default_configuration')); + $this->assertInstanceOf('Doctrine\ORM\Mapping\Driver\DriverChain', $container->get('doctrine.orm.metadata_driver')); + $this->assertInstanceOf('Doctrine\Common\Cache\ArrayCache', $container->get('doctrine.orm.default_metadata_cache')); + $this->assertInstanceOf('Doctrine\Common\Cache\ArrayCache', $container->get('doctrine.orm.default_query_cache')); + $this->assertInstanceOf('Doctrine\Common\Cache\ArrayCache', $container->get('doctrine.orm.default_result_cache')); + $this->assertInstanceOf('Doctrine\ORM\EntityManager', $container->get('doctrine.orm.default_entity_manager')); + $this->assertInstanceOf('Doctrine\DBAL\Connection', $container->get('database_connection')); + $this->assertInstanceOf('Doctrine\ORM\EntityManager', $container->get('doctrine.orm.entity_manager')); + } +} \ No newline at end of file diff --git a/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/CreateSchemaDoctrineODMCommand.php b/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/CreateSchemaDoctrineODMCommand.php index 52cd8d91b0..25e87e2428 100644 --- a/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/CreateSchemaDoctrineODMCommand.php +++ b/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/CreateSchemaDoctrineODMCommand.php @@ -21,16 +21,16 @@ class CreateSchemaDoctrineODMCommand extends CreateCommand parent::configure(); $this - ->setName('doctrine:odm:schema:create') + ->setName('doctrine:mongodb:schema:create') ->addOption('dm', null, InputOption::PARAMETER_REQUIRED, 'The document manager to use for this command.') ->setHelp(<<doctrine:odm:schema:create command creates the default document manager's schema: +The doctrine:mongodb:schema:create command creates the default document manager's schema: - ./symfony doctrine:odm:schema:create + ./symfony doctrine:mongodb:schema:create You can also optionally specify the name of a document manager to create the schema for: - ./symfony doctrine:odm:schema:create --dm=default + ./symfony doctrine:mongodb:schema:create --dm=default EOT ); } diff --git a/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/DropSchemaDoctrineODMCommand.php b/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/DropSchemaDoctrineODMCommand.php index 37f7005b67..3c49e0f8af 100644 --- a/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/DropSchemaDoctrineODMCommand.php +++ b/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/DropSchemaDoctrineODMCommand.php @@ -21,16 +21,16 @@ class DropSchemaDoctrineODMCommand extends DropCommand parent::configure(); $this - ->setName('doctrine:odm:schema:drop') + ->setName('doctrine:mongodb:schema:drop') ->addOption('dm', null, InputOption::PARAMETER_REQUIRED, 'The document manager to use for this command.') ->setHelp(<<doctrine:odm:schema:drop command drops the default document manager's schema: +The doctrine:mongodb:schema:drop command drops the default document manager's schema: - ./symfony doctrine:odm:schema:drop + ./symfony doctrine:mongodb:schema:drop You can also optionally specify the name of a document manager to drop the schema for: - ./symfony doctrine:odm:schema:drop --dm=default + ./symfony doctrine:mongodb:schema:drop --dm=default EOT ); } diff --git a/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/LoadDataFixturesDoctrineODMCommand.php b/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/LoadDataFixturesDoctrineODMCommand.php new file mode 100644 index 0000000000..abafc25f8e --- /dev/null +++ b/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/LoadDataFixturesDoctrineODMCommand.php @@ -0,0 +1,91 @@ + + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +/** + * Load data fixtures from bundles. + * + * @author Fabien Potencier + * @author Jonathan H. Wage + */ +class LoadDataFixturesDoctrineODMCommand extends DoctrineODMCommand +{ + protected function configure() + { + $this + ->setName('doctrine:mongodb:data:load') + ->setDescription('Load data fixtures to your database.') + ->addOption('fixtures', null, InputOption::PARAMETER_OPTIONAL | InputOption::PARAMETER_IS_ARRAY, 'The directory or file to load data fixtures from.') + ->addOption('append', null, InputOption::PARAMETER_OPTIONAL, 'Whether or not to append the data fixtures.', false) + ->addOption('dm', null, InputOption::PARAMETER_REQUIRED, 'The document manager to use for this command.') + ->setHelp(<<doctrine:mongodb:data:load command loads data fixtures from your bundles: + + ./symfony doctrine:mongodb:data:load + +You can also optionally specify the path to fixtures with the --fixtures option: + + ./symfony doctrine:mongodb:data:load --fixtures=/path/to/fixtures1 --fixtures=/path/to/fixtures2 + +If you want to append the fixtures instead of flushing the database first you can use the --append option: + + ./symfony doctrine:mongodb:data:load --append +EOT + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $dmName = $input->getOption('dm'); + $dmName = $dmName ? $dmName : 'default'; + $dmServiceName = sprintf('doctrine.odm.mongodb.%s_document_manager', $dmName); + $dm = $this->container->get($dmServiceName); + $dirOrFile = $input->getOption('fixtures'); + if ($dirOrFile) { + $paths = is_array($dirOrFile) ? $dirOrFile : array($dirOrFile); + } else { + $paths = array(); + $bundleDirs = $this->container->getKernelService()->getBundleDirs(); + foreach ($this->container->getKernelService()->getBundles() as $bundle) { + $tmp = dirname(str_replace('\\', '/', get_class($bundle))); + $namespace = str_replace('/', '\\', dirname($tmp)); + $class = basename($tmp); + + if (isset($bundleDirs[$namespace]) && is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/DataFixtures/MongoDB')) { + $paths[] = $dir; + } + } + } + + $loader = new \Doctrine\Common\DataFixtures\Loader(); + foreach ($paths as $path) { + $loader->loadFromDirectory($path); + } + $fixtures = $loader->getFixtures(); + $purger = new \Doctrine\Common\DataFixtures\Purger\MongoDBPurger($dm); + $executor = new \Doctrine\Common\DataFixtures\Executor\MongoDBExecutor($dm, $purger); + $executor->execute($fixtures, $input->getOption('append')); + } +} \ No newline at end of file diff --git a/src/Symfony/Bundle/DoctrineMongoDBBundle/Resources/config/mongodb.xml b/src/Symfony/Bundle/DoctrineMongoDBBundle/Resources/config/mongodb.xml index c2f718b54e..71835fd7e7 100755 --- a/src/Symfony/Bundle/DoctrineMongoDBBundle/Resources/config/mongodb.xml +++ b/src/Symfony/Bundle/DoctrineMongoDBBundle/Resources/config/mongodb.xml @@ -56,7 +56,6 @@ - %doctrine.odm.mongodb.metadata.annotation_default_namespace% Doctrine\ODM\MongoDB\Mapping\ mongodb @@ -77,4 +76,4 @@ - + \ No newline at end of file diff --git a/src/Symfony/Bundle/DoctrineMongoDBBundle/Tests/ContainerTest.php b/src/Symfony/Bundle/DoctrineMongoDBBundle/Tests/ContainerTest.php new file mode 100644 index 0000000000..6d03d6db7f --- /dev/null +++ b/src/Symfony/Bundle/DoctrineMongoDBBundle/Tests/ContainerTest.php @@ -0,0 +1,58 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bundle\DoctrineBundle\Tests; + +use Symfony\Component\DependencyInjection\Dumper\PhpDumper; +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; +use Symfony\Bundle\DoctrineMongoDBBundle\DependencyInjection\DoctrineMongoDBExtension; +use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; + +class ContainerTest extends TestCase +{ + public function getContainer() + { + $container = new ContainerBuilder(new ParameterBag(array( + 'kernel.bundle_dirs' => array(), + 'kernel.bundles' => array(), + 'kernel.cache_dir' => sys_get_temp_dir(), + ))); + $loader = new DoctrineMongoDBExtension(); + $container->registerExtension($loader); + $loader->mongodbLoad(array(), $container); + + $dumper = new PhpDumper($container); + $code = $dumper->dump(); + eval(str_replace('getContainer(); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\Mapping\Driver\DriverChain', $container->get('doctrine.odm.mongodb.metadata.chain')); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver', $container->get('doctrine.odm.mongodb.metadata.annotation')); + $this->assertInstanceOf('Doctrine\Common\Annotations\AnnotationReader', $container->get('doctrine.odm.mongodb.metadata.annotation_reader')); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\Mapping\Driver\XmlDriver', $container->get('doctrine.odm.mongodb.metadata.xml')); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\Mapping\Driver\YamlDriver', $container->get('doctrine.odm.mongodb.metadata.yml')); + $this->assertInstanceOf('Doctrine\Common\Cache\ArrayCache', $container->get('doctrine.odm.mongodb.cache.array')); + $this->assertInstanceOf('Symfony\Bundle\DoctrineMongoDBBundle\Logger\DoctrineMongoDBLogger', $container->get('doctrine.odm.mongodb.logger')); + $this->assertInstanceOf('Symfony\Bundle\DoctrineMongoDBBundle\DataCollector\DoctrineMongoDBDataCollector', $container->get('doctrine.odm.mongodb.data_collector')); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\Mongo', $container->get('doctrine.odm.mongodb.default_connection')); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\Configuration', $container->get('doctrine.odm.mongodb.default_configuration')); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\Mapping\Driver\DriverChain', $container->get('doctrine.odm.mongodb.metadata')); + $this->assertInstanceOf('Doctrine\Common\Cache\ArrayCache', $container->get('doctrine.odm.mongodb.default_metadata_cache')); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\DocumentManager', $container->get('doctrine.odm.mongodb.default_document_manager')); + $this->assertInstanceOf('Doctrine\Common\Cache\ArrayCache', $container->get('doctrine.odm.mongodb.cache')); + $this->assertInstanceOf('Doctrine\ODM\MongoDB\DocumentManager', $container->get('doctrine.odm.mongodb.document_manager')); + } +} \ No newline at end of file diff --git a/update_vendors.sh b/update_vendors.sh index 1de72e87f3..446b486071 100755 --- a/update_vendors.sh +++ b/update_vendors.sh @@ -5,6 +5,9 @@ CURRENT=`pwd`/vendor # Doctrine ORM cd $CURRENT/doctrine && git pull +# Doctrine ORM Data Fixtures Extension +cd $CURRENT/doctrine-orm-data-fixtures && git pull + # Doctrine DBAL cd $CURRENT/doctrine-dbal && git pull