Passed
Branch add-more-test-schema (1ebac6)
by Wilmer
02:54
created

PDODriverTest   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 22
dl 0
loc 47
rs 10
c 1
b 0
f 0
wmc 5
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Db\Tests\Driver\PDO;
6
7
use PDO;
8
use PHPUnit\Framework\TestCase;
9
use Yiisoft\Db\Tests\Support\Assert;
10
use Yiisoft\Db\Tests\Support\Stub\PDODriver;
11
12
/**
13
 * @group db
14
 *
15
 * @psalm-suppress PropertyNotSetInConstructor
16
 */
17
final class PDODriverTest extends TestCase
18
{
19
    public function testAttributes(): void
20
    {
21
        $dsn = 'sqlite::memory:';
22
        $pdoDriver = new PDODriver($dsn);
23
        $pdoDriver->attributes([PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
24
25
        $this->assertSame(
26
            [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION],
27
            Assert::getInaccessibleProperty($pdoDriver, 'attributes'),
28
        );
29
    }
30
31
    public function testGetDriverName(): void
32
    {
33
        $dsn = 'sqlite::memory:';
34
        $pdoDriver = new PDODriver($dsn);
35
36
        $this->assertSame('db', $pdoDriver->getDriverName());
37
    }
38
39
    public function testSetCharSet(): void
40
    {
41
        $dsn = 'sqlite::memory:';
42
        $pdoDriver = new PDODriver($dsn);
43
        $pdoDriver->setCharSet('utf8');
44
45
        $this->assertSame('utf8', $pdoDriver->getCharSet());
46
    }
47
48
    public function testGetPassword(): void
49
    {
50
        $dsn = 'sqlite::memory:';
51
        $pdoDriver = new PDODriver($dsn);
52
        $pdoDriver->password('password');
53
54
        $this->assertSame('password', $pdoDriver->getPassword());
55
    }
56
57
    public function testGetUsername(): void
58
    {
59
        $dsn = 'sqlite::memory:';
60
        $pdoDriver = new PDODriver($dsn);
61
        $pdoDriver->username('username');
62
63
        $this->assertSame('username', $pdoDriver->getUsername());
64
    }
65
}
66