OCI8ConnectionTest.php 1.5 KB
Newer Older
1 2 3 4 5
<?php

namespace Doctrine\Tests\DBAL\Functional\Driver\OCI8;

use Doctrine\DBAL\Driver\OCI8\Driver;
Sergei Morozov's avatar
Sergei Morozov committed
6
use Doctrine\DBAL\Driver\OCI8\OCI8Connection;
7
use Doctrine\DBAL\Schema\Table;
8
use Doctrine\Tests\DbalFunctionalTestCase;
9
use function extension_loaded;
10 11 12

class OCI8ConnectionTest extends DbalFunctionalTestCase
{
Sergei Morozov's avatar
Sergei Morozov committed
13
    /** @var OCI8Connection */
14 15
    protected $driverConnection;

16
    protected function setUp() : void
17 18 19 20 21 22 23
    {
        if (! extension_loaded('oci8')) {
            $this->markTestSkipped('oci8 is not installed.');
        }

        parent::setUp();

Sergei Morozov's avatar
Sergei Morozov committed
24
        if (! $this->connection->getDriver() instanceof Driver) {
25 26 27
            $this->markTestSkipped('oci8 only test.');
        }

Sergei Morozov's avatar
Sergei Morozov committed
28
        $this->driverConnection = $this->connection->getWrappedConnection();
29 30 31 32 33
    }

    /**
     * @group DBAL-2595
     */
34
    public function testLastInsertIdAcceptsFqn() : void
35
    {
Sergei Morozov's avatar
Sergei Morozov committed
36 37
        $platform      = $this->connection->getDatabasePlatform();
        $schemaManager = $this->connection->getSchemaManager();
38 39

        $table = new Table('DBAL2595');
Sergei Morozov's avatar
Sergei Morozov committed
40
        $table->addColumn('id', 'integer', ['autoincrement' => true]);
41 42 43 44
        $table->addColumn('foo', 'integer');

        $schemaManager->dropAndCreateTable($table);

Sergei Morozov's avatar
Sergei Morozov committed
45
        $this->connection->executeUpdate('INSERT INTO DBAL2595 (foo) VALUES (1)');
46

Sergei Morozov's avatar
Sergei Morozov committed
47
        $schema   = $this->connection->getDatabase();
48
        $sequence = $platform->getIdentitySequenceName($schema . '.DBAL2595', 'id');
49

50
        self::assertSame(1, $this->driverConnection->lastInsertId($sequence));
51 52
    }
}