1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
<?php
namespace Basho\Tests;
use Basho\Riak;
use Basho\Riak\Command;
/**
* Scenario tests for when Nodes become unreachable
*
* @author Christopher Mancini <cmancini at basho d0t com>
*/
class NodeUnreachableTest extends TestCase
{
/**
* @expectedException \Basho\Riak\Exception
*/
public function testUnreachableNode()
{
$nodes = $this->getCluster();
$riak = new Riak([$nodes[0]]);
$response = (new Command\Builder\Ping($riak))
->withConnectionTimeout(1)
->build()
->execute();
$this->assertFalse($response);
}
/**
* @expectedException \Basho\Riak\Exception
*/
public function testUnreachableNodes()
{
$riak = new Riak($this->getCluster());
$response = (new Command\Builder\Ping($riak))
->withConnectionTimeout(1)
->build()
->execute();
$this->assertFalse($response);
}
/**
* @expectedException \Basho\Riak\Exception
*/
public function testMaxConnections()
{
// grab three unreachable nodes
$nodes = $this->getCluster();
$riak = new Riak($nodes, ['max_connect_attempts' => 2]);
$response = (new Command\Builder\Ping($riak))
->withConnectionTimeout(1)
->build()
->execute();
$this->assertFalse($response);
}
public function testReachableNodeInCluster()
{
// grab three unreachable nodes
$nodes = $this->getCluster();
// replace third one with reachable node
$nodes[2] = $this->getLocalNode();
$riak = new Riak($nodes, ['max_connect_attempts' => 3], static::getApiBridgeClass());
$response = (new Command\Builder\Ping($riak))
->withConnectionTimeout(1)
->build()
->execute();
$this->assertInstanceOf('Basho\Riak\Command\Response', $response);
$this->assertTrue($response->isSuccess());
}
}
|