def test_stacktrace(): data = { 'exception': { 'stacktrace': [ { 'vars': { 'foo': 'bar', 'password': '******', 'the_secret': 'hello', 'a_password_here': 'hello', }, } ] } } result = processors.sanitize_stacktrace_locals(None, data) assert 'stacktrace' in result['exception'] stack = result['exception']['stacktrace'] assert len(stack) == 1 frame = stack[0] assert 'vars' in frame vars = frame['vars'] assert 'foo' in vars assert vars['foo'] == 'bar' assert 'password' in vars assert vars['password'] == processors.MASK assert 'the_secret' in vars assert vars['the_secret'] == processors.MASK assert 'a_password_here' in vars assert vars['a_password_here'] == processors.MASK
def test_stacktrace(): data = { "exception": { "stacktrace": [{ "vars": { "foo": "bar", "password": "******", "the_secret": "hello", "a_password_here": "hello" } }] } } result = processors.sanitize_stacktrace_locals(None, data) assert "stacktrace" in result["exception"] stack = result["exception"]["stacktrace"] assert len(stack) == 1 frame = stack[0] assert "vars" in frame vars = frame["vars"] assert "foo" in vars assert vars["foo"] == "bar" assert "password" in vars assert vars["password"] == processors.MASK assert "the_secret" in vars assert vars["the_secret"] == processors.MASK assert "a_password_here" in vars assert vars["a_password_here"] == processors.MASK
def test_stacktrace(self): data = { 'exception': { 'stacktrace': [ { 'vars': { 'foo': 'bar', 'password': '******', 'the_secret': 'hello', 'a_password_here': 'hello', }, } ] } } result = processors.sanitize_stacktrace_locals(None, data) self.assertTrue('stacktrace' in result['exception']) stack = result['exception']['stacktrace'] self.assertEquals(len(stack), 1) frame = stack[0] self.assertTrue('vars' in frame) vars = frame['vars'] self.assertTrue('foo' in vars) self.assertEquals(vars['foo'], 'bar') self.assertTrue('password' in vars) self.assertEquals(vars['password'], processors.MASK) self.assertTrue('the_secret' in vars) self.assertEquals(vars['the_secret'], processors.MASK) self.assertTrue('a_password_here' in vars) self.assertEquals(vars['a_password_here'], processors.MASK)
def test_stacktrace(elasticapm_client, custom_field): data = { "exception": { "stacktrace": [{ "vars": { "foo": "bar", "password": "******", "the_secret": "hello", "a_password_here": "hello", "sensitive-stacktrace-val": "bye", } }], "cause": [{ "stacktrace": [{ "vars": { "foo": "bar", "password": "******", "the_secret": "hello", "a_password_here": "hello", "sensitive-stacktrace-val": "bye", } }], "cause": [{ "stacktrace": [{ "vars": { "foo": "bar", "password": "******", "the_secret": "hello", "a_password_here": "hello", "sensitive-stacktrace-val": "bye", } }] }], }], } } result = processors.sanitize_stacktrace_locals(elasticapm_client, data) assert "stacktrace" in result["exception"] for stacktrace in ( result["exception"]["stacktrace"], result["exception"]["cause"][0]["stacktrace"], result["exception"]["cause"][0]["cause"][0]["stacktrace"], ): assert len(stacktrace) == 1 frame = stacktrace[0] assert "vars" in frame vars = frame["vars"] assert "foo" in vars assert vars["foo"] == "bar" assert "password" in vars assert vars["password"] == processors.MASK assert "the_secret" in vars assert vars["the_secret"] == processors.MASK assert "a_password_here" in vars assert vars["a_password_here"] == processors.MASK assert "sensitive-stacktrace-val" in vars assert vars["sensitive-stacktrace-val"] == custom_field