MultiTenantShardChoserTest.php 818 Bytes
Newer Older
1 2 3 4
<?php

namespace Doctrine\Tests\DBAL\Sharding\ShardChoser;

Sergei Morozov's avatar
Sergei Morozov committed
5
use Doctrine\DBAL\Sharding\PoolingShardConnection;
6
use Doctrine\DBAL\Sharding\ShardChoser\MultiTenantShardChoser;
Sergei Morozov's avatar
Sergei Morozov committed
7
use PHPUnit\Framework\TestCase;
8

Sergei Morozov's avatar
Sergei Morozov committed
9
class MultiTenantShardChoserTest extends TestCase
10
{
11
    public function testPickShard() : void
12 13
    {
        $choser = new MultiTenantShardChoser();
Sergei Morozov's avatar
Sergei Morozov committed
14
        $conn   = $this->createConnectionMock();
15

16 17
        self::assertEquals(1, $choser->pickShard(1, $conn));
        self::assertEquals(2, $choser->pickShard(2, $conn));
18 19
    }

20
    private function createConnectionMock() : PoolingShardConnection
21
    {
Sergei Morozov's avatar
Sergei Morozov committed
22
        return $this->getMockBuilder(PoolingShardConnection::class)
23
            ->onlyMethods(['connect', 'getParams', 'fetchAll'])
24 25
            ->disableOriginalConstructor()
            ->getMock();
26 27
    }
}