@@ -550,3 +550,39 @@ async def execute(self, inputs, context):
550550 return ActionResult (data = {"greeting" : "second" })
551551
552552 assert integration ._action_handlers ["test_action" ] is Second
553+
554+
555+ # ── Abstract base class pass-through ───────────────────────────────────────
556+
557+
558+ async def test_action_handler_abstract_execute_returns_none ():
559+ """super().execute() on the ABC body executes the `pass` and returns None."""
560+
561+ class Concrete (ActionHandler ):
562+ async def execute (self , inputs , context ):
563+ return await super ().execute (inputs , context )
564+
565+ result = await Concrete ().execute ({}, None )
566+ assert result is None
567+
568+
569+ async def test_polling_trigger_handler_abstract_poll_returns_none ():
570+ """super().poll() on the ABC body executes the `pass` and returns None."""
571+
572+ class Concrete (PollingTriggerHandler ):
573+ async def poll (self , inputs , last_poll_ts , context ):
574+ return await super ().poll (inputs , last_poll_ts , context )
575+
576+ result = await Concrete ().poll ({}, None , None )
577+ assert result is None
578+
579+
580+ async def test_connected_account_handler_abstract_get_account_info_returns_none ():
581+ """super().get_account_info() on the ABC body executes the `pass` and returns None."""
582+
583+ class Concrete (ConnectedAccountHandler ):
584+ async def get_account_info (self , context ):
585+ return await super ().get_account_info (context )
586+
587+ result = await Concrete ().get_account_info (None )
588+ assert result is None
0 commit comments