Sha256: bbd329e5e3c496c238963e3bc50dc6a68a5045b6b10db876b708fdc9366cca2a

Contents?: true

Size: 1.79 KB

Versions: 2

Compression:

Stored size: 1.79 KB

Contents

require "logstash/devutils/rspec/spec_helper"
require "logstash/filters/google_appengine"
require "logstash/json"
require 'digest'

describe LogStash::Filters::GoogleAppengine do

  md5 = Digest::MD5.new

  describe "should merge the request payload with the reuest lines data" do
    config <<-CONFIG
        filter {
          google_appengine { }
         }
    CONFIG

    test_sample = LogStash::Json::load(File.open("spec/filters/appengine.logs.jsonl", "rb").read)
    sample (test_sample) do
      insist { subject.length } == 3

      insist { subject[0]["message"] }=="IdentityFilter logUserIdentity: [[meta]] <anonymous:true>\n"
      insist { subject[0]["_id"] }== md5.hexdigest(subject[0]["requestId"] + "0")
      insist { subject[0]["time"] } == "2015-09-03T10:59:40.589Z"

      insist { subject[0]["type"] } == "gae"

      insist { subject[0]["@type"] } == nil

      insist { subject[1]["message"] }=="HttpOnlyFilter getSession: add additional Set-Cookie with httpOnly-flag for JSESSIONID\n"
      insist { subject[1]["_id"] } == md5.hexdigest(subject[1]["requestId"] + "1")
      insist { subject[1]["@type"] } == nil
      insist { subject[1]["time"] } =="2015-09-03T10:59:40.65Z"
      insist { subject[1]["type"] } == "gae"
    end
  end

  describe "should handle logs even when they have no lines" do
    config <<-CONFIG
        filter {
          google_appengine { }
         }
    CONFIG
    test_sample = LogStash::Json.load(File.open("spec/filters/appengine.logs-without-lines.jsonl", "rb").read)
    sample (test_sample) do

      insist { subject["resource"] }=="/images/website/welcome/keyFeatures/objectives.jpg"
      insist { subject["_id"] }==md5.hexdigest(subject["requestId"])
      insist { subject["time"] }==subject["endTime"]
      insist { subject["@type"] } == nil
    end
  end
end


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
logstash-filter-google_appengine-0.104.0 spec/filters/google_appengine_spec.rb
logstash-filter-google_appengine-0.102.0 spec/filters/google_appengine_spec.rb