123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
-
- namespace Doctrine\Tests\DBAL;
-
- require_once __DIR__ . '/../TestInit.php';
-
- class DriverManagerTest extends \Doctrine\Tests\DbalTestCase
- {
- /**
- * @expectedException \Doctrine\DBAL\DBALException
- */
- public function testInvalidPdoInstance()
- {
- $options = array(
- 'pdo' => 'test'
- );
- $test = \Doctrine\DBAL\DriverManager::getConnection($options);
- }
-
- public function testValidPdoInstance()
- {
- $options = array(
- 'pdo' => new \PDO('sqlite::memory:')
- );
- $conn = \Doctrine\DBAL\DriverManager::getConnection($options);
- $this->assertEquals('sqlite', $conn->getDatabasePlatform()->getName());
- }
-
- /**
- * @group DBAL-32
- */
- public function testPdoInstanceSetErrorMode()
- {
- $pdo = new \PDO('sqlite::memory:');
- $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_SILENT);
- $options = array(
- 'pdo' => $pdo
- );
-
- $conn = \Doctrine\DBAL\DriverManager::getConnection($options);
- $this->assertEquals(\PDO::ERRMODE_EXCEPTION, $pdo->getAttribute(\PDO::ATTR_ERRMODE));
- }
-
- /**
- * @expectedException \Doctrine\DBAL\DBALException
- */
- public function testCheckParams()
- {
- $conn = \Doctrine\DBAL\DriverManager::getConnection(array());
- }
-
- /**
- * @expectedException \Doctrine\DBAL\DBALException
- */
- public function testInvalidDriver()
- {
- $conn = \Doctrine\DBAL\DriverManager::getConnection(array('driver' => 'invalid_driver'));
- }
-
- public function testCustomPlatform()
- {
- $mockPlatform = new \Doctrine\Tests\DBAL\Mocks\MockPlatform();
- $options = array(
- 'pdo' => new \PDO('sqlite::memory:'),
- 'platform' => $mockPlatform
- );
-
- $conn = \Doctrine\DBAL\DriverManager::getConnection($options);
- $this->assertSame($mockPlatform, $conn->getDatabasePlatform());
- }
-
- public function testCustomWrapper()
- {
- $wrapperClass = 'Doctrine\Tests\Mocks\ConnectionMock';
-
- $options = array(
- 'pdo' => new \PDO('sqlite::memory:'),
- 'wrapperClass' => $wrapperClass,
- );
-
- $conn = \Doctrine\DBAL\DriverManager::getConnection($options);
- $this->assertInstanceOf($wrapperClass, $conn);
- }
-
- public function testInvalidWrapperClass()
- {
- $this->setExpectedException('\Doctrine\DBAL\DBALException');
-
- $options = array(
- 'pdo' => new \PDO('sqlite::memory:'),
- 'wrapperClass' => 'stdClass',
- );
-
- $conn = \Doctrine\DBAL\DriverManager::getConnection($options);
- }
-
- public function testInvalidDriverClass()
- {
- $this->setExpectedException('\Doctrine\DBAL\DBALException');
-
- $options = array(
- 'driverClass' => 'stdClass'
- );
-
- $conn = \Doctrine\DBAL\DriverManager::getConnection($options);
- }
-
- public function testValidDriverClass()
- {
- $options = array(
- 'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
- );
-
- $conn = \Doctrine\DBAL\DriverManager::getConnection($options);
- $this->assertInstanceOf('Doctrine\DBAL\Driver\PDOMySql\Driver', $conn->getDriver());
- }
- }
|