Skip to content

Commit 58082a9

Browse files
committed
Adding more test cases
1 parent 87c9299 commit 58082a9

File tree

1 file changed

+42
-1
lines changed

1 file changed

+42
-1
lines changed

tests/test_trace_entities.py

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from aws_xray_sdk.core.models.segment import Segment
55
from aws_xray_sdk.core.models.subsegment import Subsegment
66
from aws_xray_sdk.core.models import http
7-
from aws_xray_sdk.core.models import throwable
87
from aws_xray_sdk.core.exceptions.exceptions import SegmentNameMissingException
98
from aws_xray_sdk.core.exceptions.exceptions import SegmentNotFoundException
109
from aws_xray_sdk.core.exceptions.exceptions import AlreadyEndedException
@@ -215,4 +214,46 @@ def test_add_exception():
215214
assert expected_stack == exception.stack
216215

217216

217+
def test_add_exception_referencing():
218+
segment = Segment('seg')
219+
subseg = Subsegment('subseg')
220+
exception = Exception("testException")
221+
stack = [['path', 'line', 'label']]
222+
subseg.add_exception(exception=exception, stack=stack)
223+
segment.add_exception(exception=exception, stack=stack)
224+
subseg.close()
225+
segment.close()
226+
227+
seg_cause = segment.cause
228+
subseg_cause = subseg.cause
229+
230+
assert isinstance(subseg_cause, dict)
231+
assert isinstance(seg_cause, str)
232+
assert seg_cause == subseg_cause['exceptions'][0].id
233+
234+
235+
def test_add_exception_cause_resetting():
236+
segment = Segment('seg')
237+
subseg = Subsegment('subseg')
238+
exception = Exception("testException")
239+
stack = [['path', 'line', 'label']]
240+
subseg.add_exception(exception=exception, stack=stack)
241+
segment.add_exception(exception=exception, stack=stack)
242+
243+
segment.add_exception(exception=Exception("newException"))
244+
subseg.close()
245+
segment.close()
246+
247+
seg_cause = segment.cause
248+
assert isinstance(seg_cause, dict)
249+
assert 'newException' == seg_cause['exceptons'][0].message
250+
251+
252+
def test_add_exception_appending_exceptions():
253+
segment = Segment('seg')
254+
segment.add_exception(exception=Exception("testException"))
255+
segment.add_exception(exception=Exception("newException"))
256+
segment.close()
218257

258+
assert isinstance(segment.cause, dict)
259+
assert len(segment.cause['exceptions']) == 2

0 commit comments

Comments
 (0)