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
Пример #2
0
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
Пример #3
0
    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)
Пример #4
0
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