From 4f13b51ffdb1992eecc5710ba703f4ac16b7730f Mon Sep 17 00:00:00 2001 From: Nick Ethier Date: Tue, 4 Jun 2013 21:49:43 -0600 Subject: [PATCH] start codec tests --- spec/codecs/plain.rb | 28 ++++++++++++++++++++++++++++ spec/codecs/spool.rb | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 spec/codecs/plain.rb create mode 100644 spec/codecs/spool.rb diff --git a/spec/codecs/plain.rb b/spec/codecs/plain.rb new file mode 100644 index 000000000..3475b137f --- /dev/null +++ b/spec/codecs/plain.rb @@ -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 diff --git a/spec/codecs/spool.rb b/spec/codecs/spool.rb new file mode 100644 index 000000000..6c8c45b8e --- /dev/null +++ b/spec/codecs/spool.rb @@ -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