THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
package org.apache.kafka.streams.test;
public class TestRecord<K, V> {
//Constructors
public TestRecord(final V value);
public TestRecord(final K key, final V value);
public TestRecord(final K key, final V value, final Headers headers);
public TestRecord(final K key, final V value, final Instant recordTime);
public TestRecord(final K key, final V value, final Headers headers, final Instant recordTime);
public TestRecord(final K key, final V value, final Long timestamp);
public TestRecord(final K key, final V value, final Headers headers, final Long timestamp);
//Constructor based on existing record
public TestRecord(final ConsumerRecord<K, V> record);
public TestRecord(final ProducerRecord<K, V> record);
// Methods like in ProducerRecord / ConsumerRecord
public Headers headers();
public K key();
public V value();
public Long timestamp();
// Getters
public Headers getHeaders();
public K getKey();
public V getValue();
public Instant getRecordTime();
//Overrides
public String toString();
public boolean equals(Object o);
public int hashCode();
} |
...
The tests utilizing old TopologyTestDriver can still use deprecated methods.
Migration plan ???
Rejected Alternatives
- This is replacing KIP-456: Helper classes to make it simpler to write test logic with TopologyTestDriver if accepted
- Deprecate current TestTopologyDriver and move new to test package. This would have enabled to keep also TestInputTopic and TestOutputTopic classes in test package, not in very crowded streams root package.
- Add ClientRecord interface to client package and modifiy ProducerRecord (and / or ConsumerRecord) to implement it, to be to utilize OutputVerifier with ProducerRecord and TestRecord
...