@@ -88,26 +88,51 @@ def test_stacktrace():
8888 "exception" : {
8989 "stacktrace" : [
9090 {"vars" : {"foo" : "bar" , "password" : "hello" , "the_secret" : "hello" , "a_password_here" : "hello" }}
91- ]
91+ ],
92+ "cause" : [
93+ {
94+ "stacktrace" : [
95+ {"vars" : {"foo" : "bar" , "password" : "hello" , "the_secret" : "hello" , "a_password_here" : "hello" }}
96+ ],
97+ "cause" : [
98+ {
99+ "stacktrace" : [
100+ {
101+ "vars" : {
102+ "foo" : "bar" ,
103+ "password" : "hello" ,
104+ "the_secret" : "hello" ,
105+ "a_password_here" : "hello" ,
106+ }
107+ }
108+ ]
109+ }
110+ ],
111+ }
112+ ],
92113 }
93114 }
94115
95116 result = processors .sanitize_stacktrace_locals (None , data )
96117
97118 assert "stacktrace" in result ["exception" ]
98- stack = result ["exception" ]["stacktrace" ]
99- assert len (stack ) == 1
100- frame = stack [0 ]
101- assert "vars" in frame
102- vars = frame ["vars" ]
103- assert "foo" in vars
104- assert vars ["foo" ] == "bar"
105- assert "password" in vars
106- assert vars ["password" ] == processors .MASK
107- assert "the_secret" in vars
108- assert vars ["the_secret" ] == processors .MASK
109- assert "a_password_here" in vars
110- assert vars ["a_password_here" ] == processors .MASK
119+ for stacktrace in (
120+ result ["exception" ]["stacktrace" ],
121+ result ["exception" ]["cause" ][0 ]["stacktrace" ],
122+ result ["exception" ]["cause" ][0 ]["cause" ][0 ]["stacktrace" ],
123+ ):
124+ assert len (stacktrace ) == 1
125+ frame = stacktrace [0 ]
126+ assert "vars" in frame
127+ vars = frame ["vars" ]
128+ assert "foo" in vars
129+ assert vars ["foo" ] == "bar"
130+ assert "password" in vars
131+ assert vars ["password" ] == processors .MASK
132+ assert "the_secret" in vars
133+ assert vars ["the_secret" ] == processors .MASK
134+ assert "a_password_here" in vars
135+ assert vars ["a_password_here" ] == processors .MASK
111136
112137
113138def test_remove_http_request_body (http_test_data ):
0 commit comments