37 lines
		
	
	
		
			993 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			993 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import pytest
 | |
| 
 | |
| from falyx.action import Action, ChainedAction
 | |
| from falyx.execution_registry import ExecutionRegistry as er
 | |
| from falyx.retry_utils import enable_retries_recursively
 | |
| 
 | |
| asyncio_default_fixture_loop_scope = "function"
 | |
| 
 | |
| 
 | |
| # --- Fixtures ---
 | |
| @pytest.fixture(autouse=True)
 | |
| def clean_registry():
 | |
|     er.clear()
 | |
|     yield
 | |
|     er.clear()
 | |
| 
 | |
| 
 | |
| def test_action_enable_retry():
 | |
|     """Test if Action can be created with retry=True."""
 | |
|     action = Action("test_action", lambda: "Hello, World!", retry=True)
 | |
|     assert action.retry_policy.enabled is True
 | |
| 
 | |
| 
 | |
| @pytest.mark.asyncio
 | |
| async def test_enable_retries_recursively():
 | |
|     """Test if Action can be created with retry=True."""
 | |
|     action = Action("test_action", lambda: "Hello, World!")
 | |
|     assert action.retry_policy.enabled is False
 | |
| 
 | |
|     chained_action = ChainedAction(
 | |
|         name="Chained Action",
 | |
|         actions=[action],
 | |
|     )
 | |
| 
 | |
|     enable_retries_recursively(chained_action, policy=None)
 | |
|     assert action.retry_policy.enabled is True
 |