<?php namespace Doctrine\Tests\DBAL\Driver; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Driver\AbstractOracleDriver; use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Platforms\OraclePlatform; use Doctrine\DBAL\Schema\AbstractSchemaManager; use Doctrine\DBAL\Schema\OracleSchemaManager; class AbstractOracleDriverTest extends AbstractDriverTest { public function testReturnsDatabaseName() : void { $params = [ 'user' => 'foo', 'password' => 'bar', 'dbname' => 'baz', ]; $connection = $this->getConnectionMock(); $connection->expects($this->once()) ->method('getParams') ->will($this->returnValue($params)); self::assertSame($params['user'], $this->driver->getDatabase($connection)); } public function testReturnsDatabaseNameWithConnectDescriptor() : void { $params = [ 'user' => 'foo', 'password' => 'bar', 'connectionstring' => '(DESCRIPTION=' . '(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' . '(CONNECT_DATA=(SERVICE_NAME=baz)))', ]; $connection = $this->getConnectionMock(); $connection->expects($this->once()) ->method('getParams') ->will($this->returnValue($params)); self::assertSame($params['user'], $this->driver->getDatabase($connection)); } protected function createDriver() : Driver { return $this->getMockForAbstractClass(AbstractOracleDriver::class); } protected function createPlatform() : AbstractPlatform { return new OraclePlatform(); } protected function createSchemaManager(Connection $connection) : AbstractSchemaManager { return new OracleSchemaManager($connection); } /** * {@inheritDoc} */ protected static function getExceptionConversionData() : array { return [ self::EXCEPTION_CONNECTION => [ ['1017', null, null], ['12545', null, null], ], self::EXCEPTION_FOREIGN_KEY_CONSTRAINT_VIOLATION => [ ['2292', null, null], ], self::EXCEPTION_INVALID_FIELD_NAME => [ ['904', null, null], ], self::EXCEPTION_NON_UNIQUE_FIELD_NAME => [ ['918', null, null], ['960', null, null], ], self::EXCEPTION_NOT_NULL_CONSTRAINT_VIOLATION => [ ['1400', null, null], ], self::EXCEPTION_SYNTAX_ERROR => [ ['923', null, null], ], self::EXCEPTION_TABLE_EXISTS => [ ['955', null, null], ], self::EXCEPTION_TABLE_NOT_FOUND => [ ['942', null, null], ], self::EXCEPTION_UNIQUE_CONSTRAINT_VIOLATION => [ ['1', null, null], ['2299', null, null], ['38911', null, null], ], ]; } }