Skip to content

Commit 61f6395

Browse files
committed
add test
1 parent cfac8d7 commit 61f6395

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

tests/integrations/loguru/test_loguru.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,55 @@ def record(self, val):
354354
assert attrs["code.file.path"] == "blah/path.py"
355355

356356

357+
def test_log_keeps_full_path_if_not_in_project_root(
358+
sentry_init, capture_envelopes, uninstall_integration, request
359+
):
360+
uninstall_integration("loguru")
361+
request.addfinalizer(logger.remove)
362+
363+
sentry_init(
364+
_experiments={"enable_logs": True},
365+
project_root="/custom/test",
366+
)
367+
envelopes = capture_envelopes()
368+
369+
class FakeMessage:
370+
def __init__(self, *args, **kwargs):
371+
pass
372+
373+
@property
374+
def record(self):
375+
return {
376+
"elapsed": MagicMock(),
377+
"exception": None,
378+
"file": RecordFile(name="app.py", path="/blah/path.py"),
379+
"function": "<module>",
380+
"level": RecordLevel(name="ERROR", no=20, icon=""),
381+
"line": 35,
382+
"message": "some message",
383+
"module": "app",
384+
"name": "__main__",
385+
"process": MagicMock(),
386+
"thread": MagicMock(),
387+
"time": MagicMock(),
388+
"extra": MagicMock(),
389+
}
390+
391+
@record.setter
392+
def record(self, val):
393+
pass
394+
395+
with patch("loguru._handler.Message", FakeMessage):
396+
logger.error("some message")
397+
398+
sentry_sdk.get_client().flush()
399+
400+
logs = envelopes_to_logs(envelopes)
401+
assert len(logs) == 1
402+
attrs = logs[0]["attributes"]
403+
assert attrs["code.file.path"] == "/blah/path.py"
404+
405+
357406
def test_logger_with_all_attributes(
358407
sentry_init, capture_envelopes, uninstall_integration, request
359408
):

0 commit comments

Comments
 (0)