Skip to content

Commit b7ebaf0

Browse files
Added description field (#321)
1 parent b711d76 commit b7ebaf0

File tree

2 files changed

+71
-4
lines changed

2 files changed

+71
-4
lines changed

src/conductor/client/http/models/event_handler.py

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ class EventHandler:
2525
'condition': 'str',
2626
'actions': 'list[Action]',
2727
'active': 'bool',
28-
'evaluator_type': 'str'
28+
'evaluator_type': 'str',
29+
'description': 'str'
2930
}
3031

3132
attribute_map = {
@@ -34,7 +35,8 @@ class EventHandler:
3435
'condition': 'condition',
3536
'actions': 'actions',
3637
'active': 'active',
37-
'evaluator_type': 'evaluatorType'
38+
'evaluator_type': 'evaluatorType',
39+
'description': 'description'
3840
}
3941

4042
name: str = field(default=None)
@@ -43,6 +45,7 @@ class EventHandler:
4345
actions: List[Any] = field(default=None)
4446
active: Optional[bool] = field(default=None)
4547
evaluator_type: Optional[str] = field(default=None)
48+
description: Optional[str] = field(default=None)
4649

4750
# Private backing fields for properties
4851
_name: str = field(init=False, repr=False, default=None)
@@ -51,12 +54,13 @@ class EventHandler:
5154
_actions: List[Any] = field(init=False, repr=False, default=None)
5255
_active: Optional[bool] = field(init=False, repr=False, default=None)
5356
_evaluator_type: Optional[str] = field(init=False, repr=False, default=None)
54-
57+
_description: Optional[str] = field(init=False, repr=False, default=None)
58+
5559
# For backward compatibility
5660
discriminator: InitVar[Any] = None
5761

5862
def __init__(self, name=None, event=None, condition=None, actions=None, active=None,
59-
evaluator_type=None): # noqa: E501
63+
evaluator_type=None, description=None): # noqa: E501
6064
"""EventHandler - a model defined in Swagger""" # noqa: E501
6165
self._name = None
6266
self._event = None
@@ -67,13 +71,16 @@ def __init__(self, name=None, event=None, condition=None, actions=None, active=N
6771
self.discriminator = None
6872
self.name = name
6973
self.event = event
74+
self.description = None
7075
if condition is not None:
7176
self.condition = condition
7277
self.actions = actions
7378
if active is not None:
7479
self.active = active
7580
if evaluator_type is not None:
7681
self.evaluator_type = evaluator_type
82+
if description is not None:
83+
self.description = description
7784

7885
def __post_init__(self, discriminator):
7986
# Initialize properties from dataclass fields if not already set by __init__
@@ -89,6 +96,8 @@ def __post_init__(self, discriminator):
8996
self._active = self.active
9097
if self._evaluator_type is None and self.evaluator_type is not None:
9198
self._evaluator_type = self.evaluator_type
99+
if self._description is None and self.description is not None:
100+
self._description = self.description
92101

93102
@property
94103
def name(self):
@@ -213,6 +222,27 @@ def evaluator_type(self, evaluator_type):
213222

214223
self._evaluator_type = evaluator_type
215224

225+
@property
226+
def description(self):
227+
"""Gets the description of this EventHandler. # noqa: E501
228+
229+
230+
:return: The description of this EventHandler. # noqa: E501
231+
:rtype: str
232+
"""
233+
return self._description
234+
235+
@description.setter
236+
def description(self, description):
237+
"""Sets the description of this EventHandler.
238+
239+
240+
:param description: The description of this EventHandler. # noqa: E501
241+
:type: str
242+
"""
243+
244+
self._description = description
245+
216246
def to_dict(self):
217247
"""Returns the model properties as a dict"""
218248
result = {}

tests/backwardcompatibility/test_bc_event_handler.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ def test_to_dict_method_exists_and_works():
136136
actions=[],
137137
active=True,
138138
evaluator_type="javascript",
139+
description="test_description",
139140
)
140141
# Verify method exists
141142
assert hasattr(handler, "to_dict")
@@ -151,6 +152,7 @@ def test_to_dict_method_exists_and_works():
151152
"actions",
152153
"active",
153154
"evaluator_type",
155+
"description",
154156
}
155157
assert set(result.keys()) == expected_keys
156158
# Verify values
@@ -160,6 +162,7 @@ def test_to_dict_method_exists_and_works():
160162
assert result["actions"] == []
161163
assert result["active"]
162164
assert result["evaluator_type"] == "javascript"
165+
assert result["description"] == "test_description"
163166

164167

165168
def test_to_str_method_exists_and_works():
@@ -236,3 +239,37 @@ def test_none_values_handling():
236239
assert result["condition"] is None
237240
assert result["active"] is None
238241
assert result["evaluator_type"] is None
242+
243+
244+
def test_backward_compatibility_without_description():
245+
"""Test backward compatibility when description field is not provided."""
246+
# Test constructor without description parameter
247+
handler = EventHandler(
248+
name="bc_test",
249+
event="test_event",
250+
condition="test_condition",
251+
actions=[],
252+
active=True,
253+
evaluator_type="javascript",
254+
)
255+
256+
assert handler.description is None
257+
258+
result = handler.to_dict()
259+
assert isinstance(result, dict)
260+
261+
assert "description" in result
262+
assert result["description"] is None
263+
264+
assert result["name"] == "bc_test"
265+
assert result["event"] == "test_event"
266+
assert result["condition"] == "test_condition"
267+
assert result["actions"] == []
268+
assert result["active"]
269+
assert result["evaluator_type"] == "javascript"
270+
271+
handler.description = "added_description"
272+
assert handler.description == "added_description"
273+
274+
updated_result = handler.to_dict()
275+
assert updated_result["description"] == "added_description"

0 commit comments

Comments
 (0)