Sha256: 971c1ea0dff6e2f409a964372372a15c65a52f3be8ed2597bc26950fb2853343
Contents?: true
Size: 1.7 KB
Versions: 2
Compression:
Stored size: 1.7 KB
Contents
require 'stackify-api-ruby' require_relative '../helpers/dummy_logger' require_relative '../helpers/dummy_logger_client' require 'logger' RSpec.describe ::Stackify::LoggerProxy do let(:proxy_logger) { DummyLogger.new() } let(:stackify_logger) { instance_double(DummyLoggerClient) } before do allow(stackify_logger).to receive(:log) allow(::Stackify).to receive(:logger_client).and_return(stackify_logger) allow(proxy_logger).to receive(:level).and_return(Logger::INFO) end subject { described_class.new(proxy_logger) } describe '#initialize' do it 'sets up the logger methods' do expect(subject).to respond_to(:debug) expect(subject).to respond_to(:info) expect(subject).to respond_to(:warn) expect(subject).to respond_to(:error) expect(subject).to respond_to(:fatal) expect(subject).to respond_to(:unknown) end end describe 'log forwarding' do it 'forwards log calls to Stackify and original logger' do message = 'Test log message' expect(Stackify.logger_client).to receive(:log).with(Logger::INFO, 'debug', message, any_args).once expect(proxy_logger).to receive(:debug).with(message).once subject.debug(message) end end # Add more test cases for other log levels and scenarios describe 'method_missing and respond_to_missing?' do it 'forwards undefined methods to the original logger' do # since broadcast_to is available only on the DummyLogger expect(proxy_logger).to receive(:broadcast_to).with('arg1', 'arg2').once subject.broadcast_to('arg1', 'arg2') end it 'correctly responds to defined and undefined methods' do expect(subject).to respond_to(:broadcast_to) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stackify-api-ruby-2.1.0 | spec/stackify/logger_proxy_spec.rb |
stackify-api-ruby-2.1.0.beta1 | spec/stackify/logger_proxy_spec.rb |