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.39 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.38 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.37 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.36 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.35 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.34 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.33 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.32 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.31 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.30 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.29 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.28 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.27 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.26 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.24 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.23 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.22 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.21 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.20 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
ree_lib-1.0.19 lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb