Sha256: c21523d6f13b98e31f5aa56844fb3d9e97554904c6559259c00d3c27eba5dbd2

Contents?: true

Size: 1.5 KB

Versions: 12

Compression:

Stored size: 1.5 KB

Contents

require 'spec_helper'
require 'stringio'
require 'tempfile'
require 'pathname'

describe Fluent::Logger::ConsoleLogger do
  before(:each) {
    Timecop.freeze Time.local(2008, 9, 1, 10, 5, 0)
  }
  after(:each) {
    Timecop.return
  }

  context "IO output" do
    let(:io) { StringIO.new }
    let(:logger) { Fluent::Logger::ConsoleLogger.new(io) }

    subject {
      io
    }

    context "post and read" do
      before do
        logger.post('example', {:foo => :bar})
        io.rewind
      end
      its(:read)  { should eq %Q!Sep  1 10:05:00 example: foo="bar"\n! }
    end
  end

  context "Filename output" do
    let(:path) {
      @tmp = Tempfile.new('fluent-logger') # ref instance var because Tempfile.close(true) check GC
      filename = @tmp.path
      @tmp.close(true)
      Pathname.new(filename)
    }
    let(:logger) { Fluent::Logger::ConsoleLogger.new(path.to_s) }

    subject { path }
    after { path.unlink }

    context "post and read" do
      before do
        logger.post('example', {:foo => :bar})
        logger.close
      end
      its(:read)  { should eq %Q!Sep  1 10:05:00 example: foo="bar"\n! }
    end

    context "reopen" do
      before do
        logger.post('example', {:foo => :baz})
        logger.close
        logger.reopen!
      end
      its(:read)  { should eq %Q!Sep  1 10:05:00 example: foo="baz"\n! }
    end
  end

  context "Invalid output" do
    it {
      expect {
        Fluent::Logger::ConsoleLogger.new(nil)
      }.to raise_error(RuntimeError)
    }
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
fluent-logger-0.9.1 spec/console_logger_spec.rb
fluent-logger-0.9.0 spec/console_logger_spec.rb
fluent-logger-0.8.2 spec/console_logger_spec.rb
fluent-logger-0.8.1 spec/console_logger_spec.rb
fluent-logger-0.8.0 spec/console_logger_spec.rb
fluent-logger-0.7.2 spec/console_logger_spec.rb
fluent-logger-0.7.1 spec/console_logger_spec.rb
fluent-logger-0.7.0 spec/console_logger_spec.rb
fluent-logger-0.6.3 spec/console_logger_spec.rb
fluent-logger-0.6.2 spec/console_logger_spec.rb
fluent-logger-0.6.1 spec/console_logger_spec.rb
fluent-logger-0.6.0 spec/console_logger_spec.rb