Sha256: 161db1a59e40a6a94953254c70dd7b4f36112d5c2dbcebc611884322694e60fa

Contents?: true

Size: 1.72 KB

Versions: 21

Compression:

Stored size: 1.72 KB

Contents

require_relative 'helper'

module FluentTest
  class FluentTestInput < ::Fluent::Input
    ::Fluent::Plugin.register_input('test_in', self)

    attr_reader :started

    def start
      @started = true
    end

    def shutdown
      @started = false
    end
  end

  class FluentTestOutput < ::Fluent::Output
    ::Fluent::Plugin.register_output('test_out', self)

    def initialize
      super
      @events = Hash.new { |h, k| h[k] = [] }
    end

    attr_reader :events
    attr_reader :started

    def start
      @started = true
    end

    def shutdown
      @started = false
    end

    def emit(tag, es, chain)
      es.each { |time, record|
        @events[tag] << record
      }
    end
  end

  class FluentTestErrorOutput < ::Fluent::BufferedOutput
    ::Fluent::Plugin.register_output('test_out_error', self)

    def format(tag, time, record)
      raise "emit error!"
    end

    def write(chunk)
      raise "chunk error!"
    end
  end

  class FluentTestFilter < ::Fluent::Filter
    ::Fluent::Plugin.register_filter('test_filter', self)

    def initialize(field = '__test__')
      super()
      @num = 0
      @field = field
    end

    attr_reader :num
    attr_reader :started

    def start
      @started = true
    end

    def shutdown
      @started = false
    end

    def filter(tag, time, record)
      record[@field] = @num
      @num += 1
      record
    end
  end

  class TestEmitErrorHandler
    def initialize
      @events = Hash.new { |h, k| h[k] = [] }
    end

    attr_reader :events

    def handle_emit_error(tag, time, record, error)
      @events[tag] << record
    end

    def handle_emits_error(tag, es, error)
      es.each { |time,record| handle_emit_error(tag, time, record, error) }
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
fluentd-0.12.20 test/test_plugin_classes.rb
fluentd-0.12.19 test/test_plugin_classes.rb
fluentd-0.12.18 test/test_plugin_classes.rb
fluentd-0.12.17 test/test_plugin_classes.rb
fluentd-0.12.16 test/test_plugin_classes.rb
fluentd-0.12.15 test/test_plugin_classes.rb
fluentd-0.12.14 test/test_plugin_classes.rb
fluentd-0.12.13 test/test_plugin_classes.rb
fluentd-0.12.12 test/test_plugin_classes.rb
fluentd-0.12.11 test/test_plugin_classes.rb
fluentd-0.12.10 test/test_plugin_classes.rb
fluentd-0.12.9 test/test_plugin_classes.rb
fluentd-0.12.8 test/test_plugin_classes.rb
fluentd-0.12.7 test/test_plugin_classes.rb
fluentd-0.12.6 test/test_plugin_classes.rb
fluentd-0.12.5 test/test_plugin_classes.rb
fluentd-0.12.4 test/test_plugin_classes.rb
fluentd-0.12.3 test/test_plugin_classes.rb
fluentd-0.12.2 test/test_plugin_classes.rb
fluentd-0.12.1 test/test_plugin_classes.rb