ClusterHyperLogLogCommandsTest.java

package redis.clients.jedis.commands.unified.cluster;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedClass;
import org.junit.jupiter.params.provider.MethodSource;
import redis.clients.jedis.RedisProtocol;
import redis.clients.jedis.commands.unified.HyperLogLogCommandsTestBase;

import static org.junit.jupiter.api.Assertions.assertEquals;

@ParameterizedClass
@MethodSource("redis.clients.jedis.commands.CommandsTestsParameters#respVersions")
public class ClusterHyperLogLogCommandsTest extends HyperLogLogCommandsTestBase {

  public ClusterHyperLogLogCommandsTest(RedisProtocol protocol) {
    super(protocol);
  }

  @BeforeEach
  public void setUp() {
    jedis = ClusterCommandsTestHelper.getCleanCluster(protocol);
  }

  @AfterEach
  public void tearDown() {
    jedis.close();
    ClusterCommandsTestHelper.clearClusterData();
  }

  @Test
  @Override
  public void pfcounts() {
    long status = jedis.pfadd("{hll}_1", "foo", "bar", "zap");
    assertEquals(1, status);
    status = jedis.pfadd("{hll}_2", "foo", "bar", "zap");
    assertEquals(1, status);

    status = jedis.pfadd("{hll}_3", "foo", "bar", "baz");
    assertEquals(1, status);
    status = jedis.pfcount("{hll}_1");
    assertEquals(3, status);
    status = jedis.pfcount("{hll}_2");
    assertEquals(3, status);
    status = jedis.pfcount("{hll}_3");
    assertEquals(3, status);

    status = jedis.pfcount("{hll}_1", "{hll}_2");
    assertEquals(3, status);

    status = jedis.pfcount("{hll}_1", "{hll}_2", "{hll}_3");
    assertEquals(4, status);
  }

  @Test
  @Override
  public void pfmerge() {
    long status = jedis.pfadd("{hll}1", "foo", "bar", "zap", "a");
    assertEquals(1, status);

    status = jedis.pfadd("{hll}2", "a", "b", "c", "foo");
    assertEquals(1, status);

    String mergeStatus = jedis.pfmerge("{hll}3", "{hll}1", "{hll}2");
    assertEquals("OK", mergeStatus);

    status = jedis.pfcount("{hll}3");
    assertEquals(6, status);
  }

  @Disabled
  @Override
  public void pfmergeBinary() {
  }
}