Skip to content

Commit 627237e

Browse files
authored
Merge pull request #9 from logicmonitor/DEV-118709-implement-failing-test-cases-for-lm-logs-logstash-plugin
Dev 118709 implement failing test cases for lm logs logstash plugin
2 parents 73ec683 + 7c0d4cd commit 627237e

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

Dockerfile

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
1-
FROM jruby:latest
1+
#FROM jruby:9.3.9.0-jdk11
2+
FROM logstash:8.5.1 AS builder
3+
4+
FROM jruby:9.3.9.0-jdk11
5+
COPY --from=builder /usr/share/logstash /logstash
26
RUN mkdir /logicmonitor
37
COPY . /logicmonitor
48
WORKDIR /logicmonitor
59
#skipping tests due to logstash bug causing failure
6-
# todo add logstash bug workaround for failing tests
7-
#RUN bundle install
8-
#RUN bundle exec rake vendor
9-
#RUN bundle exec rspec spec
10+
# todo add logstash bug workaround for failing tests
11+
ENV LOGSTASH_SOURCE='1'
12+
ENV LOGSTASH_PATH='/logstash'
13+
RUN bundle install
14+
RUN bundle exec rake vendor
15+
RUN bundle exec rspec spec
1016
RUN gem build logstash-output-lmlogs.gemspec
1117
RUN mv logstash-output-lmlogs-*.gem release.gem

lib/logstash/outputs/lmlogs.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,9 @@ def multi_receive(events)
266266
if @include_metadata
267267
lmlogs_event = event_json
268268
lmlogs_event.delete("@timestamp") # remove redundant timestamp field
269-
lmlogs_event["event"].delete("original") # remove redundant log field
269+
if lmlogs_event.dig("event", "original") != nil
270+
lmlogs_event["event"].delete("original") # remove redundant log field
271+
end
270272
end
271273

272274
lmlogs_event["message"] = event.get(@message_key).to_s

spec/outputs/lmlogs_spec.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
require "logstash/event"
55

66
describe LogStash::Outputs::LMLogs do
7-
let(:sample_event) { LogStash::Event.new("message" => "hello this is log") }
7+
let(:sample_event) { LogStash::Event.new("message" => "hello this is log","event" => {"sequence" => 0,"original" => "simple logstash msg from me running with proxy settings"})}
88
let(:client) { @lmlogs.client }
99
let(:sample_lm_logs_event){{"message" => "hello this is log 1", "_lm.resourceId" => {"test.property" => "host1"}, "timestamp" => "2021-03-22T04:28:55.907121106Z"}}
1010

@@ -35,9 +35,9 @@
3535
event2 = LogStash::Event.new("message" => "hello this is log 2", "host" => "host2")
3636
event3 = LogStash::Event.new("message" => "hello this is log 3", "host" => "host3")
3737
expect(client).to receive(:post).once.with("https://localhost.logicmonitor.com/rest/log/ingest",hash_including(:body => LogStash::Json.dump(
38-
[{"message" => "hello this is log 1", "_lm.resourceId" => {"test.property" => "host1"}, "timestamp" => event1.timestamp.to_s},
39-
{"message" => "hello this is log 2", "_lm.resourceId" => {"test.property" => "host2"}, "timestamp" => event2.timestamp.to_s},
40-
{"message" => "hello this is log 3", "_lm.resourceId" => {"test.property" => "host3"}, "timestamp" => event3.timestamp.to_s}
38+
[{ "host" => "host1", "message" => "hello this is log 1","@version":"1", "_lm.resourceId" => {"test.property" => "host1"}, "timestamp" => event1.timestamp.to_s,},
39+
{"host" => "host2","message" => "hello this is log 2","@version":"1", "_lm.resourceId" => {"test.property" => "host2"}, "timestamp" => event2.timestamp.to_s},
40+
{"host" => "host3","message" => "hello this is log 3","@version":"1", "_lm.resourceId" => {"test.property" => "host3"}, "timestamp" => event3.timestamp.to_s}
4141
]
4242
))).and_call_original
4343
@lmlogs.multi_receive([event1, event2, event3])
@@ -66,7 +66,7 @@
6666
document = [sample_lm_logs_event]
6767

6868
lm_logs_event = {"message" => "hello this is log 2", "_lm.resourceId" => {"test.property" => "host3"}, "timestamp" => "2021-03-22T04:28:55.909421106Z"}
69-
69+
7070
document_expected = [sample_lm_logs_event,lm_logs_event]
7171
expect(client).to receive(:post).exactly(0).times.and_call_original
7272

0 commit comments

Comments
 (0)