package org.apache.kafka.streams;
public class TopologyTestDriver {
public TopologyTestDriver(Topology topology, Properties config); // initialized WallClockMockTimeMs with System.currentTimeMillis()
public TopologyTestDriver(Topology topology, Properties config, long initialWallClockTimeMs); ...
//Deprecate old pipe and read methods
@Deprecate public void pipeInput(ConsumerRecord<byte[], byte[]> record); // can trigger event-time punctuation
@Deprecate public void pipeInput(List<ConsumerRecord<byte[], byte[]>> records); // can trigger event-time punctuation
@Deprecate public ProducerRecord<byte[], byte[]> readOutput(String topic);
@Deprecate public <K, V> ProducerRecord<K, V> readOutput(String topic, Deserializer<K> keyDeserializer, Deserializer<V> valueDeserializer);
// event-time is automatically advanced based on the provided input records, and thus event-time punctuation are triggered automatically
// wall-clock time is mocked and not advanced automatically; user can advance wall-clock time manually, and thus, trigger wall-clock time punctuations manually
public void advanceWallClockTime(long advanceMs); // can trigger wall-clock-time punctuation
// methods for TestTopic object creation
public final <K, V> TestInputTopic<KTestOutputTopic<K, V> createInputTopiccreateOutputTopic(final String topicName, final Serde<K> keySerde, final Serde<V> valueSerde);
// Uses current system time as start timestamp. Auto-advance is disabled.
public final <K, V> TestOutputTopic<KTestInputTopic<K, V> createOutputTopiccreateInputTopic(final String topicName, final Serde<K> keySerde, final Serde<V> valueSerde);
public Map<String, StateStore> getAllStateStores()
public StateStore getStateStore(String name); //Uses provided startTimestamp and autoAdvance duration for timestamp generation
public final <K, V> KeyValueStore<KTestInputTopic<K, V> getKeyValueStorecreateInputTopic(final String name);
public <K, V> WindowStore<K, V> getWindowStore(String name);
public <K, V> SessionStore<K, V> getSessionStore(String name);
public void close();topicName, final Serde<K> keySerde, final Serde<V> valueSerde, final Instant startTimestamp, final Duration autoAdvance);
...
}
|