|
@@ -28,6 +28,24 @@ class FactoryTest extends PredisTestCase
|
|
|
$this->assertInstanceOf('Predis\Connection\FactoryInterface', $factory);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @group disconnected
|
|
|
+ */
|
|
|
+ public function testSettingDefaultParameters()
|
|
|
+ {
|
|
|
+ $factory = new Factory();
|
|
|
+
|
|
|
+ $factory->setDefaultParameters($defaults = array(
|
|
|
+ 'password' => 'secret',
|
|
|
+ 'database' => 10,
|
|
|
+ 'custom' => 'foobar',
|
|
|
+ ));
|
|
|
+
|
|
|
+ $this->assertSame($defaults, $factory->getDefaultParameters());
|
|
|
+
|
|
|
+ $parameters = array('database' => 10, 'persistent' => true);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @group disconnected
|
|
|
*/
|
|
@@ -72,6 +90,39 @@ class FactoryTest extends PredisTestCase
|
|
|
$this->assertEquals($unix->database, $parameters->database);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @group disconnected
|
|
|
+ */
|
|
|
+ public function testCreateConnectionWithParametersInstanceAndDefaultsDoesNotAlterOriginalParameters()
|
|
|
+ {
|
|
|
+ $factory = new Factory();
|
|
|
+
|
|
|
+ $factory->setDefaultParameters($defaultParams = array(
|
|
|
+ 'port' => 7000,
|
|
|
+ 'password' => 'secret',
|
|
|
+ 'database' => 10,
|
|
|
+ 'custom' => 'foobar',
|
|
|
+ ));
|
|
|
+
|
|
|
+ $inputParams = new Parameters(array(
|
|
|
+ 'host' => 'localhost',
|
|
|
+ 'database' => 5,
|
|
|
+ ));
|
|
|
+
|
|
|
+ $connection = $factory->create($inputParams);
|
|
|
+ $parameters = $connection->getParameters();
|
|
|
+
|
|
|
+ $this->assertEquals('localhost', $parameters->host);
|
|
|
+ $this->assertEquals(6379, $parameters->port);
|
|
|
+ $this->assertEquals(5, $parameters->database);
|
|
|
+
|
|
|
+ $this->assertFalse(isset($parameters->password));
|
|
|
+ $this->assertNull($parameters->password);
|
|
|
+
|
|
|
+ $this->assertFalse(isset($parameters->custom));
|
|
|
+ $this->assertNull($parameters->custom);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @group disconnected
|
|
|
*/
|
|
@@ -88,6 +139,31 @@ class FactoryTest extends PredisTestCase
|
|
|
$this->assertNull($parameters->custom);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @group disconnected
|
|
|
+ */
|
|
|
+ public function testCreateConnectionWithNullParametersAndDefaults()
|
|
|
+ {
|
|
|
+ $factory = new Factory();
|
|
|
+
|
|
|
+ $factory->setDefaultParameters($defaultParams = array(
|
|
|
+ 'port' => 7000,
|
|
|
+ 'password' => 'secret',
|
|
|
+ 'custom' => 'foobar',
|
|
|
+ ));
|
|
|
+
|
|
|
+ $connection = $factory->create(null);
|
|
|
+ $parameters = $connection->getParameters();
|
|
|
+
|
|
|
+ $this->assertInstanceOf('Predis\Connection\NodeConnectionInterface', $connection);
|
|
|
+
|
|
|
+ $this->assertEquals('127.0.0.1', $parameters->host);
|
|
|
+ $this->assertEquals($defaultParams['port'], $parameters->port);
|
|
|
+ $this->assertEquals($defaultParams['password'], $parameters->password);
|
|
|
+ $this->assertEquals($defaultParams['custom'], $parameters->custom);
|
|
|
+ $this->assertNull($parameters->path);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @group disconnected
|
|
|
*/
|
|
@@ -104,6 +180,37 @@ class FactoryTest extends PredisTestCase
|
|
|
$this->assertSame('foobar', $parameters->custom);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @group disconnected
|
|
|
+ */
|
|
|
+ public function testCreateConnectionWithArrayParametersAndDefaults()
|
|
|
+ {
|
|
|
+ $factory = new Factory();
|
|
|
+
|
|
|
+ $factory->setDefaultParameters($defaultParams = array(
|
|
|
+ 'port' => 7000,
|
|
|
+ 'password' => 'secret',
|
|
|
+ 'custom' => 'foobar',
|
|
|
+ ));
|
|
|
+
|
|
|
+ $connection = $factory->create($inputParams = array(
|
|
|
+ 'host' => 'localhost',
|
|
|
+ 'port' => 8000,
|
|
|
+ 'persistent' => true,
|
|
|
+ ));
|
|
|
+
|
|
|
+ $parameters = $connection->getParameters();
|
|
|
+
|
|
|
+ $this->assertInstanceOf('Predis\Connection\NodeConnectionInterface', $connection);
|
|
|
+
|
|
|
+ $this->assertEquals($inputParams['host'], $parameters->host);
|
|
|
+ $this->assertEquals($inputParams['port'], $parameters->port);
|
|
|
+ $this->assertEquals($defaultParams['password'], $parameters->password);
|
|
|
+ $this->assertEquals($defaultParams['custom'], $parameters->custom);
|
|
|
+ $this->assertEquals($inputParams['persistent'], $parameters->persistent);
|
|
|
+ $this->assertNull($parameters->path);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @group disconnected
|
|
|
*/
|
|
@@ -120,6 +227,32 @@ class FactoryTest extends PredisTestCase
|
|
|
$this->assertSame('foobar', $parameters->custom);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @group disconnected
|
|
|
+ */
|
|
|
+ public function testCreateConnectionWithStrinURIAndDefaults()
|
|
|
+ {
|
|
|
+ $factory = new Factory();
|
|
|
+
|
|
|
+ $factory->setDefaultParameters($defaultParams = array(
|
|
|
+ 'port' => 7000,
|
|
|
+ 'password' => 'secret',
|
|
|
+ 'custom' => 'foobar',
|
|
|
+ ));
|
|
|
+
|
|
|
+ $connection = $factory->create('tcp://localhost:8000?persistent=1');
|
|
|
+ $parameters = $connection->getParameters();
|
|
|
+
|
|
|
+ $this->assertInstanceOf('Predis\Connection\NodeConnectionInterface', $connection);
|
|
|
+
|
|
|
+ $this->assertEquals('localhost', $parameters->host);
|
|
|
+ $this->assertEquals('8000', $parameters->port);
|
|
|
+ $this->assertEquals($defaultParams['password'], $parameters->password);
|
|
|
+ $this->assertEquals($defaultParams['custom'], $parameters->custom);
|
|
|
+ $this->assertEquals(true, $parameters->persistent);
|
|
|
+ $this->assertNull($parameters->path);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @group disconnected
|
|
|
*/
|