MultiTenantShardChoserTest.php 785 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 12 13
{
    public function testPickShard()
    {
        $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 21
    }

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