/** * {@inheritdoc} */ public function getDefault(OptionsInterface $options) { $factory = new Factory(); if ($options->defined('parameters')) { $factory->setDefaultParameters($options->parameters); } return $factory; }
/** * {@inheritdoc} */ public function create($parameters) { /** @var ConnectionWrapper $connection */ $connection = parent::create($parameters); if ($connection->getParameters()->logging) { if (null !== $this->wrapper) { $wrapper = $this->wrapper; $connection = new $wrapper($connection); } $connection->setLogger($this->logger); } return $connection; }
/** * @group disconnected */ public function testConstructorWithReplicationArgument() { $replication = new Connection\Aggregate\MasterSlaveReplication(); $factory = new Connection\Factory(); $factory->aggregate($replication, array('tcp://host1?alias=master', 'tcp://host2?alias=slave')); $client = new Client($replication); $this->assertInstanceOf('Predis\\Connection\\Aggregate\\ReplicationInterface', $client->getConnection()); $this->assertSame($replication, $client->getConnection()); }
/** * @group disconnected * @expectedException \InvalidArgumentException * @expecteExceptionMessage Unknown connection scheme: 'test'. */ public function testDefineAndUndefineConnection() { list(, $connectionClass) = $this->getMockConnectionClass(); $factory = new Factory(); $factory->define('test', $connectionClass); $this->assertInstanceOf($connectionClass, $factory->create('test://127.0.0.1')); $factory->undefine('test'); $factory->create('test://127.0.0.1'); }