public async Task Publish_CallsInnerPublisher(string topic, byte[] message) { var options = new KafkaOptions(); var producer = Substitute.For <IKafkaProducer>(); var sut = new KafkaRawMessagePublisher(() => producer, options); await sut.Publish(topic, message, None); await producer.Received(1).ProduceAsync(topic, null, message); }
public void Dispose_CallsFlushWithTimeout() { var options = new KafkaOptions { Publisher = { FlushTimeout = TimeSpan.MaxValue } }; var producer = Substitute.For <IKafkaProducer>(); var sut = new KafkaRawMessagePublisher(() => producer, options); sut.Dispose(); producer.Received(1).Dispose(); producer.Received(1).Flush(TimeSpan.MaxValue); }