mirror of
https://github.com/elastic/logstash.git
synced 2025-04-25 07:07:54 -04:00
Add mutate example/spec
This commit is contained in:
parent
21b43fcc26
commit
ff739f4c94
1 changed files with 59 additions and 0 deletions
59
spec/filters/mutate.rb
Normal file
59
spec/filters/mutate.rb
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
require "test_utils"
|
||||||
|
require "logstash/filters/mutate"
|
||||||
|
|
||||||
|
describe LogStash::Filters::Mutate do
|
||||||
|
extend LogStash::RSpec
|
||||||
|
|
||||||
|
describe "basics" do
|
||||||
|
# The logstash config goes here.
|
||||||
|
# At this time, only filters are supported.
|
||||||
|
config <<-CONFIG
|
||||||
|
filter {
|
||||||
|
mutate {
|
||||||
|
lowercase => "lowerme"
|
||||||
|
uppercase => "upperme"
|
||||||
|
convert => [ "intme", "integer", "floatme", "float" ]
|
||||||
|
rename => [ "rename1", "rename2" ]
|
||||||
|
replace => [ "replaceme", "hello world" ]
|
||||||
|
remove => [ "removeme" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CONFIG
|
||||||
|
|
||||||
|
event = { "@fields" => {
|
||||||
|
"lowerme" => [ "ExAmPlE" ], "upperme" => [ "ExAmPlE" ],
|
||||||
|
"intme" => [ "1234" ], "floatme" => [ "1234.455" ],
|
||||||
|
"rename1" => [ "hello world" ],
|
||||||
|
"replaceme" => [ "who cares" ],
|
||||||
|
"removeme" => [ "something" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sample event do
|
||||||
|
insist { subject["lowerme"] } == subject["lowerme"].collect(&:downcase)
|
||||||
|
insist { subject["upperme"] } == subject["lowerme"].collect(&:upcase)
|
||||||
|
insist { subject["intme"] } == subject["intme"].collect(&:to_i)
|
||||||
|
insist { subject["floatme"] } == subject["floatme"].collect(&:to_f)
|
||||||
|
reject { subject }.include?("rename1")
|
||||||
|
insist { subject["rename2"] } == [ "hello world" ]
|
||||||
|
reject { subject }.include?("removeme")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "regression - check grok+mutate" do
|
||||||
|
config <<-CONFIG
|
||||||
|
filter {
|
||||||
|
grok {
|
||||||
|
pattern => "%{WORD:foo}"
|
||||||
|
}
|
||||||
|
mutate {
|
||||||
|
lowercase => "foo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CONFIG
|
||||||
|
|
||||||
|
sample "HELLO WORLD" do
|
||||||
|
insist { subject["foo"] } == subject["foo"].collect(&:downcase)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue