Sha256: d5b42974d7aa0cfca7171a07a24d23b6e1e6f82855acbe4890721e0b5419272d

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

require "net/imap"

module Imap::Backup
  describe Logger do
    describe ".setup_logging" do
      let(:config) { instance_double(Configuration, debug?: debug) }

      around do |example|
        logger_previous = described_class.logger.level
        net_imap_previous = Net::IMAP.debug
        described_class.logger.level = 42
        Net::IMAP.debug = 42
        example.run
        Net::IMAP.debug = net_imap_previous
        described_class.logger.level = logger_previous
      end

      before do
        allow(Configuration).to receive(:new) { config }
        described_class.setup_logging
      end

      context "when config.debug?" do
        let(:debug) { true }

        it "sets logger level to debug" do
          expect(described_class.logger.level).to eq(::Logger::Severity::DEBUG)
        end

        it "sets the Net::IMAP debug flag" do
          expect(Net::IMAP.debug).to be_a(TrueClass)
        end
      end

      context "when not config.debug?" do
        let(:debug) { false }

        it "sets logger level to error" do
          expect(described_class.logger.level).to eq(::Logger::Severity::ERROR)
        end

        it "doesn't set the Net::IMAP debug flag" do
          expect(Net::IMAP.debug).to be_a(FalseClass)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
imap-backup-6.0.0.rc2 spec/unit/imap/backup/logger_spec.rb
imap-backup-5.2.0 spec/unit/imap/backup/logger_spec.rb