Sha256: 2ac757d78b4af49e5e8ab4d970913e3768053fb974ab4fb872dfeb178cbb073c

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

require_relative 'helper'
require 'fluent/test'
require 'fluent/plugin/in_named_pipe'

class NamedPipeInputTest < Test::Unit::TestCase
  TEST_PATH = 'in_named_pipe'

  setup do
    Fluent::Test.setup
  end

  teardown do
    File.unlink(TEST_PATH) rescue nil
  end

  def create_driver(conf)
    Fluent::Test::InputTestDriver.new(Fluent::NamedPipeInput).configure(conf)
  end

  sub_test_case 'configure' do
    test 'required parameters' do
      assert_raise_message("'path' parameter is required") do
        create_driver(%[
          tag foo
        ])
      end

      assert_raise_message("'tag' parameter is required") do
        create_driver(%[
          path #{TEST_PATH}
        ])
      end
    end
  end

  sub_test_case "emit" do
    CONFIG = %[
      path #{TEST_PATH}
      tag named_pipe
      format ltsv
    ]

    test 'read and emit' do
      d = create_driver(CONFIG)
      d.run {
        pipe = Fifo.new(TEST_PATH, :w, :nowait)
        pipe.write "foo:bar\n"
      }

      emits = d.emits
      emits.each do |tag, time, record|
        assert_equal("named_pipe", tag)
        assert_equal({"foo"=>"bar\n"}, record)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fluent-plugin-named_pipe-0.1.2 test/test_in_named_pipe.rb
fluent-plugin-named_pipe-0.1.1 test/test_in_named_pipe.rb
fluent-plugin-named_pipe-0.1.0 test/test_in_named_pipe.rb