Extract a strategy class from the replication connection.

This commit is contained in:
Daniele Alessandri
2012-09-12 11:45:17 +02:00
parent b4e1ab106c
commit 732d7f96d1
6 changed files with 643 additions and 190 deletions
@@ -14,6 +14,7 @@ namespace Predis\Connection;
use \PHPUnit_Framework_TestCase as StandardTestCase;
use Predis\Profile\ServerProfile;
use Predis\Replication\ReplicationStrategy;
/**
*
@@ -467,8 +468,8 @@ class MasterSlaveReplicationTest extends StandardTestCase
$replication->add($master);
$replication->add($slave1);
$replication->setCommandReadOnly($cmdSet->getId(), true);
$replication->setCommandReadOnly($cmdGet->getId(), false);
$replication->getReplicationStrategy()->setCommandReadOnly($cmdSet->getId(), true);
$replication->getReplicationStrategy()->setCommandReadOnly($cmdGet->getId(), false);
$replication->executeCommand($cmdSet);
$replication->executeCommand($cmdGet);
@@ -493,7 +494,7 @@ class MasterSlaveReplicationTest extends StandardTestCase
$replication->add($master);
$replication->add($slave1);
$replication->setCommandReadOnly('exists', function ($cmd) {
$replication->getReplicationStrategy()->setCommandReadOnly('exists', function ($cmd) {
list($arg1) = $cmd->getArguments();
return $arg1 === 'foo';
});
@@ -524,12 +525,25 @@ class MasterSlaveReplicationTest extends StandardTestCase
$replication->add($master);
$replication->add($slave1);
$replication->setScriptReadOnly($script);
$replication->getReplicationStrategy()->setScriptReadOnly($script);
$replication->executeCommand($cmdEval);
$replication->executeCommand($cmdEvalSha);
}
/**
* @group disconnected
*/
public function testExposesReplicationStrategy()
{
$replication = new MasterSlaveReplication();
$this->assertInstanceOf('Predis\Replication\ReplicationStrategy', $replication->getReplicationStrategy());
$strategy = new ReplicationStrategy();
$replication = new MasterSlaveReplication($strategy);
$this->assertSame($strategy, $replication->getReplicationStrategy());
}
/**
* @group disconnected
*/