Skip to content

Commit

Permalink
feat: make ErrorType enums compare as strings (#269)
Browse files Browse the repository at this point in the history
The DBusError exception stores the error type as string. This makes the
exception not directly compare to the ErrorType members (for example
DBusError(ErrorType.FAILED, "").type != ErrorType.FAILED). This makes
ErrorType also a string to make this comparision work.
  • Loading branch information
agners authored Nov 22, 2023
1 parent 6143cb1 commit c6a8301
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/dbus_fast/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ class ArgDirection(Enum):
OUT = "out"


class ErrorType(Enum):
class ErrorType(str, Enum):
"""An enum for the type of an error for a message reply.
:seealso: http://man7.org/linux/man-pages/man3/sd-bus-errors.3.html
Expand Down
8 changes: 7 additions & 1 deletion tests/test_constants.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
from dbus_fast.constants import MESSAGE_FLAG_MAP, MessageFlag
from dbus_fast.constants import MESSAGE_FLAG_MAP, ErrorType, MessageFlag
from dbus_fast.errors import DBusError


def test_message_flag_map():
assert 0 in MESSAGE_FLAG_MAP
assert MessageFlag.NONE in MESSAGE_FLAG_MAP


def test_error_type():
err = DBusError(ErrorType.FAILED, "")
assert ErrorType.FAILED == err.type

0 comments on commit c6a8301

Please sign in to comment.