mirror of
https://github.com/oskvr37/tiddl.git
synced 2026-06-13 04:05:08 +03:00
39 lines
911 B
Python
39 lines
911 B
Python
import pytest
|
|
from typing import Any
|
|
from tiddl.core.api.exceptions import ApiError
|
|
|
|
|
|
def test_api_error_attributes():
|
|
data: dict[str, Any] = {
|
|
"status": 1,
|
|
"subStatus": "sub_status",
|
|
"userMessage": "user_message",
|
|
}
|
|
|
|
e = ApiError(**data)
|
|
|
|
assert isinstance(e, Exception)
|
|
assert e.status == data["status"]
|
|
assert e.sub_status == data["subStatus"]
|
|
assert e.user_message == data["userMessage"]
|
|
|
|
|
|
def test_api_error_raises():
|
|
with pytest.raises(ApiError) as exc:
|
|
raise ApiError(400, "bad_request", "invalid")
|
|
|
|
assert exc.value.status == 400
|
|
assert exc.value.sub_status == "bad_request"
|
|
|
|
|
|
def test_api_error_string():
|
|
data: dict[str, Any] = {
|
|
"status": 1,
|
|
"subStatus": "sub_status",
|
|
"userMessage": "user_message",
|
|
}
|
|
|
|
e = ApiError(**data)
|
|
|
|
assert str(e) == f"{e.user_message}, {e.status}/{e.sub_status}"
|