Sha256: 0b688ad1034ae67a8332963a17dc56adef4efbcd86cf9bd4a1dbc3713241806b

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

require "test_utils"
require "logstash/filters/checksum"
require 'openssl'

describe LogStash::Filters::Checksum do
  extend LogStash::RSpec
  
  LogStash::Filters::Checksum::ALGORITHMS.each do |alg|
    describe "#{alg} checksum with single field" do
      config <<-CONFIG
        filter {
          checksum {
            algorithm => "#{alg}"
            keys => ["test"]
          }
        }
        CONFIG

      sample "test" => "foo bar" do
        insist { !subject["logstash_checksum"].nil? }
        insist { subject["logstash_checksum"] } == OpenSSL::Digest.hexdigest(alg, "|test|foo bar|")
      end
    end
    
    describe "#{alg} checksum with multiple keys" do
      config <<-CONFIG
        filter {
          checksum {
            algorithm => "#{alg}"
            keys => ["test1", "test2"]
          }
        }
        CONFIG

      sample "test1" => "foo", "test2" => "bar" do
        insist { !subject["logstash_checksum"].nil? }
        insist { subject["logstash_checksum"] } == OpenSSL::Digest.hexdigest(alg, "|test1|foo|test2|bar|")
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
logstash-lib-1.3.2 spec/filters/checksum.rb