@@ -290,24 +290,28 @@ def test_ephemeral_field_exists(self) -> None:
290290 workflow = Workflow (workflow_file = "test.yml" )
291291
292292 assert hasattr (workflow , "ephemeral" )
293- assert workflow .ephemeral .trigger_failed is False
294- assert workflow .ephemeral .timed_out is False
293+ assert workflow .ephemeral .trigger_workflow is None
294+ assert workflow .ephemeral .wait_for_completion is None
295295
296296 def test_ephemeral_field_can_be_modified (self ) -> None :
297297 """Test that ephemeral field values can be modified."""
298+ from py_trees .common import Status
299+
298300 workflow = Workflow (workflow_file = "test.yml" )
299301
300- workflow .ephemeral .trigger_failed = True
301- workflow .ephemeral .timed_out = True
302+ workflow .ephemeral .trigger_workflow = Status . FAILURE
303+ workflow .ephemeral .wait_for_completion = Status . RUNNING
302304
303- assert workflow .ephemeral .trigger_failed is True
304- assert workflow .ephemeral .timed_out is True
305+ assert workflow .ephemeral .trigger_workflow == Status . FAILURE
306+ assert workflow .ephemeral .wait_for_completion == Status . RUNNING
305307
306308 def test_ephemeral_field_not_serialized_to_json (self ) -> None :
307309 """Test that ephemeral field is serialized but log_once_flags are excluded."""
310+ from py_trees .common import Status
311+
308312 workflow = Workflow (workflow_file = "test.yml" )
309- workflow .ephemeral .trigger_failed = True
310- workflow .ephemeral .timed_out = True
313+ workflow .ephemeral .trigger_workflow = Status . FAILURE
314+ workflow .ephemeral .wait_for_completion = Status . SUCCESS
311315 workflow .ephemeral .log_once_flags ["test_flag" ] = True
312316
313317 # Serialize to JSON
@@ -316,8 +320,8 @@ def test_ephemeral_field_not_serialized_to_json(self) -> None:
316320
317321 # Verify ephemeral field IS in JSON (except log_once_flags)
318322 assert "ephemeral" in json_data
319- assert json_data ["ephemeral" ]["trigger_failed " ] is True
320- assert json_data ["ephemeral" ]["timed_out " ] is True
323+ assert json_data ["ephemeral" ]["trigger_workflow " ] == "FAILURE"
324+ assert json_data ["ephemeral" ]["wait_for_completion " ] == "SUCCESS"
321325 assert "log_once_flags" not in json_data ["ephemeral" ]
322326
323327 # Verify other fields are present
@@ -326,16 +330,18 @@ def test_ephemeral_field_not_serialized_to_json(self) -> None:
326330
327331 def test_ephemeral_field_not_in_model_dump (self ) -> None :
328332 """Test that ephemeral field is in model_dump but log_once_flags are excluded."""
333+ from py_trees .common import Status
334+
329335 workflow = Workflow (workflow_file = "test.yml" )
330- workflow .ephemeral .trigger_failed = True
336+ workflow .ephemeral .trigger_workflow = Status . SUCCESS
331337 workflow .ephemeral .log_once_flags ["test_flag" ] = True
332338
333339 # Get dict representation
334340 data = workflow .model_dump ()
335341
336342 # Verify ephemeral field IS in dict (except log_once_flags)
337343 assert "ephemeral" in data
338- assert data ["ephemeral" ]["trigger_failed " ] is True
344+ assert data ["ephemeral" ]["trigger_workflow " ] == Status . SUCCESS
339345 assert "log_once_flags" not in data ["ephemeral" ]
340346
341347 def test_ephemeral_field_initialized_on_deserialization (self ) -> None :
@@ -346,11 +352,13 @@ def test_ephemeral_field_initialized_on_deserialization(self) -> None:
346352
347353 # Ephemeral field should be initialized with defaults
348354 assert hasattr (workflow , "ephemeral" )
349- assert workflow .ephemeral .trigger_failed is False
350- assert workflow .ephemeral .timed_out is False
355+ assert workflow .ephemeral .trigger_workflow is None
356+ assert workflow .ephemeral .wait_for_completion is None
351357
352358 def test_release_state_ephemeral_not_serialized (self ) -> None :
353359 """Test that ephemeral fields are serialized but log_once_flags are excluded."""
360+ from py_trees .common import Status
361+
354362 config = Config (
355363 version = 1 ,
356364 packages = {
@@ -366,8 +374,10 @@ def test_release_state_ephemeral_not_serialized(self) -> None:
366374 state = ReleaseState .from_config (config )
367375
368376 # Modify ephemeral fields
369- state .packages ["test-package" ].build .ephemeral .trigger_failed = True
370- state .packages ["test-package" ].publish .ephemeral .timed_out = True
377+ state .packages ["test-package" ].build .ephemeral .trigger_workflow = Status .FAILURE
378+ state .packages ["test-package" ].publish .ephemeral .wait_for_completion = (
379+ Status .SUCCESS
380+ )
371381 state .packages ["test-package" ].build .ephemeral .log_once_flags ["test" ] = True
372382
373383 # Serialize to JSON
@@ -379,10 +389,10 @@ def test_release_state_ephemeral_not_serialized(self) -> None:
379389 publish_workflow = json_data ["packages" ]["test-package" ]["publish" ]
380390
381391 assert "ephemeral" in build_workflow
382- assert build_workflow ["ephemeral" ]["trigger_failed " ] is True
392+ assert build_workflow ["ephemeral" ]["trigger_workflow " ] == "FAILURE"
383393 assert "log_once_flags" not in build_workflow ["ephemeral" ]
384394 assert "ephemeral" in publish_workflow
385- assert publish_workflow ["ephemeral" ]["timed_out " ] is True
395+ assert publish_workflow ["ephemeral" ]["wait_for_completion " ] == "SUCCESS"
386396 assert "log_once_flags" not in publish_workflow ["ephemeral" ]
387397
388398
0 commit comments