getCommand(); $command->setArguments($actualArguments); $this->assertSameValues($expectedArguments, $command->getArguments()); } /** * @group disconnected */ public function testParseResponse(): void { $this->assertSame(1, $this->getCommand()->parseResponse(1)); } /** * @group connected * @group relay-resp3 * @return void * @requiresRedisTimeSeriesVersion <= 1.10.13 * @requiresRedisVersion > 6.3.0 */ public function testReturnsInformationAboutGivenTimeSeries(): void { $redis = $this->getClient(); $expectedResponse = ['totalSamples', 0, 'memoryUsage', 5000, 'firstTimestamp', 0, 'lastTimestamp', 0, 'retentionTime', 60000, 'chunkCount', 1, 'chunkSize', 4096, 'chunkType', 'compressed', 'duplicatePolicy', 'max', 'labels', [['sensor_id', '2'], ['area_id', '32']], 'sourceKey', null, 'rules', [], 'ignoreMaxTimeDiff', 0, 'ignoreMaxValDiff', 0]; $arguments = (new CreateArguments()) ->retentionMsecs(60000) ->duplicatePolicy(CommonArguments::POLICY_MAX) ->labels('sensor_id', 2, 'area_id', 32); $this->assertEquals( 'OK', $redis->tscreate('temperature:2:32', $arguments) ); $this->assertEqualsWithDelta($expectedResponse, $redis->tsinfo('temperature:2:32'), 1000); } public function argumentsProvider(): array { return [ 'with default arguments' => [ ['key'], ['key'], ], 'with DEBUG modifier' => [ ['key', (new InfoArguments())->debug()], ['key', 'DEBUG'], ], ]; } }