getCommand(); $command->setArguments($actualArguments); $this->assertSameValues($expectedArguments, $command->getArguments()); } /** * @group disconnected */ public function testParseResponse(): void { $this->assertSame(1, $this->getCommand()->parseResponse(1)); } /** * @group connected * @return void * @requiresRedisTimeSeriesVersion >= 1.0.0 */ public function testAddSampleIntoTimeSeriesWithGivenConfiguration(): void { $redis = $this->getClient(); $createArguments = (new CreateArguments()) ->retentionMsecs(60000) ->duplicatePolicy(CommonArguments::POLICY_MAX) ->labels('sensor_id', 2, 'area_id', 32); $this->assertEquals( 'OK', $redis->tscreate('temperature:2:32', $createArguments) ); $addArguments = (new AddArguments()) ->retentionMsecs(31536000000); $this->assertEquals( 123123123123, $redis->tsadd('temperature:2:32', 123123123123, 27, $addArguments) ); } public function argumentsProvider(): array { return [ 'with default arguments' => [ ['key', 123123121321, 1.0], ['key', 123123121321, 1.0], ], 'with RETENTION modifier' => [ ['key', 123123121321, 1.0, (new AddArguments())->retentionMsecs(100)], ['key', 123123121321, 1.0, 'RETENTION', 100], ], 'with ENCODING modifier' => [ ['key', 123123121321, 1.0, (new AddArguments())->encoding(CommonArguments::ENCODING_UNCOMPRESSED)], ['key', 123123121321, 1.0, 'ENCODING', CommonArguments::ENCODING_UNCOMPRESSED], ], 'with CHUNK_SIZE modifier' => [ ['key', 123123121321, 1.0, (new AddArguments())->chunkSize(100)], ['key', 123123121321, 1.0, 'CHUNK_SIZE', 100], ], 'with ON_DUPLICATE modifier' => [ ['key', 123123121321, 1.0, (new AddArguments())->onDuplicate(CommonArguments::POLICY_FIRST)], ['key', 123123121321, 1.0, 'ON_DUPLICATE', CommonArguments::POLICY_FIRST], ], 'with all modifiers' => [ ['key', 123123121321, 1.0, (new AddArguments())->retentionMsecs(100)->encoding(CommonArguments::ENCODING_UNCOMPRESSED)->chunkSize(100)->onDuplicate(CommonArguments::POLICY_FIRST)], ['key', 123123121321, 1.0, 'RETENTION', 100, 'ENCODING', CommonArguments::ENCODING_UNCOMPRESSED, 'CHUNK_SIZE', 100, 'ON_DUPLICATE', CommonArguments::POLICY_FIRST], ], ]; } }