PostgreSQL92PlatformTest.php 1.74 KB
Newer Older
1 2 3 4 5
<?php

namespace Doctrine\Tests\DBAL\Platforms;

use Doctrine\DBAL\Platforms\PostgreSQL92Platform;
6
use Doctrine\DBAL\Types\Types;
7

8
class PostgreSQL92PlatformTest extends AbstractPostgreSqlPlatformTestCase
9 10 11 12 13 14 15 16 17 18 19 20 21 22
{
    /**
     * {@inheritdoc}
     */
    public function createPlatform()
    {
        return new PostgreSQL92Platform();
    }

    /**
     * @group DBAL-553
     */
    public function testHasNativeJsonType()
    {
Sergei Morozov's avatar
Sergei Morozov committed
23
        self::assertTrue($this->platform->hasNativeJsonType());
24 25 26 27 28 29 30
    }

    /**
     * @group DBAL-553
     */
    public function testReturnsJsonTypeDeclarationSQL()
    {
Sergei Morozov's avatar
Sergei Morozov committed
31
        self::assertSame('JSON', $this->platform->getJsonTypeDeclarationSQL([]));
32 33
    }

34 35
    public function testReturnsSmallIntTypeDeclarationSQL()
    {
36
        self::assertSame(
37
            'SMALLSERIAL',
Sergei Morozov's avatar
Sergei Morozov committed
38
            $this->platform->getSmallIntTypeDeclarationSQL(['autoincrement' => true])
39 40
        );

41
        self::assertSame(
42
            'SMALLINT',
Sergei Morozov's avatar
Sergei Morozov committed
43
            $this->platform->getSmallIntTypeDeclarationSQL(['autoincrement' => false])
44 45
        );

46
        self::assertSame(
47
            'SMALLINT',
Sergei Morozov's avatar
Sergei Morozov committed
48
            $this->platform->getSmallIntTypeDeclarationSQL([])
49 50 51
        );
    }

52 53 54 55 56
    /**
     * @group DBAL-553
     */
    public function testInitializesJsonTypeMapping()
    {
Sergei Morozov's avatar
Sergei Morozov committed
57
        self::assertTrue($this->platform->hasDoctrineTypeMappingFor('json'));
58
        self::assertEquals(Types::JSON, $this->platform->getDoctrineTypeMapping('json'));
59
    }
60 61 62 63 64 65

    /**
     * @group DBAL-1220
     */
    public function testReturnsCloseActiveDatabaseConnectionsSQL()
    {
66
        self::assertSame(
67
            "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'foo'",
Sergei Morozov's avatar
Sergei Morozov committed
68
            $this->platform->getCloseActiveDatabaseConnectionsSQL('foo')
69 70
        );
    }
71
}