mirror of
https://github.com/predis/predis.git
synced 2026-10-10 05:47:02 +00:00
[tests] Improve code-reuse in tests for the Predis\Connection namespace.
This commit is contained in:
@@ -19,85 +19,6 @@ class PhpiredisSocketConnectionTest extends PredisConnectionTestCase
|
||||
{
|
||||
const CONNECTION_CLASS = 'Predis\Connection\PhpiredisSocketConnection';
|
||||
|
||||
/**
|
||||
* @group disconnected
|
||||
*/
|
||||
public function testConstructorDoesNotOpenConnection()
|
||||
{
|
||||
$connection = new PhpiredisSocketConnection($this->getParameters());
|
||||
|
||||
$this->assertFalse($connection->isConnected());
|
||||
}
|
||||
|
||||
/**
|
||||
* @group disconnected
|
||||
*/
|
||||
public function testSupportsSchemeTCP()
|
||||
{
|
||||
$parameters = $this->getParameters(array('scheme' => 'tcp'));
|
||||
$connection = new PhpiredisSocketConnection($parameters);
|
||||
|
||||
$this->assertInstanceOf('Predis\Connection\NodeConnectionInterface', $connection);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group disconnected
|
||||
*/
|
||||
public function testSupportsSchemeRedis()
|
||||
{
|
||||
$parameters = $this->getParameters(array('scheme' => 'redis'));
|
||||
$connection = new PhpiredisSocketConnection($parameters);
|
||||
|
||||
$this->assertInstanceOf('Predis\Connection\NodeConnectionInterface', $connection);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group disconnected
|
||||
*/
|
||||
public function testSupportsSchemeUnix()
|
||||
{
|
||||
$parameters = $this->getParameters(array('scheme' => 'unix'));
|
||||
$connection = new PhpiredisSocketConnection($parameters);
|
||||
|
||||
$this->assertInstanceOf('Predis\Connection\NodeConnectionInterface', $connection);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group disconnected
|
||||
* @expectedException \InvalidArgumentException
|
||||
* @expectedExceptionMessage Invalid scheme: 'udp'.
|
||||
*/
|
||||
public function testThrowsExceptionOnInvalidScheme()
|
||||
{
|
||||
$parameters = $this->getParameters(array('scheme' => 'udp'));
|
||||
new PhpiredisSocketConnection($parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group disconnected
|
||||
*/
|
||||
public function testExposesParameters()
|
||||
{
|
||||
$parameters = $this->getParameters();
|
||||
$connection = new PhpiredisSocketConnection($parameters);
|
||||
|
||||
$this->assertSame($parameters, $connection->getParameters());
|
||||
}
|
||||
|
||||
/**
|
||||
* @group disconnected
|
||||
*/
|
||||
public function testCanBeSerialized()
|
||||
{
|
||||
$parameters = $this->getParameters(array('alias' => 'redis', 'read_write_timeout' => 10));
|
||||
$connection = new PhpiredisSocketConnection($parameters);
|
||||
|
||||
$unserialized = unserialize(serialize($connection));
|
||||
|
||||
$this->assertInstanceOf('Predis\Connection\PhpiredisSocketConnection', $unserialized);
|
||||
$this->assertEquals($parameters, $unserialized->getParameters());
|
||||
}
|
||||
|
||||
// ******************************************************************** //
|
||||
// ---- INTEGRATION TESTS --------------------------------------------- //
|
||||
// ******************************************************************** //
|
||||
@@ -109,22 +30,21 @@ class PhpiredisSocketConnectionTest extends PredisConnectionTestCase
|
||||
*/
|
||||
public function testThrowsExceptionOnUnresolvableHostname()
|
||||
{
|
||||
$parameters = $this->getParameters(array('host' => 'bogus.tld'));
|
||||
$connection = new PhpiredisSocketConnection($parameters);
|
||||
$connection = $this->createConnectionWithParams(array('host' => 'bogus.tld'));
|
||||
$connection->connect();
|
||||
}
|
||||
|
||||
/**
|
||||
* @medium
|
||||
* @group connected
|
||||
* @expectedException \Predis\Protocol\ProtocolException
|
||||
* @expectedExceptionMessage Protocol error, got "P" as reply type byte
|
||||
*/
|
||||
public function testThrowsExceptionOnProtocolDesynchronizationErrors()
|
||||
{
|
||||
$connection = $this->getConnection($profile);
|
||||
$connection = $this->createConnection();
|
||||
$socket = $connection->getResource();
|
||||
|
||||
$connection->writeRequest($profile->createCommand('ping'));
|
||||
$connection->writeRequest($this->getCurrentProfile()->createCommand('ping'));
|
||||
socket_read($socket, 1);
|
||||
|
||||
$connection->read();
|
||||
|
||||
Reference in New Issue
Block a user