File tree Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -174,6 +174,14 @@ def test_log_without_sending(self):
174
174
175
175
self .assertEqual (0 , self .log_nosend (logger ))
176
176
177
+ def test_logger_without_exception (self ):
178
+ logger = logging .getLogger ("mylogger" )
179
+ rgHandler = raygunprovider .RaygunHandler (self .apiKey )
180
+ logger .addHandler (rgHandler )
181
+
182
+ # should not fail or throw an exception
183
+ logger .error ("Logging without exception" )
184
+
177
185
def test_localvariables (self ):
178
186
client = raygunprovider .RaygunSender (self .apiKey )
179
187
Original file line number Diff line number Diff line change 5
5
from raygun4py import utilities
6
6
from raygun4py import __version__
7
7
from raygun4py import version as version_file
8
+ import logging
9
+ from unittest import mock
8
10
9
11
10
12
class TestRaygunSender (unittest .TestCase ):
@@ -206,6 +208,28 @@ def test_groupingkey_is_none_when_too_long_string_returned_from_callback(self):
206
208
self .assertIsNone (msg .get_details ()["groupingKey" ])
207
209
208
210
211
+ class TestRaygunHandler (unittest .TestCase ):
212
+ def setUp (self ):
213
+ self .handler = raygunprovider .RaygunHandler ("testkey" , "v1.0" )
214
+ self .handler .sender .send_exception = mock .MagicMock (return_value = (202 , "OK" ))
215
+
216
+ def test_logging_outside_exception_context (self ):
217
+ """Test that RaygunHandler can handle logging outside of an exception context"""
218
+ logger = logging .getLogger ("test_logger" )
219
+ logger .addHandler (self .handler )
220
+
221
+ # Log a message without an exception context
222
+ logger .error ("Test error message" )
223
+
224
+ # Verify that send_exception was called with a fallback error
225
+ self .handler .sender .send_exception .assert_called_once ()
226
+ call_args = self .handler .sender .send_exception .call_args [1 ]
227
+ self .assertIsNotNone (call_args .get ("fallback_error" ))
228
+ self .assertEqual (call_args .get ("tags" ), ["Error Log" ])
229
+
230
+ logger .removeHandler (self .handler )
231
+
232
+
209
233
def main ():
210
234
unittest .main ()
211
235
You can’t perform that action at this time.
0 commit comments