Sha256: e2b68d89d8745f147b933a6147467c4f7db1d1847b88176cac478a5d10d63e69

Contents?: true

Size: 1.48 KB

Versions: 16

Compression:

Stored size: 1.48 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
    }
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
fluent-logger-0.5.1 spec/console_logger_spec.rb
fluent-logger-0.5.0 spec/console_logger_spec.rb
fluent-logger-0.4.10 spec/console_logger_spec.rb
fluent-logger-0.4.9 spec/console_logger_spec.rb
fluent-logger-0.4.8 spec/console_logger_spec.rb
jmoses_fluent-logger-0.4.10 spec/console_logger_spec.rb
jmoses_fluent-logger-0.4.9 spec/console_logger_spec.rb
jmoses_fluent-logger-0.4.8 spec/console_logger_spec.rb
fluent-logger-0.4.7 spec/console_logger_spec.rb
fluent-logger-0.4.6 spec/console_logger_spec.rb
fluent-logger-0.4.5 spec/console_logger_spec.rb
fluent-logger-0.4.4 spec/console_logger_spec.rb
fluent-logger-0.4.3 spec/console_logger_spec.rb
fluent-logger-0.4.2 spec/console_logger_spec.rb
fluent-logger-0.4.1 spec/console_logger_spec.rb
fluent-logger-0.4.0 spec/console_logger_spec.rb