mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-28 18:26:15 +01:00
5eb98ef624
* refactor: move event and person query to /posthog * move imports * another import * refactor: move actions * refactor: move actions * enterprise * trigger tests * test * make dummy
26 lines
1.0 KiB
Python
26 lines
1.0 KiB
Python
import pytest
|
|
from clickhouse_driver.errors import ServerException
|
|
|
|
from posthog.errors import wrap_query_error
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"error,expected_type,expected_message,expected_code",
|
|
[
|
|
(AttributeError("Foobar"), "AttributeError", "Foobar", None),
|
|
(
|
|
ServerException("Estimated query execution time (34.5 seconds) is too long. Aborting query"),
|
|
"EstimatedQueryExecutionTimeTooLong",
|
|
"Estimated query execution time (34.5 seconds) is too long.",
|
|
None,
|
|
),
|
|
(ServerException("Syntax error", code=62), "CHQueryErrorSyntaxError", "Code: 62.\nSyntax error", 62),
|
|
(ServerException("Syntax error", code=9999), "CHQueryErrorUnknownException", "Code: 9999.\nSyntax error", 9999),
|
|
],
|
|
)
|
|
def test_wrap_query_error(error, expected_type, expected_message, expected_code):
|
|
new_error = wrap_query_error(error)
|
|
assert type(new_error).__name__ == expected_type
|
|
assert str(new_error) == expected_message
|
|
assert getattr(new_error, "code", None) == expected_code
|