diff --git a/logstash-core/lib/logstash/api/rack_app.rb b/logstash-core/lib/logstash/api/rack_app.rb index 6c551b327..6a5507d0a 100644 --- a/logstash-core/lib/logstash/api/rack_app.rb +++ b/logstash-core/lib/logstash/api/rack_app.rb @@ -104,7 +104,7 @@ module LogStash "/_node" => LogStash::Api::Modules::Node, "/_stats" => LogStash::Api::Modules::Stats, "/_node/stats" => LogStash::Api::Modules::NodeStats, - "/_plugins" => LogStash::Api::Modules::Plugins + "/_node/plugins" => LogStash::Api::Modules::Plugins } end end diff --git a/logstash-core/spec/api/lib/api/node_plugins_spec.rb b/logstash-core/spec/api/lib/api/node_plugins_spec.rb new file mode 100644 index 000000000..d78340eff --- /dev/null +++ b/logstash-core/spec/api/lib/api/node_plugins_spec.rb @@ -0,0 +1,32 @@ +# encoding: utf-8 +require_relative "../../spec_helper" +require "sinatra" +require "logstash/api/modules/plugins" +require "logstash/json" + +describe LogStash::Api::Modules::Plugins do + include_context "api setup" + + extend ResourceDSLMethods + + before(:all) do + do_request { get "/" } + end + + let(:payload) { LogStash::Json.load(last_response.body) } + + describe "retrieving plugins" do + it "should return OK" do + expect(last_response).to be_ok + end + + it "should return a list of plugins" do + expect(payload["plugins"]).to be_a(Array) + end + + it "should return the total number of plugins" do + expect(payload["total"]).to be_a(Numeric) + end + + end +end