Skip to content

Commit 90fb527

Browse files
authored
Merge pull request #803 from nemupm/error_with_nil_or_empty_topic
Fix confusing error message with nil or empty string topic
2 parents 97043f0 + bb4774f commit 90fb527

File tree

2 files changed

+28
-10
lines changed

2 files changed

+28
-10
lines changed

lib/kafka/cluster.rb

+4
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ def add_target_topics(topics)
4545
new_topics = topics - @target_topics
4646

4747
unless new_topics.empty?
48+
if new_topics.any? { |topic| topic.nil? or topic.empty? }
49+
raise ArgumentError, "Topic must not be nil or empty"
50+
end
51+
4852
@logger.info "New topics added to target list: #{new_topics.to_a.join(', ')}"
4953

5054
@target_topics.merge(new_topics)

spec/cluster_spec.rb

+24-10
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# frozen_string_literal: true
22

33
describe Kafka::Cluster do
4-
describe "#get_leader" do
5-
let(:broker) { double(:broker) }
6-
let(:broker_pool) { double(:broker_pool) }
4+
let(:broker) { double(:broker) }
5+
let(:broker_pool) { double(:broker_pool) }
76

8-
let(:cluster) {
9-
Kafka::Cluster.new(
10-
seed_brokers: [URI("kafka://test1:9092")],
11-
broker_pool: broker_pool,
12-
logger: LOGGER,
13-
)
14-
}
7+
let(:cluster) {
8+
Kafka::Cluster.new(
9+
seed_brokers: [URI("kafka://test1:9092")],
10+
broker_pool: broker_pool,
11+
logger: LOGGER,
12+
)
13+
}
1514

15+
describe "#get_leader" do
1616
before do
1717
allow(broker_pool).to receive(:connect) { broker }
1818
allow(broker).to receive(:disconnect)
@@ -89,4 +89,18 @@
8989
}.to raise_exception(Kafka::ConnectionError)
9090
end
9191
end
92+
93+
describe "#add_target_topics" do
94+
it "raises ArgumentError if the topic is nil" do
95+
expect {
96+
cluster.add_target_topics([nil])
97+
}.to raise_exception(ArgumentError)
98+
end
99+
100+
it "raises ArgumentError if the topic is empty" do
101+
expect {
102+
cluster.add_target_topics([""])
103+
}.to raise_exception(ArgumentError)
104+
end
105+
end
92106
end

0 commit comments

Comments
 (0)