class KafkaSession::MockProducer

Public Class Methods

new() click to toggle source
# File lib/kafka_session/mock_producer.rb, line 5
def initialize
  @messages_by_topic = Hash.new { |messages, topic| messages[topic] = [] }
end

Public Instance Methods

messages_for_topic(topic) click to toggle source
# File lib/kafka_session/mock_producer.rb, line 21
def messages_for_topic(topic)
  @messages_by_topic[topic].map do |message|
    DeliveredMessage.new(message)
  end
end
publish(topic:, messages:) click to toggle source
# File lib/kafka_session/mock_producer.rb, line 9
def publish(topic:, messages:)
  messages.each do |message|
    @messages_by_topic[topic] << OpenStruct.new(
      value:     message,
      topic:     topic,
      partition: 1,
      offset:    100,
      key:       nil
    )
  end
end