Class MockConsumer<K,V>
java.lang.Object
org.apache.kafka.clients.consumer.MockConsumer<K,V>
- All Implemented Interfaces:
Closeable,AutoCloseable,Consumer<K,V>
A mock of the
Consumer interface you can use for testing code that uses Kafka. This class is not
threadsafe . However, you can use the schedulePollTask(Runnable) method to write multithreaded tests
where a driver thread waits for poll(Duration) to be called by a background thread and then can safely perform
operations during a callback.-
Constructor Summary
ConstructorsConstructorDescriptionMockConsumer(String offsetResetStrategy) A mock consumer is instantiated by providing ConsumerConfig.AUTO_OFFSET_RESET_CONFIG value as the input.MockConsumer(OffsetResetStrategy offsetResetStrategy) Deprecated.Since 4.0. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRecord(ConsumerRecord<K, V> record) voidassign(Collection<TopicPartition> partitions) beginningOffsets(Collection<TopicPartition> partitions) beginningOffsets(Collection<TopicPartition> partitions, Duration timeout) clientInstanceId(Duration timeout) voidclose()voidbooleanclosed()voidvoidcommitAsync(Map<TopicPartition, OffsetAndMetadata> offsets, OffsetCommitCallback callback) voidcommitAsync(OffsetCommitCallback callback) voidvoidcommitSync(Duration timeout) voidcommitSync(Map<TopicPartition, OffsetAndMetadata> offsets) voidcommitSync(Map<TopicPartition, OffsetAndMetadata> offsets, Duration timeout) committed(Set<TopicPartition> partitions) committed(Set<TopicPartition> partitions, Duration timeout) currentLag(TopicPartition topicPartition) voidendOffsets(Collection<TopicPartition> partitions) endOffsets(Collection<TopicPartition> partitions, Duration timeout) voidvoidenforceRebalance(String reason) voidinjectTimeoutException(int injectTimeoutExceptionCounter) listTopics(Duration timeout) Map<MetricName, ? extends Metric> metrics()offsetsForTimes(Map<TopicPartition, Long> timestampsToSearch) offsetsForTimes(Map<TopicPartition, Long> timestampsToSearch, Duration timeout) partitionsFor(String topic) partitionsFor(String topic, Duration timeout) voidpause(Collection<TopicPartition> partitions) paused()longposition(TopicPartition partition) longposition(TopicPartition partition, Duration timeout) voidrebalance(Collection<TopicPartition> newAssignment) Simulate a rebalance event.voidvoidvoidresume(Collection<TopicPartition> partitions) voidvoidschedulePollTask(Runnable task) Schedule a task to be executed during a poll().voidseek(TopicPartition partition, long offset) voidseek(TopicPartition partition, OffsetAndMetadata offsetAndMetadata) voidseekToBeginning(Collection<TopicPartition> partitions) voidseekToEnd(Collection<TopicPartition> partitions) voidsetClientInstanceId(Uuid instanceId) voidsetMaxPollRecords(long maxPollRecords) Sets the maximum number of records returned in a single call topoll(Duration).voidsetOffsetsException(KafkaException exception) voidsetPollException(KafkaException exception) booleanvoidsubscribe(Collection<String> topics) voidsubscribe(Collection<String> topics, ConsumerRebalanceListener listener) voidvoidsubscribe(Pattern pattern, ConsumerRebalanceListener listener) voidsubscribe(SubscriptionPattern pattern) voidsubscribe(SubscriptionPattern pattern, ConsumerRebalanceListener listener) voidvoidvoidupdateBeginningOffsets(Map<TopicPartition, Long> newOffsets) voidupdateDurationOffsets(Map<TopicPartition, Long> newOffsets) voidupdateEndOffsets(Map<TopicPartition, Long> newOffsets) voidupdatePartitions(String topic, List<PartitionInfo> partitions) voidwakeup()
-
Constructor Details
-
MockConsumer
Deprecated.Since 4.0. UseMockConsumer(String)instead. -
MockConsumer
A mock consumer is instantiated by providing ConsumerConfig.AUTO_OFFSET_RESET_CONFIG value as the input.- Parameters:
offsetResetStrategy- the offset reset strategy to use
-
-
Method Details
-
assignment
- Specified by:
assignmentin interfaceConsumer<K,V> - See Also:
-
rebalance
Simulate a rebalance event. -
subscription
- Specified by:
subscriptionin interfaceConsumer<K,V> - See Also:
-
subscribe
-
subscribe
-
subscribe
-
subscribe
-
subscribe
-
subscribe
-
registerMetricForSubscription
- Specified by:
registerMetricForSubscriptionin interfaceConsumer<K,V> - See Also:
-
unregisterMetricFromSubscription
- Specified by:
unregisterMetricFromSubscriptionin interfaceConsumer<K,V> - See Also:
-
assign
-
unsubscribe
public void unsubscribe()- Specified by:
unsubscribein interfaceConsumer<K,V> - See Also:
-
poll
-
addRecord
-
setMaxPollRecords
public void setMaxPollRecords(long maxPollRecords) Sets the maximum number of records returned in a single call topoll(Duration).- Parameters:
maxPollRecords- the max.poll.records.
-
setPollException
-
setOffsetsException
-
commitAsync
public void commitAsync(Map<TopicPartition, OffsetAndMetadata> offsets, OffsetCommitCallback callback) - Specified by:
commitAsyncin interfaceConsumer<K,V> - See Also:
-
commitSync
- Specified by:
commitSyncin interfaceConsumer<K,V> - See Also:
-
commitAsync
public void commitAsync()- Specified by:
commitAsyncin interfaceConsumer<K,V> - See Also:
-
commitAsync
- Specified by:
commitAsyncin interfaceConsumer<K,V> - See Also:
-
commitSync
public void commitSync()- Specified by:
commitSyncin interfaceConsumer<K,V> - See Also:
-
commitSync
- Specified by:
commitSyncin interfaceConsumer<K,V> - See Also:
-
commitSync
- Specified by:
commitSyncin interfaceConsumer<K,V> - See Also:
-
seek
-
seek
-
committed
-
committed
public Map<TopicPartition,OffsetAndMetadata> committed(Set<TopicPartition> partitions, Duration timeout) -
position
-
position
-
seekToBeginning
- Specified by:
seekToBeginningin interfaceConsumer<K,V> - See Also:
-
updateBeginningOffsets
-
seekToEnd
-
updateEndOffsets
-
updateDurationOffsets
-
disableTelemetry
public void disableTelemetry() -
injectTimeoutException
public void injectTimeoutException(int injectTimeoutExceptionCounter) - Parameters:
injectTimeoutExceptionCounter- use -1 for infinite
-
setClientInstanceId
-
clientInstanceId
Description copied from interface:Consumer- Specified by:
clientInstanceIdin interfaceConsumer<K,V>
-
metrics
-
partitionsFor
- Specified by:
partitionsForin interfaceConsumer<K,V> - See Also:
-
listTopics
- Specified by:
listTopicsin interfaceConsumer<K,V> - See Also:
-
updatePartitions
-
pause
-
resume
-
offsetsForTimes
public Map<TopicPartition,OffsetAndTimestamp> offsetsForTimes(Map<TopicPartition, Long> timestampsToSearch) - Specified by:
offsetsForTimesin interfaceConsumer<K,V> - See Also:
-
beginningOffsets
- Specified by:
beginningOffsetsin interfaceConsumer<K,V> - See Also:
-
endOffsets
- Specified by:
endOffsetsin interfaceConsumer<K,V> - See Also:
-
close
public void close() -
close
-
closed
public boolean closed() -
wakeup
public void wakeup() -
schedulePollTask
Schedule a task to be executed during a poll(). One enqueued task will be executed perpoll(Duration)invocation. You can use this repeatedly to mock out multiple responses to poll invocations.- Parameters:
task- the task to be executed
-
scheduleNopPollTask
public void scheduleNopPollTask() -
paused
-
partitionsFor
- Specified by:
partitionsForin interfaceConsumer<K,V> - See Also:
-
listTopics
- Specified by:
listTopicsin interfaceConsumer<K,V> - See Also:
-
offsetsForTimes
public Map<TopicPartition,OffsetAndTimestamp> offsetsForTimes(Map<TopicPartition, Long> timestampsToSearch, Duration timeout) - Specified by:
offsetsForTimesin interfaceConsumer<K,V> - See Also:
-
beginningOffsets
public Map<TopicPartition,Long> beginningOffsets(Collection<TopicPartition> partitions, Duration timeout) - Specified by:
beginningOffsetsin interfaceConsumer<K,V> - See Also:
-
endOffsets
- Specified by:
endOffsetsin interfaceConsumer<K,V> - See Also:
-
currentLag
- Specified by:
currentLagin interfaceConsumer<K,V> - See Also:
-
groupMetadata
- Specified by:
groupMetadatain interfaceConsumer<K,V> - See Also:
-
enforceRebalance
public void enforceRebalance()- Specified by:
enforceRebalancein interfaceConsumer<K,V> - See Also:
-
enforceRebalance
- Specified by:
enforceRebalancein interfaceConsumer<K,V> - See Also:
-
shouldRebalance
public boolean shouldRebalance() -
resetShouldRebalance
public void resetShouldRebalance() -
lastPollTimeout
-
addedMetrics
-