Sha256: 4270535088804a4a5fc14bdabd64e45dd96d8816b9df6a4fc3dc7460ba1e5f8a

Contents?: true

Size: 1.92 KB

Versions: 19

Compression:

Stored size: 1.92 KB

Contents

require 'rubygems'
require 'log4r'
require_relative '../lib/depengine/log/log'
require 'stringio'
require 'tmpdir'

describe "logging" do
  it "should log a message to STDOUT" do
    # redirect STDOUT
    sio = StringIO.new
    old_stdout, $stdout = $stdout, sio

    log = Log::DeploymentLogger.new
    log.writer.level = Log4r::DEBUG
    log.writer.debug "Logger is now setup"

    # restore STDOUT
    $stdout = old_stdout
    result  = sio.string

    result.should include( "Logger is now setup" )
  end

  it "should log a message to STDOUT with priority WARN" do
    # redirect STDOUT
    sio = StringIO.new
    old_stdout, $stdout = $stdout, sio

    log = Log::DeploymentLogger.new
    log.writer.level = Log4r::WARN
    log.writer.warn "Logger is now setup"

    # restore STDOUT
    $stdout = old_stdout
    result  = sio.string

    result.should include( "Logger is now setup" )
  end

  it "should log a message to a logfile" do
    tmp_dir = Dir.mktmpdir
    begin
      log = Log::DeploymentLogger.new
      log.add_outputter(Log4r::FileOutputter.new('log_warn', :filename => "#{tmp_dir}/log_spec.log", :level => Log4r::INFO))
      log.writer.info "Logger is now setup"

      File.open("#{tmp_dir}/log_spec.log", 'r') do |line|
        line.gets.should include("Logger is now setup")
      end
    ensure
      FileUtils.rm_rf tmp_dir
    end
  end

  it "should log a message to a logfile with a level set" do
    tmp_dir = Dir.mktmpdir
    begin
      log = Log::DeploymentLogger.new
      log.add_outputter(Log4r::FileOutputter.new('log_warn', :filename => "#{tmp_dir}/log_spec.log"), Log4r::WARN)
      log.writer.info "this is an info message"
      log.writer.warn "this is a warn message"

      File.open("#{tmp_dir}/log_spec.log", 'r').read.should_not include("this is an info message")
      File.open("#{tmp_dir}/log_spec.log", 'r').read.should include("this is a warn message")
    ensure
      FileUtils.rm_rf tmp_dir
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
depengine-3.0.20 spec/log_spec.rb
depengine-3.0.19 spec/log_spec.rb
depengine-3.0.18 spec/log_spec.rb
depengine-3.0.17 spec/log_spec.rb
depengine-3.0.16 spec/log_spec.rb
depengine-3.0.15 spec/log_spec.rb
depengine-3.0.14 spec/log_spec.rb
depengine-3.0.13 spec/log_spec.rb
depengine-3.0.12 spec/log_spec.rb
depengine-3.0.11 spec/log_spec.rb
depengine-3.0.10 spec/log_spec.rb
depengine-3.0.9 spec/log_spec.rb
depengine-3.0.8 spec/log_spec.rb
depengine-3.0.7 spec/log_spec.rb
depengine-3.0.6 spec/log_spec.rb
depengine-3.0.5 spec/log_spec.rb
depengine-3.0.4 spec/log_spec.rb
depengine-3.0.3 spec/log_spec.rb
depengine-3.0.2 spec/log_spec.rb