Class: KafkaSession::MockProducer

Inherits:
Object
  • Object
show all
Defined in:
lib/kafka_session/mock_producer.rb

Instance Method Summary collapse

Constructor Details

#initializeMockProducer

Returns a new instance of MockProducer.



5
6
7
# File 'lib/kafka_session/mock_producer.rb', line 5

def initialize
  @messages_by_topic = Hash.new { |messages, topic| messages[topic] = [] }
end

Instance Method Details

#messages_for_topic(topic) ⇒ Object



21
22
23
24
25
# 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:) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# 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