Search in sources :

Example 1 with ReplicaInfo

use of org.apache.kafka.common.requests.DescribeLogDirsResponse.ReplicaInfo in project kafka-rest by confluentinc.

the class ReplicaManagerImplTest method searchByBrokerId_existingBroker_returnsReplicas.

@Test
public void searchByBrokerId_existingBroker_returnsReplicas() throws Exception {
    HashMap<TopicPartition, ReplicaInfo> partitions = new HashMap<>();
    partitions.put(new TopicPartition(TOPIC_NAME, PARTITION_ID_1), null);
    partitions.put(new TopicPartition(TOPIC_NAME, PARTITION_ID_2), null);
    expect(brokerManager.getBroker(CLUSTER_ID, BROKER_ID_1)).andReturn(completedFuture(Optional.of(BROKER_1)));
    expect(adminClient.describeLogDirs(eq(singletonList(BROKER_ID_1)), anyObject())).andReturn(describeLogDirsResult);
    expect(describeLogDirsResult.values()).andReturn(singletonMap(BROKER_ID_1, KafkaFuture.completedFuture(singletonMap(TOPIC_NAME, new LogDirInfo(null, partitions)))));
    expect(partitionManager.getPartition(CLUSTER_ID, TOPIC_NAME, PARTITION_ID_1)).andReturn(completedFuture(Optional.of(PARTITION_1)));
    expect(partitionManager.getPartition(CLUSTER_ID, TOPIC_NAME, PARTITION_ID_2)).andReturn(completedFuture(Optional.of(PARTITION_2)));
    replay(adminClient, describeLogDirsResult, brokerManager, partitionManager);
    List<PartitionReplica> replicas = replicaManager.searchReplicasByBrokerId(CLUSTER_ID, BROKER_ID_1).get();
    assertEquals(new HashSet<>(Arrays.asList(REPLICA_1_1, REPLICA_2_1)), new HashSet<>(replicas));
}
Also used : ReplicaInfo(org.apache.kafka.common.requests.DescribeLogDirsResponse.ReplicaInfo) HashMap(java.util.HashMap) PartitionReplica(io.confluent.kafkarest.entities.PartitionReplica) TopicPartition(org.apache.kafka.common.TopicPartition) LogDirInfo(org.apache.kafka.common.requests.DescribeLogDirsResponse.LogDirInfo) Test(org.junit.jupiter.api.Test)

Aggregations

PartitionReplica (io.confluent.kafkarest.entities.PartitionReplica)1 HashMap (java.util.HashMap)1 TopicPartition (org.apache.kafka.common.TopicPartition)1 LogDirInfo (org.apache.kafka.common.requests.DescribeLogDirsResponse.LogDirInfo)1 ReplicaInfo (org.apache.kafka.common.requests.DescribeLogDirsResponse.ReplicaInfo)1 Test (org.junit.jupiter.api.Test)1