mirror of
https://github.com/elastic/logstash.git
synced 2025-04-25 07:07:54 -04:00
- remove event v0 tests (no longer needed)
- make event tests pass again.
This commit is contained in:
parent
76cce71fe9
commit
937cbf2dfc
2 changed files with 34 additions and 164 deletions
|
@ -3,26 +3,26 @@ require "insist"
|
||||||
|
|
||||||
describe LogStash::Event do
|
describe LogStash::Event do
|
||||||
subject do
|
subject do
|
||||||
event = LogStash::Event.new
|
LogStash::Event.new(
|
||||||
event.timestamp = Time.at(1356998400) #"2013-01-01T00:00:00.000Z"
|
"@timestamp" => Time.iso8601("2013-01-01T00:00:00.000Z"),
|
||||||
event.type = "sprintf"
|
"type" => "sprintf",
|
||||||
event.message = "hello world"
|
"message" => "hello world",
|
||||||
event.tags = [ "tag1" ]
|
"tags" => [ "tag1" ],
|
||||||
event.source = "/home/foo"
|
"source" => "/home/foo",
|
||||||
event.to_hash.merge!(
|
|
||||||
"a" => "b",
|
"a" => "b",
|
||||||
"c" => { "d" => "f", "e.f" => "g" },
|
"c" => {
|
||||||
"c.d" => "e",
|
"d" => "f",
|
||||||
"f.g" => { "h" => "i" },
|
"e" => {"f" => "g"}
|
||||||
|
},
|
||||||
|
"f" => { "g" => { "h" => "i" } },
|
||||||
"j" => {
|
"j" => {
|
||||||
"k1" => "v",
|
"k1" => "v",
|
||||||
"k2" => [ "w", "x" ],
|
"k2" => [ "w", "x" ],
|
||||||
"k3.4" => "m",
|
"k3" => {"4" => "m"},
|
||||||
5 => 6,
|
5 => 6,
|
||||||
"5" => 7
|
"5" => 7
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
next event
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context "#sprintf" do
|
context "#sprintf" do
|
||||||
|
@ -53,19 +53,24 @@ describe LogStash::Event do
|
||||||
end
|
end
|
||||||
it "should fetch fields" do
|
it "should fetch fields" do
|
||||||
insist { subject["a"] } == "b"
|
insist { subject["a"] } == "b"
|
||||||
insist { subject["c.d"] } == "e"
|
insist { subject['c']['d'] } == "f"
|
||||||
end
|
end
|
||||||
it "should fetch deep fields" do
|
it "should fetch deep fields" do
|
||||||
insist { subject["[j][k1]"] } == "v"
|
insist { subject["[j][k1]"] } == "v"
|
||||||
insist { subject["[c][d]"] } == "f"
|
insist { subject["[c][d]"] } == "f"
|
||||||
insist { subject["[f.g][h]"] } == "i"
|
insist { subject['[f][g][h]'] } == "i"
|
||||||
insist { subject["[j][k3.4]"] } == "m"
|
insist { subject['[j][k3][4]'] } == "m"
|
||||||
insist { subject["[j][5]"] } == 7
|
insist { subject['[j][5]'] } == 7
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "#append" do
|
context "#append" do
|
||||||
|
it "should append strings to an array" do
|
||||||
|
subject.append(LogStash::Event.new("message" => "another thing"))
|
||||||
|
insist { subject["message"] } == [ "hello world", "another thing" ]
|
||||||
|
end
|
||||||
|
|
||||||
it "should concatenate tags" do
|
it "should concatenate tags" do
|
||||||
subject.append(LogStash::Event.new("tags" => [ "tag2" ]))
|
subject.append(LogStash::Event.new("tags" => [ "tag2" ]))
|
||||||
insist { subject["tags"] } == [ "tag1", "tag2" ]
|
insist { subject["tags"] } == [ "tag1", "tag2" ]
|
||||||
|
@ -73,11 +78,11 @@ describe LogStash::Event do
|
||||||
|
|
||||||
context "when event field is nil" do
|
context "when event field is nil" do
|
||||||
it "should add single value as string" do
|
it "should add single value as string" do
|
||||||
subject.append(LogStash::Event.new("field1" => "append1"))
|
subject.append(LogStash::Event.new({"field1" => "append1"}))
|
||||||
insist { subject[ "field1" ] } == "append1"
|
insist { subject[ "field1" ] } == "append1"
|
||||||
end
|
end
|
||||||
it "should add multi values as array" do
|
it "should add multi values as array" do
|
||||||
subject.append(LogStash::Event.new("field1" => [ "append1","append2" ]))
|
subject.append(LogStash::Event.new({"field1" => [ "append1","append2" ]}))
|
||||||
insist { subject[ "field1" ] } == [ "append1","append2" ]
|
insist { subject[ "field1" ] } == [ "append1","append2" ]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -86,19 +91,19 @@ describe LogStash::Event do
|
||||||
before { subject[ "field1" ] = "original1" }
|
before { subject[ "field1" ] = "original1" }
|
||||||
|
|
||||||
it "should append string to values, if different from current" do
|
it "should append string to values, if different from current" do
|
||||||
subject.append(LogStash::Event.new("field1" => "append1"))
|
subject.append(LogStash::Event.new({"field1" => "append1"}))
|
||||||
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
||||||
end
|
end
|
||||||
it "should not change value, if appended value is equal current" do
|
it "should not change value, if appended value is equal current" do
|
||||||
subject.append(LogStash::Event.new("field1" => "original1"))
|
subject.append(LogStash::Event.new({"field1" => "original1"}))
|
||||||
insist { subject[ "field1" ] } == "original1"
|
insist { subject[ "field1" ] } == "original1"
|
||||||
end
|
end
|
||||||
it "should concatenate values in an array" do
|
it "should concatenate values in an array" do
|
||||||
subject.append(LogStash::Event.new("field1" => [ "append1" ]))
|
subject.append(LogStash::Event.new({"field1" => [ "append1" ]}))
|
||||||
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
||||||
end
|
end
|
||||||
it "should join array, removing duplicates" do
|
it "should join array, removing duplicates" do
|
||||||
subject.append(LogStash::Event.new("field1" => [ "append1","original1" ]))
|
subject.append(LogStash::Event.new({"field1" => [ "append1","original1" ]}))
|
||||||
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -106,15 +111,15 @@ describe LogStash::Event do
|
||||||
before { subject[ "field1" ] = [ "original1", "original2" ] }
|
before { subject[ "field1" ] = [ "original1", "original2" ] }
|
||||||
|
|
||||||
it "should append string values to array, if not present in array" do
|
it "should append string values to array, if not present in array" do
|
||||||
subject.append(LogStash::Event.new("field1" => "append1"))
|
subject.append(LogStash::Event.new({"field1" => "append1"}))
|
||||||
insist { subject[ "field1" ] } == [ "original1", "original2", "append1" ]
|
insist { subject[ "field1" ] } == [ "original1", "original2", "append1" ]
|
||||||
end
|
end
|
||||||
it "should not append string values, if the array already contains it" do
|
it "should not append string values, if the array already contains it" do
|
||||||
subject.append(LogStash::Event.new("field1" => "original1"))
|
subject.append(LogStash::Event.new({"field1" => "original1"}))
|
||||||
insist { subject[ "field1" ] } == [ "original1", "original2" ]
|
insist { subject[ "field1" ] } == [ "original1", "original2" ]
|
||||||
end
|
end
|
||||||
it "should join array, removing duplicates" do
|
it "should join array, removing duplicates" do
|
||||||
subject.append(LogStash::Event.new("field1" => [ "append1","original1" ]))
|
subject.append(LogStash::Event.new({"field1" => [ "append1","original1" ]}))
|
||||||
insist { subject[ "field1" ] } == [ "original1", "original2", "append1" ]
|
insist { subject[ "field1" ] } == [ "original1", "original2", "append1" ]
|
||||||
end
|
end
|
||||||
end
|
end
|
135
spec/eventv1.rb
135
spec/eventv1.rb
|
@ -1,135 +0,0 @@
|
||||||
require "logstash/event"
|
|
||||||
require "insist"
|
|
||||||
|
|
||||||
describe LogStash::Event do
|
|
||||||
before :each do
|
|
||||||
@event = LogStash::Event.new({
|
|
||||||
"a" => "b",
|
|
||||||
"c" => {
|
|
||||||
"d" => "f",
|
|
||||||
"e" => {"f" => "g"}
|
|
||||||
},
|
|
||||||
"f" => {"g" => {
|
|
||||||
"h" => "i"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"j" => {
|
|
||||||
"k1" => "v",
|
|
||||||
"k2" => [
|
|
||||||
"w",
|
|
||||||
"x"
|
|
||||||
],
|
|
||||||
"k3" => {"4" => "m"},
|
|
||||||
5 => 6,
|
|
||||||
"5" => 7
|
|
||||||
}
|
|
||||||
})
|
|
||||||
@event.timestamp = "2013-01-01T00:00:00.000Z"
|
|
||||||
@event["type"] = "sprintf"
|
|
||||||
@event["message"] = "hello world"
|
|
||||||
@event["tags"] = [ "tag1" ]
|
|
||||||
@event["source"] = "/home/foo"
|
|
||||||
end
|
|
||||||
|
|
||||||
subject { @event }
|
|
||||||
|
|
||||||
context "#sprintf" do
|
|
||||||
it "should report a unix timestamp for %{+%s}" do
|
|
||||||
insist { @event.sprintf("%{+%s}") } == "1356998400"
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should report a time with %{+format} syntax" do
|
|
||||||
insist { @event.sprintf("%{+YYYY}") } == "2013"
|
|
||||||
insist { @event.sprintf("%{+MM}") } == "01"
|
|
||||||
insist { @event.sprintf("%{+HH}") } == "00"
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should report fields with %{field} syntax" do
|
|
||||||
insist { @event.sprintf("%{type}") } == "sprintf"
|
|
||||||
insist { @event.sprintf("%{message}") } == subject["message"]
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should print deep fields" do
|
|
||||||
insist { @event.sprintf("%{[j][k1]}") } == "v"
|
|
||||||
insist { @event.sprintf("%{[j][k2][0]}") } == "w"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "#[]" do
|
|
||||||
it "should fetch data" do
|
|
||||||
insist { @event["type"] } == "sprintf"
|
|
||||||
end
|
|
||||||
it "should fetch fields" do
|
|
||||||
insist { @event["a"] } == "b"
|
|
||||||
insist { @event['c']['d'] } == "f"
|
|
||||||
end
|
|
||||||
it "should fetch deep fields" do
|
|
||||||
insist { @event["[j][k1]"] } == "v"
|
|
||||||
insist { @event["[c][d]"] } == "f"
|
|
||||||
insist { @event['[f][g][h]'] } == "i"
|
|
||||||
insist { @event['[j][k3][4]'] } == "m"
|
|
||||||
insist { @event['[j][5]'] } == 7
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "#append" do
|
|
||||||
it "should append message with \\n" do
|
|
||||||
subject.append(LogStash::Event.new("message" => "hello world"))
|
|
||||||
insist { subject["message"] } == "hello world\nhello world"
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should concatenate tags" do
|
|
||||||
subject.append(LogStash::Event.new("tags" => [ "tag2" ]))
|
|
||||||
insist { subject["tags"] } == [ "tag1", "tag2" ]
|
|
||||||
end
|
|
||||||
|
|
||||||
context "when event field is nil" do
|
|
||||||
it "should add single value as string" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => "append1"}))
|
|
||||||
insist { subject[ "field1" ] } == "append1"
|
|
||||||
end
|
|
||||||
it "should add multi values as array" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => [ "append1","append2" ]}))
|
|
||||||
insist { subject[ "field1" ] } == [ "append1","append2" ]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "when event field is a string" do
|
|
||||||
before { subject[ "field1" ] = "original1" }
|
|
||||||
|
|
||||||
it "should append string to values, if different from current" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => "append1"}))
|
|
||||||
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
|
||||||
end
|
|
||||||
it "should not change value, if appended value is equal current" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => "original1"}))
|
|
||||||
insist { subject[ "field1" ] } == [ "original1" ]
|
|
||||||
end
|
|
||||||
it "should concatenate values in an array" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => [ "append1" ]}))
|
|
||||||
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
|
||||||
end
|
|
||||||
it "should join array, removing duplicates" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => [ "append1","original1" ]}))
|
|
||||||
insist { subject[ "field1" ] } == [ "original1", "append1" ]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context "when event field is an array" do
|
|
||||||
before { subject[ "field1" ] = [ "original1", "original2" ] }
|
|
||||||
|
|
||||||
it "should append string values to array, if not present in array" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => "append1"}))
|
|
||||||
insist { subject[ "field1" ] } == [ "original1", "original2", "append1" ]
|
|
||||||
end
|
|
||||||
it "should not append string values, if the array already contains it" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => "original1"}))
|
|
||||||
insist { subject[ "field1" ] } == [ "original1", "original2" ]
|
|
||||||
end
|
|
||||||
it "should join array, removing duplicates" do
|
|
||||||
subject.append(LogStash::Event.new({"field1" => [ "append1","original1" ]}))
|
|
||||||
insist { subject[ "field1" ] } == [ "original1", "original2", "append1" ]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Add table
Add a link
Reference in a new issue