123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- namespace Predis;
- use PredisTestCase;
- class CommunicationExceptionTest extends PredisTestCase
- {
-
- public function testExceptionReturnsInnerConnection()
- {
- $connection = $this->getMockConnection();
- $exception = $this->createMockException($connection, 'Communication error message');
- $this->assertSame($connection, $exception->getConnection());
- }
-
- public function testExceptionMessage()
- {
- $connection = $this->getMockConnection();
- $exception = $this->createMockException($connection, 'Connection error message');
- throw $exception;
- }
-
- public function testShouldResetConnectionIsTrue()
- {
- $connection = $this->getMockConnection();
- $exception = $this->createMockException($connection, 'Communication error message');
- $this->assertTrue($exception->shouldResetConnection());
- }
-
- public function testCommunicationExceptionHandling()
- {
- $connection = $this->getMockConnection();
- $connection
- ->expects($this->once())
- ->method('isConnected')
- ->will($this->returnValue(true));
- $connection
- ->expects($this->once())
- ->method('disconnect');
- $exception = $this->createMockException($connection, 'Communication error message');
- CommunicationException::handle($exception);
- }
-
- public function testCommunicationExceptionHandlingWhenShouldResetConnectionIsFalse()
- {
- $connection = $this->getMockConnection();
- $connection
- ->expects($this->never())
- ->method('isConnected');
- $connection
- ->expects($this->never())
- ->method('disconnect');
- $exception = $this->getMockBuilder('Predis\CommunicationException')
- ->setConstructorArgs(array($connection, 'Communication error message'))
- ->setMethods(array('shouldResetConnection'))
- ->getMockForAbstractClass();
- $exception
- ->expects($this->once())
- ->method('shouldResetConnection')
- ->will($this->returnValue(false));
- CommunicationException::handle($exception);
- }
-
-
-
-
- protected function createMockException(
- Connection\NodeConnectionInterface $connection,
- $message,
- $code = 0,
- \Exception $inner = null
- ) {
- return $this->getMockBuilder('Predis\CommunicationException')
- ->setConstructorArgs(array($connection, $message, $code, $inner))
- ->getMockForAbstractClass();
- }
- }
|