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

namespace Doctrine\Tests\DBAL\Platforms;

5
use Doctrine\DBAL\Platforms\AbstractPlatform;
6
use Doctrine\DBAL\Platforms\PostgreSQL92Platform;
7
use Doctrine\DBAL\Types\Types;
8

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

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

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

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

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

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

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

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