AbstractSQLAnywhereDriverTest.php 2.68 KB
Newer Older
1 2
<?php

Michael Moravec's avatar
Michael Moravec committed
3 4
declare(strict_types=1);

5
namespace Doctrine\DBAL\Tests\Driver;
6 7

use Doctrine\DBAL\Connection;
8
use Doctrine\DBAL\Driver;
Sergei Morozov's avatar
Sergei Morozov committed
9
use Doctrine\DBAL\Driver\AbstractSQLAnywhereDriver;
10
use Doctrine\DBAL\Platforms\AbstractPlatform;
11
use Doctrine\DBAL\Platforms\SQLAnywhere16Platform;
12
use Doctrine\DBAL\Schema\AbstractSchemaManager;
13 14 15 16
use Doctrine\DBAL\Schema\SQLAnywhereSchemaManager;

class AbstractSQLAnywhereDriverTest extends AbstractDriverTest
{
17
    protected function createDriver() : Driver
18
    {
Sergei Morozov's avatar
Sergei Morozov committed
19
        return $this->getMockForAbstractClass(AbstractSQLAnywhereDriver::class);
20 21
    }

22
    protected function createPlatform() : AbstractPlatform
23
    {
24
        return new SQLAnywhere16Platform();
25 26
    }

27
    protected function createSchemaManager(Connection $connection) : AbstractSchemaManager
28 29 30 31
    {
        return new SQLAnywhereSchemaManager($connection);
    }

32 33 34 35
    /**
     * {@inheritDoc}
     */
    protected function getDatabasePlatformsForVersions() : array
36
    {
Sergei Morozov's avatar
Sergei Morozov committed
37
        return [
38 39 40 41 42 43 44
            ['16', SQLAnywhere16Platform::class],
            ['16.0', SQLAnywhere16Platform::class],
            ['16.0.0', SQLAnywhere16Platform::class],
            ['16.0.0.0', SQLAnywhere16Platform::class],
            ['16.1.2.3', SQLAnywhere16Platform::class],
            ['16.9.9.9', SQLAnywhere16Platform::class],
            ['17', SQLAnywhere16Platform::class],
Sergei Morozov's avatar
Sergei Morozov committed
45
        ];
46 47
    }

48 49 50 51
    /**
     * {@inheritDoc}
     */
    protected static function getExceptionConversionData() : array
52
    {
Sergei Morozov's avatar
Sergei Morozov committed
53 54
        return [
            self::EXCEPTION_CONNECTION => [
55 56 57
                [-100],
                [-103],
                [-832],
Sergei Morozov's avatar
Sergei Morozov committed
58 59
            ],
            self::EXCEPTION_FOREIGN_KEY_CONSTRAINT_VIOLATION => [
60
                [-198],
Sergei Morozov's avatar
Sergei Morozov committed
61 62
            ],
            self::EXCEPTION_INVALID_FIELD_NAME => [
63
                [-143],
Sergei Morozov's avatar
Sergei Morozov committed
64 65
            ],
            self::EXCEPTION_NON_UNIQUE_FIELD_NAME => [
66
                [-144],
Sergei Morozov's avatar
Sergei Morozov committed
67 68
            ],
            self::EXCEPTION_NOT_NULL_CONSTRAINT_VIOLATION => [
69 70
                [-184],
                [-195],
Sergei Morozov's avatar
Sergei Morozov committed
71 72
            ],
            self::EXCEPTION_SYNTAX_ERROR => [
73
                [-131],
Sergei Morozov's avatar
Sergei Morozov committed
74 75
            ],
            self::EXCEPTION_TABLE_EXISTS => [
76
                [-110],
Sergei Morozov's avatar
Sergei Morozov committed
77 78
            ],
            self::EXCEPTION_TABLE_NOT_FOUND => [
79 80
                [-141],
                [-1041],
Sergei Morozov's avatar
Sergei Morozov committed
81 82
            ],
            self::EXCEPTION_UNIQUE_CONSTRAINT_VIOLATION => [
83 84
                [-193],
                [-196],
Sergei Morozov's avatar
Sergei Morozov committed
85 86
            ],
            self::EXCEPTION_DEADLOCK => [
87 88 89
                [-306],
                [-307],
                [-684],
Sergei Morozov's avatar
Sergei Morozov committed
90 91
            ],
            self::EXCEPTION_LOCK_WAIT_TIMEOUT => [
92 93 94
                [-210],
                [-1175],
                [-1281],
Sergei Morozov's avatar
Sergei Morozov committed
95 96
            ],
        ];
97 98
    }
}