150 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/*
 | 
						|
 * This file is part of the Doctrine Bundle
 | 
						|
 *
 | 
						|
 * The code was originally distributed inside the Symfony framework.
 | 
						|
 *
 | 
						|
 * (c) Fabien Potencier <fabien@symfony.com>
 | 
						|
 * (c) Doctrine Project, Benjamin Eberlei <kontakt@beberlei.de>
 | 
						|
 *
 | 
						|
 * For the full copyright and license information, please view the LICENSE
 | 
						|
 * file that was distributed with this source code.
 | 
						|
 */
 | 
						|
 | 
						|
namespace Doctrine\Bundle\DoctrineBundle\Tests;
 | 
						|
 | 
						|
use Doctrine\Bundle\DoctrineBundle\Registry;
 | 
						|
 | 
						|
class RegistryTest extends TestCase
 | 
						|
{
 | 
						|
    public function testGetDefaultConnectionName()
 | 
						|
    {
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $registry = new Registry($container, array(), array(), 'default', 'default');
 | 
						|
 | 
						|
        $this->assertEquals('default', $registry->getDefaultConnectionName());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetDefaultEntityManagerName()
 | 
						|
    {
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $registry = new Registry($container, array(), array(), 'default', 'default');
 | 
						|
 | 
						|
        $this->assertEquals('default', $registry->getDefaultEntityManagerName());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetDefaultConnection()
 | 
						|
    {
 | 
						|
        $conn = $this->getMock('Doctrine\DBAL\Connection', array(), array(), '', false);
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $container->expects($this->once())
 | 
						|
                  ->method('get')
 | 
						|
                  ->with($this->equalTo('doctrine.dbal.default_connection'))
 | 
						|
                  ->will($this->returnValue($conn));
 | 
						|
 | 
						|
        $registry = new Registry($container, array('default' => 'doctrine.dbal.default_connection'), array(), 'default', 'default');
 | 
						|
 | 
						|
        $this->assertSame($conn, $registry->getConnection());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetConnection()
 | 
						|
    {
 | 
						|
        $conn = $this->getMock('Doctrine\DBAL\Connection', array(), array(), '', false);
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $container->expects($this->once())
 | 
						|
                  ->method('get')
 | 
						|
                  ->with($this->equalTo('doctrine.dbal.default_connection'))
 | 
						|
                  ->will($this->returnValue($conn));
 | 
						|
 | 
						|
        $registry = new Registry($container, array('default' => 'doctrine.dbal.default_connection'), array(), 'default', 'default');
 | 
						|
 | 
						|
        $this->assertSame($conn, $registry->getConnection('default'));
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetUnknownConnection()
 | 
						|
    {
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $registry = new Registry($container, array(), array(), 'default', 'default');
 | 
						|
 | 
						|
        $this->setExpectedException('InvalidArgumentException', 'Doctrine ORM Connection named "default" does not exist.');
 | 
						|
        $registry->getConnection('default');
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetConnectionNames()
 | 
						|
    {
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $registry = new Registry($container, array('default' => 'doctrine.dbal.default_connection'), array(), 'default', 'default');
 | 
						|
 | 
						|
        $this->assertEquals(array('default' => 'doctrine.dbal.default_connection'), $registry->getConnectionNames());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetDefaultEntityManager()
 | 
						|
    {
 | 
						|
        $em = new \stdClass();
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $container->expects($this->once())
 | 
						|
                  ->method('get')
 | 
						|
                  ->with($this->equalTo('doctrine.orm.default_entity_manager'))
 | 
						|
                  ->will($this->returnValue($em));
 | 
						|
 | 
						|
        $registry = new Registry($container, array(), array('default' => 'doctrine.orm.default_entity_manager'), 'default', 'default');
 | 
						|
 | 
						|
        $this->assertSame($em, $registry->getEntityManager());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetEntityManager()
 | 
						|
    {
 | 
						|
        $em = new \stdClass();
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $container->expects($this->once())
 | 
						|
                  ->method('get')
 | 
						|
                  ->with($this->equalTo('doctrine.orm.default_entity_manager'))
 | 
						|
                  ->will($this->returnValue($em));
 | 
						|
 | 
						|
        $registry = new Registry($container, array(), array('default' => 'doctrine.orm.default_entity_manager'), 'default', 'default');
 | 
						|
 | 
						|
        $this->assertSame($em, $registry->getEntityManager('default'));
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetUnknownEntityManager()
 | 
						|
    {
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $registry = new Registry($container, array(), array(), 'default', 'default');
 | 
						|
 | 
						|
        $this->setExpectedException('InvalidArgumentException', 'Doctrine ORM Manager named "default" does not exist.');
 | 
						|
        $registry->getEntityManager('default');
 | 
						|
    }
 | 
						|
 | 
						|
    public function testResetDefaultEntityManager()
 | 
						|
    {
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $container->expects($this->once())
 | 
						|
                  ->method('set')
 | 
						|
                  ->with($this->equalTo('doctrine.orm.default_entity_manager'), $this->equalTo(null));
 | 
						|
 | 
						|
        $registry = new Registry($container, array(), array('default' => 'doctrine.orm.default_entity_manager'), 'default', 'default');
 | 
						|
        $registry->resetEntityManager();
 | 
						|
    }
 | 
						|
 | 
						|
    public function testResetEntityManager()
 | 
						|
    {
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $container->expects($this->once())
 | 
						|
                  ->method('set')
 | 
						|
                  ->with($this->equalTo('doctrine.orm.default_entity_manager'), $this->equalTo(null));
 | 
						|
 | 
						|
        $registry = new Registry($container, array(), array('default' => 'doctrine.orm.default_entity_manager'), 'default', 'default');
 | 
						|
        $registry->resetEntityManager('default');
 | 
						|
    }
 | 
						|
 | 
						|
    public function testResetUnknownEntityManager()
 | 
						|
    {
 | 
						|
        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
 | 
						|
        $registry = new Registry($container, array(), array(), 'default', 'default');
 | 
						|
 | 
						|
        $this->setExpectedException('InvalidArgumentException', 'Doctrine ORM Manager named "default" does not exist.');
 | 
						|
        $registry->resetEntityManager('default');
 | 
						|
    }
 | 
						|
}
 |