use a mock to test correct redis exceptions are surfaced

This commit is contained in:
Chris Boulton 2016-10-15 01:44:03 -07:00
parent 599dc4c8be
commit 8113e624c4
3 changed files with 24 additions and 4 deletions

View file

@ -13,8 +13,16 @@ class Resque_Tests_RedisTest extends Resque_Tests_TestCase
*/
public function testRedisExceptionsAreSurfaced()
{
$redis = new Resque_Redis('redis://255.255.255.255:1234');
$redis->ping();
$mockCredis = $this->getMockBuilder('Credis_Client')
->setMethods(['connect', '__call'])
->getMock();
$mockCredis->expects($this->any())->method('__call')
->will($this->throwException(new CredisException('failure')));
Resque::setBackend(function($database) use ($mockCredis) {
return new Resque_Redis('localhost:6379', $database, $mockCredis);
});
Resque::redis()->ping();
}
/**