setConnections() 공개 메소드

public setConnections ( array $connections )
$connections array
예제 #1
0
 public function testWithNoValidConnection()
 {
     $connections = array(new \Elastica\Connection(array('host' => '255.255.255.0', 'timeout' => 2)), new \Elastica\Connection(array('host' => '45.45.45.45', 'port' => '80', 'timeout' => 2)), new \Elastica\Connection(array('host' => '10.123.213.123', 'timeout' => 2)));
     $count = 0;
     $client = new Client(array(), function () use(&$count) {
         ++$count;
     });
     $client->setConnections($connections);
     try {
         $client->request('/_aliases');
         $this->fail('Should throw exception as no connection valid');
     } catch (\Elastica\Exception\ConnectionException $e) {
         $this->assertEquals(count($connections), $count);
     }
 }
 /**
  * Tests if the callback works in case a connection is down
  */
 public function testCallback()
 {
     $count = 0;
     $object = $this;
     // Callback function which verifies that disabled connection objects are returned
     $callback = function ($connection, $exception, $client) use(&$object, &$count) {
         $object->assertInstanceOf('Elastica\\Connection', $connection);
         $object->assertInstanceOf('Elastica\\Exception\\ConnectionException', $exception);
         $object->assertInstanceOf('Elastica\\Client', $client);
         $object->assertFalse($connection->isEnabled());
         $count++;
     };
     $client = new Client(array(), $callback);
     // First connection work, second should not work
     $connection1 = new Connection(array('port' => '9101', 'timeout' => 2));
     $connection2 = new Connection(array('port' => '9102', 'timeout' => 2));
     $client->setConnections(array($connection1, $connection2));
     $this->assertEquals(0, $count);
     try {
         $client->request('_status', Request::GET);
         $this->fail('Should throw exception as no connection valid');
     } catch (HttpException $e) {
         $this->assertTrue(true);
     }
     // Two disabled connections (from closure call)
     $this->assertEquals(2, $count);
 }