* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Predis\Pipeline; use PHPUnit_Framework_TestCase as StandardTestCase; use SplQueue; use Predis\Client; use Predis\Profile\ServerProfile; /** * */ class FireAndForgetTest extends StandardTestCase { /** * @group disconnected */ public function testPipelineWithSingleConnection() { $profile = ServerProfile::getDefault(); $connection = $this->getMock('Predis\Connection\SingleConnectionInterface'); $connection->expects($this->exactly(3))->method('writeCommand'); $connection->expects($this->never())->method('readResponse'); $pipeline = new FireAndForget(new Client($connection)); $pipeline->ping(); $pipeline->ping(); $pipeline->ping(); $this->assertEmpty($pipeline->execute()); } /** * @group disconnected */ public function testSwitchesToMasterWithReplicationConnection() { $profile = ServerProfile::getDefault(); $connection = $this->getMock('Predis\Connection\ReplicationConnectionInterface'); $connection->expects($this->once()) ->method('switchTo') ->with('master'); $connection->expects($this->exactly(3)) ->method('writeCommand'); $connection->expects($this->never()) ->method('readResponse'); $pipeline = new FireAndForget(new Client($connection)); $pipeline->ping(); $pipeline->ping(); $pipeline->ping(); $this->assertEmpty($pipeline->execute()); } }