Extract exception message from chain for API errors (#2100)

* Get message from excepiton chain

* cleanup
This commit is contained in:
Joakim Sørensen
2020-10-06 15:53:58 +02:00
committed by GitHub
parent 9dc2f43ffb
commit 17559bfc8e
4 changed files with 56 additions and 11 deletions

View File

@@ -1,6 +1,6 @@
"""Test exception helpers."""
from supervisor.utils import check_exception_chain
from supervisor.utils import check_exception_chain, get_message_from_exception_chain
def test_simple_chain_exception():
@@ -55,3 +55,33 @@ def test_list_nested_chain_exception_not():
raise KeyError() from err
except KeyError as err:
assert not check_exception_chain(err, (AssertionError, OSError))
def test_simple_chain_exception_message():
"""Test simple chain of excepiton."""
try:
raise ValueError("error")
except ValueError as err:
assert get_message_from_exception_chain(err) == "error"
def test_simple_chain_exception_not_message():
"""Test simple chain of excepiton."""
try:
raise ValueError()
except ValueError as err:
assert not get_message_from_exception_chain(err)
def test_simple_nested_chain_exception_message():
"""Test simple nested chain of excepiton."""
try:
try:
raise ValueError("error")
except ValueError as err:
raise KeyError() from err
except KeyError as err:
assert get_message_from_exception_chain(err) == "error"