Sha256: d544e6ae1bf0b3476ead6fff5d61df9682867152ce5968051c6c503f12fd126c

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

# encoding: utf-8
require 'spec_helper'
require "logstash/filters/duration"

describe LogStash::Filters::Duration do
  describe "Parse duration in ISO format" do
    let(:config) do <<-CONFIG
      filter {
        duration {
          iso => 'iso'
        }
      }
    CONFIG
    end

    sample('iso' => "PT1H2M3S") do
      expect(subject.get("duration")).to eq(total_seconds(days=0, hours=1, minutes=2, seconds=3))
    end

    sample('iso' => "PT1H2M3S1000MS") do
      expect(subject.get("duration")).to eq(total_seconds(days=0, hours=1, minutes=2, seconds=3))
    end

    sample('iso' => "-PT1H2M3S") do
      expect(subject.get("duration")).to eq(-total_seconds(days=0, hours=1, minutes=2, seconds=3))
    end

    sample('iso' => "P1D") do
      expect(subject.get("duration")).to eq(total_seconds(days=1))
    end

    sample('iso' => "P1DT2H3M4S") do
      expect(subject.get("duration")).to eq(total_seconds(days=1, hours=2, minutes=3, seconds=4))
    end

    sample('iso' => "P1M") do
      expect(subject.get("duration")).to eq(total_seconds())
    end

    sample('iso' => "PT2M1H3S") do
      expect(subject.get("duration")).to eq(total_seconds())
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
logstash-filter-duration-0.1.1 spec/filters/duration_spec.rb
logstash-filter-duration-0.1.0 spec/filters/duration_spec.rb