2929
3030 it 'filters auth and security pii before forwarding payloads to Sentry' , :aggregate_failures do
3131 stub_const ( 'Sentry' , fake_sentry )
32- allow ( described_class ) . to receive_messages ( enabled? : true , logger : sentry_logger )
33-
32+ allow ( Html2rss ::Web ::RuntimeEnv ) . to receive_messages ( sentry_enabled? : true , sentry_logs_enabled? : true )
33+ allow ( described_class ) . to receive ( :logger ) . and_return ( sentry_logger )
34+ expect ( described_class . send ( :enabled? ) ) . to be ( true )
3435 described_class . emit ( raw_payload )
3536
3637 expect_forwarded_payload
3738 end
3839
40+ it 'does not forward payloads when sentry logs are disabled' do
41+ stub_const ( 'Sentry' , fake_sentry )
42+ allow ( Html2rss ::Web ::RuntimeEnv ) . to receive_messages ( sentry_enabled? : true , sentry_logs_enabled? : false )
43+ described_class . emit ( raw_payload )
44+
45+ expect ( captured_call ) . to eq ( { } )
46+ end
47+
48+ it 'does not forward payloads when sentry is disabled' do
49+ stub_const ( 'Sentry' , fake_sentry )
50+ allow ( Html2rss ::Web ::RuntimeEnv ) . to receive_messages ( sentry_enabled? : false , sentry_logs_enabled? : true )
51+ described_class . emit ( raw_payload )
52+
53+ expect ( captured_call ) . to eq ( { } )
54+ end
55+
3956 def build_sentry_logger
4057 logger_class = Struct . new ( :captured_call ) do
4158 def info ( message , **attributes )
@@ -44,13 +61,11 @@ def info(message, **attributes)
4461 end
4562 end
4663
47- logger_class . new ( captured_call ) . tap do |logger |
48- allow ( logger ) . to receive ( :info ) . and_call_original
49- end
64+ logger_class . new ( captured_call )
5065 end
5166
5267 def expect_forwarded_payload
53- expect ( sentry_logger ) . to have_received ( :info )
68+ expect ( captured_call ) . to include ( :message , :attributes )
5469 expect_forwarded_message
5570 expect_forwarded_attributes
5671 end
0 commit comments