getCommand(); // as assoc array $command->setArguments(['key', 'elem', ['key1' => 'value1', 'key2' => 'value2']]); $this->assertSame(['key', 'elem', '{"key1":"value1","key2":"value2"}'], $command->getArguments()); // as json $command->setArguments(['key', 'elem', '{"key1":"value1","key2":"value2"}']); $this->assertSame(['key', 'elem', '{"key1":"value1","key2":"value2"}'], $command->getArguments()); } /** * @return void */ public function testParseResponse(): void { $this->assertTrue($this->getCommand()->parseResponse(1)); $this->assertFalse($this->getCommand()->parseResponse(0)); } /** * @group connected * @return void * @requiresRedisVersion >= 8.0.0 */ public function testSetAttributesToGivenElement(): void { $redis = $this->getClient(); $this->assertTrue( $redis->vadd('key', VectorUtility::toBlob([0.1, 0.2, 0.3, 0.4]), 'elem1', 10) ); $this->assertTrue($redis->vsetattr('key', 'elem1', '{"key1":"value1"}')); $this->assertEquals(['key1' => 'value1'], $redis->vgetattr('key', 'elem1')); $this->assertTrue($redis->vsetattr('key', 'elem1', ['key2' => 'value2'])); $this->assertEquals(['key2' => 'value2'], $redis->vgetattr('key', 'elem1')); } /** * @group connected * @return void * @requiresRedisVersion >= 8.0.0 */ public function testSetAttributesToGivenElementResp3(): void { $redis = $this->getResp3Client(); $this->assertTrue( $redis->vadd('key', VectorUtility::toBlob([0.1, 0.2, 0.3, 0.4]), 'elem1', 10) ); $this->assertTrue($redis->vsetattr('key', 'elem1', '{"key1":"value1"}')); $this->assertEquals(['key1' => 'value1'], $redis->vgetattr('key', 'elem1')); $this->assertTrue($redis->vsetattr('key', 'elem1', ['key2' => 'value2'])); $this->assertEquals(['key2' => 'value2'], $redis->vgetattr('key', 'elem1')); } }