Sha256: 539335741c4f5a483499485db041769ef4b0f889baf41121fa958ac26740aaef

Contents?: true

Size: 1.37 KB

Versions: 15

Compression:

Stored size: 1.37 KB

Contents

require 'sitehub/constants'
require 'sitehub/middleware/logging/access_logger'
require 'stringio'

class SiteHub
  module Middleware
    module Logging
      describe AccessLogger do
        include_context :rack_request

        let(:logger) { StringIO.new }

        let(:env) { env_for(path: '/') }

        subject do
          described_class.new(app, logger)
        end

        describe '#initialize' do
          context 'logger supplied' do
            it 'sets logger to that logger' do
              expect(described_class.new(:app, :custom_logger).logger).to eq(LogWrapper.new(:custom_logger))
            end
          end

          context 'logger not supplied' do
            it 'sets the logger to go to STDERR' do
              expect(::Logger).to receive(:new).with(STDOUT).and_return(:logging)
              expect(described_class.new(:app).logger).to eq(LogWrapper.new(:logging))
            end
          end
        end

        describe '#call' do
          let(:expected_response) { Response.new([], 200, {}) }

          let(:app) do
            proc { expected_response }
          end

          it 'logs the request / response details' do
            expected_request = Request.new(env: env)

            subject.call(env)
            expect(logger.string).to eq(RequestLog.new(expected_request, expected_response).to_s)
          end
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
sitehub-0.5.0.alpha12 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.4.10 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha11 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha10 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha8 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha7 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha6 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha5 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha4 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha3 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.5.0.alpha2 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.4.9 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.4.8 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.4.7 spec/sitehub/middleware/logging/access_logger_spec.rb
sitehub-0.4.6 spec/sitehub/middleware/logging/access_logger_spec.rb