def test_sanitize_http_query_string(http_test_data): result = processors.sanitize_http_request_querystring(None, http_test_data) expected = "foo=bar&password={0}&the_secret={0}&cc={0}".format( processors.MASK) assert result["context"]["request"]["url"]["search"] == expected assert result["context"]["request"]["url"]["full"].endswith(expected)
def test_querystring_as_string_with_partials(http_test_data): http_test_data["context"]["request"]["url"][ "search"] = "foo=bar&password&secret=123456" result = processors.sanitize_http_request_querystring(None, http_test_data) assert result["context"]["request"]["url"][ "search"] == "foo=bar&password&secret={0}".format(processors.MASK)
def test_non_utf8_encoding(elasticapm_client, http_test_data): broken = compat.b("broken=") + u"aéöüa".encode("latin-1") http_test_data["context"]["request"]["url"]["search"] = broken result = processors.sanitize_http_request_querystring( elasticapm_client, http_test_data) assert result["context"]["request"]["url"][ "search"] == u"broken=a\ufffd\ufffd\ufffda"
def test_sanitize_http_query_string(http_test_data): result = processors.sanitize_http_request_querystring(None, http_test_data) expected = 'foo=bar&password={0}&the_secret={0}&cc={0}'.format( processors.MASK ) assert result['context']['request']['url']['search'] == expected assert result['context']['request']['url']['full'].endswith(expected)
def test_sanitize_http_query_string_max_length(elasticapm_client): qs = "api_key=1&v=" + 1020 * "x" data = { "context": { "request": { "url": { "full": "http://example.com/bla?" + qs, "search": qs } } } } result = processors.sanitize_http_request_querystring( elasticapm_client, data) for val in (result["context"]["request"]["url"]["search"], result["context"]["request"]["url"]["full"]): assert "api_key=********" in val assert len(val) == 1024 assert val.endswith(u"x…")
def test_non_utf8_encoding(http_test_data): broken = compat.b('broken=') + u"aéöüa".encode('latin-1') http_test_data['context']['request']['url']['search'] = broken result = processors.sanitize_http_request_querystring(None, http_test_data) assert result['context']['request']['url']['search'] == u'broken=a\ufffd\ufffd\ufffda'
def test_querystring_as_string_with_partials(http_test_data): http_test_data['context']['request']['url']['search'] = 'foo=bar&password&secret=123456' result = processors.sanitize_http_request_querystring(None, http_test_data) assert (result['context']['request']['url']['search'] == 'foo=bar&password&secret={0}'.format(processors.MASK))
def test_querystring_as_string_with_partials(elasticapm_client, expected, http_test_data): result = processors.sanitize_http_request_querystring(elasticapm_client, http_test_data) assert result["context"]["request"]["url"]["search"] == expected
def test_sanitize_http_query_string(elasticapm_client, expected, http_test_data): result = processors.sanitize_http_request_querystring(elasticapm_client, http_test_data) assert result["context"]["request"]["url"]["search"] == expected assert result["context"]["request"]["url"]["full"].endswith(expected)