Sha256: c9a171aab050780d8341517246d6b5427f13c8e3ba90e632d4c5f1e7f551c695

Contents?: true

Size: 1.45 KB

Versions: 4

Compression:

Stored size: 1.45 KB

Contents

require 'coveralls'
Coveralls.wear!

require 'fluent/test'
require 'fluent/test/driver/input'
require 'fluent/plugin/in_elb_access_log'

require 'aws-sdk-s3'
require 'time'
require 'timecop'
require 'rspec/match_table'

# Disable Test::Unit
module Test::Unit::RunCount; def run(*); end; end

RSpec.configure do |config|
  config.before(:all) do
    Fluent::Test.setup
  end
end

def create_driver(options = {})
  options = {
    interval: 0,
  }.merge(options)

  account_id = options.fetch(:account_id) || '123456789012'
  s3_bucket = options.fetch(:s3_bucket) || 'my-bucket'
  region = options.fetch(:region) || 'us-west-1'

  additional_options = options.select {|k, v| v }.map {|key, value|
    "#{key} #{value}"
  }.join("\n")

  fluentd_conf = <<-EOS
type elb_access_log
account_id #{account_id}
s3_bucket #{s3_bucket}
region #{region}
#{additional_options}
  EOS

  Fluent::Test::Driver::Input.new(Fluent::Plugin::ElbAccessLogInput).configure(fluentd_conf)
end

def driver_run(driver)
  driver.run do
    coolio_loop = driver.instance.instance_variable_get(:@loop)
    sleep 0.1 until coolio_loop.instance_variable_get(:@running)
    sleep 0.1
  end
end

def gzip(str)
  io = StringIO.new

  Zlib::GzipWriter.wrap(io) do |gz|
    gz << str
  end

  io.string
end

# prevent Test::Unit's AutoRunner from executing during RSpec's rake task
# ref: https://github.com/rspec/rspec-rails/issues/1171
Test::Unit.run = true if defined?(Test::Unit) && Test::Unit.respond_to?(:run=)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fluent-plugin-elb-access-log-0.4.4 spec/spec_helper.rb
fluent-plugin-elb-access-log-0.4.3 spec/spec_helper.rb
fluent-plugin-elb-access-log-0.4.2 spec/spec_helper.rb
fluent-plugin-elb-access-log-0.4.1 spec/spec_helper.rb