Repo2\QueryReactor\Tests\Sharding\ShardingControllerTest::testPickShardWithEmptyIdKey PHP Метод

testPickShardWithEmptyIdKey() публичный Метод

    public function testPickShardWithEmptyIdKey()
    {
        $sharding = $this->getShardingMock();
        $sharding->expects($this->never())->method('selectGlobal');
        $sharding->expects($this->once())->method('selectShard')->will($this->returnValue(null));
        // returns wrong configuration
        $query = $this->getMock('\\Repo2\\QueryReactor\\Tests\\Sharding\\ShardedStubQuery');
        $query->expects($this->never())->method('getExpression');
        $query->expects($this->once())->method('getDistributionName');
        $query->expects($this->once())->method('getDistributionValue');
        $query->expects($this->never())->method('resolve');
        $query->expects($this->once())->method('reject')->with($this->callback(function ($err) {
            return is_object($err) && $err instanceof \RuntimeException;
        }));
        $reactor = $this->createReactor($this->createShardingController($sharding));
        $reactor->execQuery($query)->await();
    }