From d04a1a1062bd4fec5be2492a6f407f62c7c912b9 Mon Sep 17 00:00:00 2001 From: Lena Garber <114949949+lgarber-akamai@users.noreply.github.com> Date: Thu, 25 Jul 2024 10:13:01 -0400 Subject: [PATCH] Fix error when creating EventError(...) with message=None (#441) --- linode_api4/polling.py | 2 +- test/unit/objects/polling_test.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/linode_api4/polling.py b/linode_api4/polling.py index 6ba02a5b1..947e59e47 100644 --- a/linode_api4/polling.py +++ b/linode_api4/polling.py @@ -13,7 +13,7 @@ class EventError(Exception): def __init__(self, event_id: int, message: Optional[str]): # Edge case, sometimes the message is populated with an empty string - if len(message) < 1: + if message is not None and len(message) < 1: message = None self.event_id = event_id diff --git a/test/unit/objects/polling_test.py b/test/unit/objects/polling_test.py index 7fb7c684f..09c958882 100644 --- a/test/unit/objects/polling_test.py +++ b/test/unit/objects/polling_test.py @@ -328,3 +328,17 @@ def test_wait_for_event_finished_failed( assert err.message == "oh no!" else: raise Exception("Expected event error, got none") + + def test_event_error( + self, + ): + """ + Tests that EventError objects can be constructed and + will be formatted to the correct output. + + Tests for regression of TPT-3060 + """ + + assert str(EventError(123, None)) == "Event 123 failed" + assert str(EventError(123, "")) == "Event 123 failed" + assert str(EventError(123, "foobar")) == "Event 123 failed: foobar"