Module: Fluent::Test::Helpers

Defined in:
lib/fluent/test/helpers.rb

Instance Method Summary collapse

Instance Method Details

#assert_equal_event_time(expected, actual, message = nil) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/fluent/test/helpers.rb', line 25

def assert_equal_event_time(expected, actual, message = nil)
  message = build_message(message, <<EOT, expected, actual)
<?> expected but was
<?>.
EOT
  assert_block(message) do
    expected.is_a?(Fluent::EventTime) && actual.is_a?(Fluent::EventTime) && expected.sec == actual.sec && expected.nsec == actual.nsec
  end
end

#capture_log(driver) ⇒ Object



87
88
89
90
91
92
93
94
# File 'lib/fluent/test/helpers.rb', line 87

def capture_log(driver)
  tmp = driver.instance.log.out
  driver.instance.log.out = StringIO.new
  yield
  return driver.instance.log.out.string
ensure
  driver.instance.log.out = tmp
end

#config_element(name = 'test', argument = '', params = {}, elements = []) ⇒ Object



35
36
37
# File 'lib/fluent/test/helpers.rb', line 35

def config_element(name = 'test', argument = '', params = {}, elements = [])
  Fluent::Config::Element.new(name, argument, params, elements)
end

#event_time(str = nil, format: nil) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/fluent/test/helpers.rb', line 39

def event_time(str=nil, format: nil)
  if str
    if format
      Fluent::EventTime.from_time(Time.strptime(str, format))
    else
      Fluent::EventTime.parse(str)
    end
  else
    Fluent::EventTime.now
  end
end

#msgpack(type) ⇒ Object



74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/fluent/test/helpers.rb', line 74

def msgpack(type)
  case type
  when :factory
    Fluent::MessagePackFactory.factory
  when :packer
    Fluent::MessagePackFactory.packer
  when :unpacker
    Fluent::MessagePackFactory.unpacker
  else
    raise ArgumentError, "unknown msgpack object type '#{type}'"
  end
end

#time2str(time, localtime: false, format: nil) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/fluent/test/helpers.rb', line 58

def time2str(time, localtime: false, format: nil)
  if format
    if localtime
      Time.at(time).strftime(format)
    else
      Time.at(time).utc.strftime(format)
    end
  else
    if localtime
      Time.at(time).iso8601
    else
      Time.at(time).utc.iso8601
    end
  end
end

#with_timezone(tz) ⇒ Object



51
52
53
54
55
56
# File 'lib/fluent/test/helpers.rb', line 51

def with_timezone(tz)
  oldtz, ENV['TZ'] = ENV['TZ'], tz
  yield
ensure
  ENV['TZ'] = oldtz
end