AbstractMySQLDriverTest.php 4.04 KB
Newer Older
1 2
<?php

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

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

use Doctrine\DBAL\Connection;
8
use Doctrine\DBAL\Driver;
Sergei Morozov's avatar
Sergei Morozov committed
9
use Doctrine\DBAL\Driver\AbstractMySQLDriver;
10
use Doctrine\DBAL\Platforms\AbstractPlatform;
11
use Doctrine\DBAL\Platforms\MariaDb1027Platform;
12
use Doctrine\DBAL\Platforms\MySQL57Platform;
13
use Doctrine\DBAL\Platforms\MySQL80Platform;
14
use Doctrine\DBAL\Platforms\MySqlPlatform;
15
use Doctrine\DBAL\Schema\AbstractSchemaManager;
16 17 18 19
use Doctrine\DBAL\Schema\MySqlSchemaManager;

class AbstractMySQLDriverTest extends AbstractDriverTest
{
20
    protected function createDriver() : Driver
21
    {
Sergei Morozov's avatar
Sergei Morozov committed
22
        return $this->getMockForAbstractClass(AbstractMySQLDriver::class);
23 24
    }

25
    protected function createPlatform() : AbstractPlatform
26 27 28 29
    {
        return new MySqlPlatform();
    }

30
    protected function createSchemaManager(Connection $connection) : AbstractSchemaManager
31 32 33 34
    {
        return new MySqlSchemaManager($connection);
    }

Sergei Morozov's avatar
Sergei Morozov committed
35
    /**
36
     * {@inheritDoc}
Sergei Morozov's avatar
Sergei Morozov committed
37
     */
belgattitude's avatar
belgattitude committed
38
    protected function getDatabasePlatformsForVersions() : array
39
    {
40 41 42 43 44 45 46
        return [
            ['5.6.9', MySqlPlatform::class],
            ['5.7', MySQL57Platform::class],
            ['5.7.0', MySqlPlatform::class],
            ['5.7.8', MySqlPlatform::class],
            ['5.7.9', MySQL57Platform::class],
            ['5.7.10', MySQL57Platform::class],
47 48 49
            ['8', MySQL80Platform::class],
            ['8.0', MySQL80Platform::class],
            ['8.0.11', MySQL80Platform::class],
50 51 52 53 54 55 56
            ['6', MySQL57Platform::class],
            ['10.0.15-MariaDB-1~wheezy', MySqlPlatform::class],
            ['5.5.5-10.1.25-MariaDB', MySqlPlatform::class],
            ['10.1.2a-MariaDB-a1~lenny-log', MySqlPlatform::class],
            ['5.5.40-MariaDB-1~wheezy', MySqlPlatform::class],
            ['5.5.5-MariaDB-10.2.8+maria~xenial-log', MariaDb1027Platform::class],
            ['10.2.8-MariaDB-10.2.8+maria~xenial-log', MariaDb1027Platform::class],
Sergei Morozov's avatar
Sergei Morozov committed
57
            ['10.2.8-MariaDB-1~lenny-log', MariaDb1027Platform::class],
58
        ];
59 60
    }

61 62 63 64
    /**
     * {@inheritDoc}
     */
    protected static function getExceptionConversionData() : array
65
    {
Sergei Morozov's avatar
Sergei Morozov committed
66 67
        return [
            self::EXCEPTION_CONNECTION => [
68 69 70 71 72 73 74 75 76 77 78
                [1044],
                [1045],
                [1046],
                [1049],
                [1095],
                [1142],
                [1143],
                [1227],
                [1370],
                [2002],
                [2005],
Sergei Morozov's avatar
Sergei Morozov committed
79 80
            ],
            self::EXCEPTION_FOREIGN_KEY_CONSTRAINT_VIOLATION => [
81 82 83 84
                [1216],
                [1217],
                [1451],
                [1452],
Sergei Morozov's avatar
Sergei Morozov committed
85 86
            ],
            self::EXCEPTION_INVALID_FIELD_NAME => [
87 88 89
                [1054],
                [1166],
                [1611],
Sergei Morozov's avatar
Sergei Morozov committed
90 91
            ],
            self::EXCEPTION_NON_UNIQUE_FIELD_NAME => [
92 93 94
                [1052],
                [1060],
                [1110],
Sergei Morozov's avatar
Sergei Morozov committed
95 96
            ],
            self::EXCEPTION_NOT_NULL_CONSTRAINT_VIOLATION => [
97 98 99 100 101 102 103 104
                [1048],
                [1121],
                [1138],
                [1171],
                [1252],
                [1263],
                [1364],
                [1566],
Sergei Morozov's avatar
Sergei Morozov committed
105 106
            ],
            self::EXCEPTION_SYNTAX_ERROR => [
107 108 109 110 111 112 113 114 115 116 117 118
                [1064],
                [1149],
                [1287],
                [1341],
                [1342],
                [1343],
                [1344],
                [1382],
                [1479],
                [1541],
                [1554],
                [1626],
Sergei Morozov's avatar
Sergei Morozov committed
119 120
            ],
            self::EXCEPTION_TABLE_EXISTS => [
121
                [1050],
Sergei Morozov's avatar
Sergei Morozov committed
122 123
            ],
            self::EXCEPTION_TABLE_NOT_FOUND => [
124 125
                [1051],
                [1146],
Sergei Morozov's avatar
Sergei Morozov committed
126 127
            ],
            self::EXCEPTION_UNIQUE_CONSTRAINT_VIOLATION => [
128 129 130 131
                [1062],
                [1557],
                [1569],
                [1586],
Sergei Morozov's avatar
Sergei Morozov committed
132 133
            ],
            self::EXCEPTION_DEADLOCK => [
134
                [1213],
Sergei Morozov's avatar
Sergei Morozov committed
135 136
            ],
            self::EXCEPTION_LOCK_WAIT_TIMEOUT => [
137
                [1205],
Sergei Morozov's avatar
Sergei Morozov committed
138 139
            ],
        ];
140 141
    }
}