Sha256: 7a172d5979316355efb98626cdad9e342734d0ed30e6be85291af6362e4ba870

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

require 'helper'

class FlowCounterSimpleOutputTest < Test::Unit::TestCase
  def setup
    Fluent::Test.setup
  end
  
  CONFIG = %[
    unit second
  ]

  def create_driver(conf=CONFIG,tag='test')
    Fluent::Test::OutputTestDriver.new(Fluent::FlowCounterSimpleOutput, tag).configure(conf)
  end

  def test_configure
    assert_nothing_raised {
      d = create_driver('')
    }
    assert_nothing_raised {
      d = create_driver(CONFIG)
    }
    assert_nothing_raised {
      d = create_driver(CONFIG + %[indicator num])
    }
    assert_nothing_raised {
      d = create_driver(CONFIG + %[indicator byte])
    }
  end

  def test_num
    d1 = create_driver(CONFIG, 'test.tag1')
    d1.run do
      10.times do
        d1.emit({'message'=> 'a' * 100})
        d1.emit({'message'=> 'b' * 100})
        d1.emit({'message'=> 'c' * 100})
      end
    end
    log = capture_log { d1.instance.flush_emit(60) }
    assert( log.include?("count:30"), log )
  end

  def test_byte
    d1 = create_driver(CONFIG + %[indicator byte], 'test.tag1')
    d1.run do
      10.times do
        d1.emit({'message'=> 'a' * 100})
        d1.emit({'message'=> 'b' * 100})
        d1.emit({'message'=> 'c' * 100})
      end
    end
    log = capture_log { d1.instance.flush_emit(60) }
    assert( log.include?("count:3360"), log )
  end

private

  def capture_log
    tmp = $log.out
    $log.out = StringIO.new
    yield
    return $log.out.string
  ensure
    $log.out = tmp
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fluent-plugin-flowcounter-simple-0.0.1 test/plugin/test_out_flowcounter_simple.rb