Sha256: 02c5530e1e25ea51abe5512a96ce0293d5bc7203aa7919a19c3c8a82af7b725f

Contents?: true

Size: 1.44 KB

Versions: 39

Compression:

Stored size: 1.44 KB

Contents

#frozen_string_literal = true

package_require('ree_logger/appenders/file_appender')

RSpec.describe ReeLogger::FileAppender do
  link :is_blank, from: :ree_object

  let(:file_appender) { described_class }

  let(:log_event) {
    ReeLogger::LogEvent.new(
      :info,
      "Some message",
      nil,
      {}
    )
  }

  let(:log_file_path) { ENV['LOG_FILE_PATH'] }

  before(:all) do
    tmp_file_log = ENV['LOG_FILE_PATH']
      
    if !is_blank(tmp_file_log)
      File.open(tmp_file_log, 'w') {|file| file.truncate(0) }
    end
  end

  after(:all) do
    tmp_file_log = ENV['LOG_FILE_PATH']
      
    if !is_blank(tmp_file_log)
      File.open(tmp_file_log, 'w') {|file| file.truncate(0) }
    end
  end

  let(:custom_formatter) {
    Class.new(ReeLogger::Formatter) do
      def format(event, progname = nil)
        event.message.upcase
      end
    end
  }

  it "with default formatter" do
    appender = file_appender.new(
      :info,
      nil,
      log_file_path,
      auto_flush: true
    )

    expect(appender).to respond_to(:append)

    appender.append(log_event)
    expect(File.read(log_file_path)).to match(log_event.message)
  end

  it "with custom formatter" do
    appender = file_appender.new(
      :info,
      custom_formatter.new,
      log_file_path,
      auto_flush: true
    )

    expect(appender).to respond_to(:append)

    appender.append(log_event)
    expect(File.read(log_file_path)).to match(log_event.message.upcase)
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
ree_lib-1.0.18 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.17 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.16 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.15 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.14 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.13 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.12 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.11 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.10 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.9 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.8 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.7 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.6 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.5 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.4 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.3 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.2 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.1 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.0 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb