From f1a3fda4d1affaa6da4b037eec78ee5f10287eb8 Mon Sep 17 00:00:00 2001 From: Colin Surprenant Date: Thu, 28 Apr 2016 16:40:28 -0400 Subject: [PATCH] plugin-api 2.0 migration --- .travis.yml | 8 ++++++-- Gemfile | 7 +++++++ logstash-codec-json_lines.gemspec | 2 +- spec/codecs/json_lines_spec.rb | 34 +++++++++++++++---------------- 4 files changed, 31 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 350c4eb..05aac6b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,11 @@ sudo: false +jdk: + - oraclejdk8 language: ruby cache: bundler rvm: - - jruby-1.7.23 -script: + - jruby-1.7.25 +before_install: + - git clone -b feature/event_interface https://github.com/elastic/logstash +script: - bundle exec rspec spec diff --git a/Gemfile b/Gemfile index 851fabc..7734e3d 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,9 @@ source 'https://rubygems.org' gemspec + +# this is temporary for the feature/plugin-api-2_0 branch and is meant for travis testing +gem "logstash-core", :path => "./logstash/logstash-core" +gem "logstash-core-plugin-api", :path => "./logstash/logstash-core-plugin-api" +gem "logstash-core-event-java", :path => "./logstash/logstash-core-event-java" +gem "logstash-devutils", :github => "elastic/logstash-devutils", :branch => "feature/plugin-api-2_0" +gem "logstash-codec-line", :github => "logstash-plugins/logstash-codec-line", :branch => "feature/plugin-api-2_0" diff --git a/logstash-codec-json_lines.gemspec b/logstash-codec-json_lines.gemspec index 9d2229f..528462f 100644 --- a/logstash-codec-json_lines.gemspec +++ b/logstash-codec-json_lines.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| s.metadata = { "logstash_plugin" => "true", "logstash_group" => "codec" } # Gem dependencies - s.add_runtime_dependency "logstash-core-plugin-api", "~> 1.0" + s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0" s.add_runtime_dependency 'logstash-codec-line', '>= 2.1.0' diff --git a/spec/codecs/json_lines_spec.rb b/spec/codecs/json_lines_spec.rb index 839314c..ecb018b 100644 --- a/spec/codecs/json_lines_spec.rb +++ b/spec/codecs/json_lines_spec.rb @@ -16,9 +16,9 @@ data = {"foo" => "bar", "baz" => {"bah" => ["a","b","c"]}} subject.decode(LogStash::Json.dump(data) + "\n") do |event| insist { event.is_a? LogStash::Event } - insist { event["foo"] } == data["foo"] - insist { event["baz"] } == data["baz"] - insist { event["bah"] } == data["bah"] + insist { event.get("foo") } == data["foo"] + insist { event.get("baz") } == data["baz"] + insist { event.get("bah") } == data["bah"] end end @@ -29,9 +29,9 @@ end subject.decode("\n") do |event| insist { event.is_a? LogStash::Event } - insist { event["foo"] } == data["foo"] - insist { event["baz"] } == data["baz"] - insist { event["bah"] } == data["bah"] + insist { event.get("foo") } == data["foo"] + insist { event.get("baz") } == data["baz"] + insist { event.get("bah") } == data["bah"] end end @@ -44,9 +44,9 @@ result = [] subject.decode(line) { |event| result << event } expect(result.size).to eq(3) - expect(result[0]["hey"]).to eq(1) - expect(result[1]["hey"]).to eq(2) - expect(result[2]["hey"]).to eq(3) + expect(result[0].get("hey")).to eq(1) + expect(result[1].get("hey")).to eq(2) + expect(result[2].get("hey")).to eq(3) end end @@ -56,8 +56,8 @@ subject.decode("something that isn't json\n") do |event| decoded = true insist { event.is_a?(LogStash::Event) } - insist { event["message"] } == "something that isn't json" - insist { event["tags"] }.include?("_jsonparsefailure") + insist { event.get("message") } == "something that isn't json" + insist { event.get("tags") }.include?("_jsonparsefailure") end insist { decoded } == true end @@ -71,7 +71,7 @@ subject.decode("\n") do |event| decoded = true insist { event.is_a?(LogStash::Event) } - insist { event["message"].encoding.to_s } == "UTF-8" + insist { event.get("message").encoding.to_s } == "UTF-8" end insist { decoded } == true end @@ -88,13 +88,13 @@ it "uses an array to store the tags" do subject.decode(message) do |event| - expect(event['tags']).to be_a Array + expect(event.get('tags')).to be_a Array end end it "add a json parser failure tag" do subject.decode(message) do |event| - expect(event['tags']).to include "_jsonparsefailure" + expect(event.get('tags')).to include "_jsonparsefailure" end end end @@ -162,7 +162,7 @@ collector.push(event) end expect(collector.size).to eq(1) - expect(collector.first['field']).to eq('value1') + expect(collector.first.get('field')).to eq('value1') end end @@ -180,8 +180,8 @@ collector.push(event) end expect(collector.size).to eq(2) - expect(collector.first['field']).to eq('value1') - expect(collector.last['field']).to eq('value2') + expect(collector.first.get('field')).to eq('value1') + expect(collector.last.get('field')).to eq('value2') end end