Merge pull request #2103 from dsander/fix-peak-detector

Prevent PeakDetectorAgent from storing invalid data in it's memory
This commit is contained in:
Akinori MUSHA 2017-09-01 08:24:10 +09:00 committed by GitHub
commit 8ba1adc0a6
2 changed files with 8 additions and 1 deletions

View file

@ -138,7 +138,7 @@ module Agents
def remember(group, event)
memory['data'] ||= {}
memory['data'][group] ||= []
memory['data'][group] << [ Utils.value_at(event.payload, interpolated['value_path']), event.created_at.to_i ]
memory['data'][group] << [ Utils.value_at(event.payload, interpolated['value_path']).to_f, event.created_at.to_i ]
cleanup group
end

View file

@ -78,6 +78,13 @@ describe Agents::PeakDetectorAgent do
:pattern => { 'filter' => "something" })
expect(@agent.memory['peaks']['something'].length).to eq(1)
end
it 'raised an exception if the extracted data can not be casted to a float' do
event = Event.new(payload: {count: ["not working"]})
expect {
@agent.receive([event])
}.to raise_error(NoMethodError, /undefined method `to_f'/)
end
end
describe "validation" do