[tests] Cover SET modifiers EX, PX, NX|XX (Redis >= 2.6.12).

This commit is contained in:
Daniele Alessandri
2015-07-25 09:10:07 +02:00
parent e2e645a8bd
commit 6f2064ed90
+67
View File
@@ -47,6 +47,20 @@ class StringSetTest extends PredisCommandTestCase
$this->assertSame($expected, $command->getArguments());
}
/**
* @group disconnected
*/
public function testFilterArgumentsRedisWithModifiers()
{
$arguments = array('foo', 'bar', 'EX', '10', 'NX');
$expected = array('foo', 'bar', 'EX', '10', 'NX');
$command = $this->getCommand();
$command->setArguments($arguments);
$this->assertSame($expected, $command->getArguments());
}
/**
* @group disconnected
*/
@@ -66,4 +80,57 @@ class StringSetTest extends PredisCommandTestCase
$this->assertTrue($redis->exists('foo'));
$this->assertSame('bar', $redis->get('foo'));
}
/**
* @group connected
* @requiresRedisVersion >= 2.6.12
*/
public function testSetStringValueWithModifierEX()
{
$redis = $this->getClient();
$this->assertEquals('OK', $redis->set('foo', 'bar', 'ex', 1));
$this->assertSame(1, $redis->ttl('foo'));
}
/**
* @group connected
* @requiresRedisVersion >= 2.6.12
*/
public function testSetStringValueWithModifierPX()
{
$redis = $this->getClient();
$this->assertEquals('OK', $redis->set('foo', 'bar', 'px', 1000));
$pttl = $redis->pttl('foo');
$this->assertGreaterThan(0, $pttl);
$this->assertLessThanOrEqual(1000, $pttl);
}
/**
* @group connected
* @requiresRedisVersion >= 2.6.12
*/
public function testSetStringValueWithModifierNX()
{
$redis = $this->getClient();
$this->assertEquals('OK', $redis->set('foo', 'bar', 'NX'));
$this->assertNull($redis->set('foo', 'bar', 'NX'));
}
/**
* @group connected
* @requiresRedisVersion >= 2.6.12
*/
public function testSetStringValueWithModifierXX()
{
$redis = $this->getClient();
$this->assertEquals('OK', $redis->set('foo', 'bar'));
$this->assertEquals('OK', $redis->set('foo', 'barbar', 'XX'));
$this->assertNull($redis->set('foofoo', 'barbar', 'XX'));
}
}