Sha256: 161f6969a2bcd2fe90743d931abdb327a35bf7cd6890170da6e12585ba398f6f

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

require "logstash/codecs/msgpack"
require "logstash/event"
require "insist"

# Skip msgpack for now since Hash#to_msgpack seems to not be a valid method?
describe LogStash::Codecs::Msgpack, :if => false  do
  subject do
    next LogStash::Codecs::Msgpack.new
  end

  context "#decode" do
    it "should return an event from msgpack data" do
      data = {"foo" => "bar", "baz" => {"bah" => ["a","b","c"]}}
      subject.decode(data.to_msgpack) do |event|
        insist { event.is_a? LogStash::Event }
        insist { event["foo"] } == data["foo"]
        insist { event["baz"] } == data["baz"]
        insist { event["bah"] } == data["bah"]
      end
    end
  end

  context "#encode" do
    it "should return msgpack data" do
      data = {"foo" => "bar", "baz" => {"bah" => ["a","b","c"]}}
      event = LogStash::Event.new(data)
      got_event = false
      subject.on_event do |d|
        insist { d } == LogStash::Event.new(data).to_hash.to_msgpack
        insist { MessagePack.unpack(d)["foo"] } == data["foo"]
        insist { MessagePack.unpack(d)["baz"] } == data["baz"]
        insist { MessagePack.unpack(d)["bah"] } == data["bah"]
        got_event = true
      end
      subject.encode(event)
      insist { got_event }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
logstash-lib-1.3.2 spec/codecs/msgpack.rb