Sha256: 83984936624bf2be1e0e236a4ef69ec3ee67883d9e4806487d430d0844baaec8

Contents?: true

Size: 1.85 KB

Versions: 18

Compression:

Stored size: 1.85 KB

Contents

require 'spec_helper'
require 'sneakers'

class EnvWorker
  include Sneakers::Worker
  from_queue 'defaults'

  def work(msg)
  end
end


describe Sneakers do
  before do
    Sneakers.clear!
  end

  describe 'self' do
    it 'should have defaults set up' do
      Sneakers::CONFIG[:log].must_equal(STDOUT)
    end

    it 'should configure itself' do
      Sneakers.configure
      Sneakers.logger.wont_be_nil
      Sneakers.configured?.must_equal(true)
    end
  end

  describe '.daemonize!' do
    it 'should set a logger to a default info level and not daemonize' do
      Sneakers.daemonize!
      Sneakers::CONFIG[:log].must_equal('sneakers.log')
      Sneakers::CONFIG[:daemonize].must_equal(true)
      Sneakers.logger.level.must_equal(Logger::INFO)
    end

    it 'should set a logger to a level given that level' do
      Sneakers.daemonize!(Logger::DEBUG)
      Sneakers.logger.level.must_equal(Logger::DEBUG)
    end
  end


  describe '.clear!' do
    it 'must reset dirty configuration to default' do
      Sneakers::CONFIG[:log].must_equal(STDOUT)
      Sneakers.configure(:log => 'foobar.log')
      Sneakers::CONFIG[:log].must_equal('foobar.log')
      Sneakers.clear!
      Sneakers::CONFIG[:log].must_equal(STDOUT)
    end
  end


  describe '#setup_general_logger' do
    let(:logger_class) { ServerEngine::DaemonLogger }

    it 'should detect a string and configure a logger' do
      Sneakers.configure(:log => 'sneakers.log')
      Sneakers.logger.kind_of?(logger_class).must_equal(true)
    end

    it 'should detect a file-like thing and configure a logger' do
      Sneakers.configure(:log => STDOUT)
      Sneakers.logger.kind_of?(logger_class).must_equal(true)
    end

    it 'should detect an actual logger and configure it' do
      logger = Logger.new(STDOUT)
      Sneakers.configure(:log => logger)
      Sneakers.logger.must_equal(logger)
    end
  end

end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
sneakers-2.12.0 spec/sneakers/sneakers_spec.rb
sneakers-2.12.0.rc1 spec/sneakers/sneakers_spec.rb
sneakers-2.11.0 spec/sneakers/sneakers_spec.rb
sneakers-2.7.0 spec/sneakers/sneakers_spec.rb
sneakers-2.6.0 spec/sneakers/sneakers_spec.rb
sneakers-2.5.0 spec/sneakers/sneakers_spec.rb
sneakers-2.4.0 spec/sneakers/sneakers_spec.rb
sneakers-2.3.5 spec/sneakers/sneakers_spec.rb
sneakers-2.3.4 spec/sneakers/sneakers_spec.rb
sneakers-2.3.2 spec/sneakers/sneakers_spec.rb
sneakers-2.3.1 spec/sneakers/sneakers_spec.rb
sneakers-2.3.0 spec/sneakers/sneakers_spec.rb
sneakers-2.2.1 spec/sneakers/sneakers_spec.rb
sneakers-2.2.0 spec/sneakers/sneakers_spec.rb
sneakers-2.1.0 spec/sneakers/sneakers_spec.rb
sneakers-1.1.2 spec/sneakers/sneakers_spec.rb
sneakers-1.1.1 spec/sneakers/sneakers_spec.rb
sneakers-1.1.0 spec/sneakers/sneakers_spec.rb