start codec tests

This commit is contained in:
Nick Ethier 2013-06-04 21:49:43 -06:00
parent b836e41cfc
commit 4f13b51ffd
2 changed files with 61 additions and 0 deletions

28
spec/codecs/plain.rb Normal file
View file

@ -0,0 +1,28 @@
require "logstash/codecs/plain"
require "logstash/event"
require "insist"
describe LogStash::Codecs::Plain do
subject do
next LogStash::Codecs::Plain.new
end
context "#decode" do
it "should return a valid event" do
subject.decode("Testing decoding.") do |event|
insist { event.is_a? LogStash::Event }
end
end
end
context "#encode" do
it "should return a plain text encoding" do
event = LogStash::Event.new
event["message"] = "Hello World."
subject.on_event do |data|
insist { data } == event.to_s
end
subject.encode(event)
end
end
end

33
spec/codecs/spool.rb Normal file
View file

@ -0,0 +1,33 @@
require "logstash/codecs/spool"
require "logstash/event"
require "insist"
describe LogStash::Codecs::Spool do
subject do
next LogStash::Codecs::Spool.new
end
context "#decode" do
it "should return multiple spooled events" do
e1 = LogStash::Event.new
e2 = LogStash::Event.new
e3 = LogStash::Event.new
subject.decode([e1,e2,e3]) do |event|
insist { event.is_a? LogStash::Event }
end
end
end
context "#encode" do
it "should return a spooled event" do
got_event = false
subject.on_event do |data|
got_event = true
end
50.times do
subject.encode(LogStash::Event.new)
end
insist { got_event }
end
end
end