getCommand(); $command->setArguments($arguments); $this->assertSame($expected, $command->getArguments()); } /** * @group disconnected */ public function testParseResponse(): void { $this->assertSame('OK', $this->getCommand()->parseResponse('OK')); } /** * @group connected * @requiresRedisVersion >= 2.6.0 */ public function testExistsReturnsAnArrayOfValues(): void { $redis = $this->getClient(); $redis->eval($lua = 'return true', 0); $sha1 = sha1($lua); $this->assertSame([1, 0], $redis->script('EXISTS', $sha1, 'ffffffffffffffffffffffffffffffffffffffff')); } /** * @group connected * @requiresRedisVersion >= 6.0.0 */ public function testExistsReturnsAnArrayOfValuesResp3(): void { $redis = $this->getResp3Client(); $redis->eval($lua = 'return true', 0); $sha1 = sha1($lua); $this->assertSame([1, 0], $redis->script('EXISTS', $sha1, 'ffffffffffffffffffffffffffffffffffffffff')); } /** * @group connected * @requiresRedisVersion >= 2.6.0 */ public function testLoadReturnsHashOfScripts(): void { $redis = $this->getClient(); $lua = 'return true'; $sha1 = sha1($lua); $this->assertSame($sha1, $redis->script('LOAD', $lua)); } /** * @group connected * @requiresRedisVersion >= 6.0.0 */ public function testLoadReturnsHashOfScriptsResp3(): void { $redis = $this->getResp3Client(); $lua = 'return true'; $sha1 = sha1($lua); $this->assertSame($sha1, $redis->script('LOAD', $lua)); } /** * @group connected * @requiresRedisVersion >= 2.6.0 */ public function testFlushesExistingScripts(): void { $redis = $this->getClient(); $sha1 = $redis->script('LOAD', 'return true'); $this->assertEquals('OK', $redis->script('FLUSH')); $this->assertSame([0], $redis->script('EXISTS', $sha1)); } /** * @group connected * @requiresRedisVersion >= 2.6.0 */ public function testThrowsExceptionOnInvalidSubcommand(): void { $this->expectException('Predis\Response\ServerException'); $redis = $this->getClient(); $redis->script('INVALID'); } }