diff --git a/logstash-core/spec/logstash/plugin_spec.rb b/logstash-core/spec/logstash/plugin_spec.rb index 0e6444f5f..fcaf0e6fa 100644 --- a/logstash-core/spec/logstash/plugin_spec.rb +++ b/logstash-core/spec/logstash/plugin_spec.rb @@ -7,6 +7,41 @@ require "logstash/inputs/base" require "logstash/filters/base" describe LogStash::Plugin do + context "reloadable" do + context "by default" do + subject do + Class.new(LogStash::Plugin) do + end + end + + it "makes .reloadable? return true" do + expect(subject.reloadable?).to be_truthy + end + + it "makes #reloadable? return true" do + expect(subject.new({}).reloadable?).to be_truthy + end + end + + context "user can overrides" do + subject do + Class.new(LogStash::Plugin) do + def self.reloadable? + false + end + end + end + + it "makes .reloadable? return true" do + expect(subject.reloadable?).to be_falsey + end + + it "makes #reloadable? return true" do + expect(subject.new({}).reloadable?).to be_falsey + end + end + end + it "should fail lookup on inexisting type" do #expect_any_instance_of(Cabin::Channel).to receive(:debug).once expect { LogStash::Plugin.lookup("badbadtype", "badname") }.to raise_error(LogStash::PluginLoadingError)