'Redis client manager', 'description' => 'Tests Redis module client manager feature.', 'group' => 'Redis', ); } protected function getClientInterface() { return 'PhpRedis'; } public function getManager() { return new Redis_Client_Manager( new Redis_Tests_Client_MockFactory(), array( 'default' => array(), 'foo' => array( 'host' => 'foo.com', 'port' => 666, ), 'bar' => array( 'host' => 'bar.com', ), ) ); } public function testManagerServerList() { $manager = $this->getManager(); $defaultClient = $manager->getClient(); $this->assertTrue(is_object($defaultClient)); // Ensure defaults are OK $this->assertIdentical(Redis_Client_Manager::REDIS_DEFAULT_HOST, $defaultClient->host); $this->assertIdentical(Redis_Client_Manager::REDIS_DEFAULT_PORT, $defaultClient->port); $this->assertFalse(property_exists($defaultClient, 'base')); $this->assertFalse(property_exists($defaultClient, 'password')); $client = $manager->getClient('foo'); $this->assertIdentical('foo.com', $client->host); $this->assertIdentical(666, $client->port); $client = $manager->getClient('bar'); $this->assertIdentical('bar.com', $client->host); $this->assertIdentical(Redis_Client_Manager::REDIS_DEFAULT_PORT, $client->port); $this->assertIdentical($defaultClient, $manager->getClient('non_existing')); try { $manager->getClient('other_non_existing', false); $this->assert(false); } catch (\InvalidArgumentException $e) { $this->assert(true); } } }