def test_build(self): required_args = [ "logger", "client", "req", "resp", "context", "body", "payload", "ack", "say", "respond", "next", ] arg_params: dict = build_async_required_kwargs( logger=logging.getLogger(__name__), required_arg_names=required_args, request=AsyncBoltRequest(body="", headers={}), response=BoltResponse(status=200), next_func=next, ) args = AsyncArgs(**arg_params) assert args.logger is not None assert args.request is not None assert args.response is not None assert args.client is not None
async def async_matches(self, req: AsyncBoltRequest, resp: BoltResponse) -> bool: return await self.func(**build_async_required_kwargs( logger=self.logger, required_arg_names=self.arg_names, request=req, response=resp, ))
async def request_wired_wrapper() -> None: try: await internal_func(**build_async_required_kwargs( logger=logger, required_arg_names=arg_names, request=request, response=None, )) except Exception as e: logger.error(f"Failed to run an internal function ({e})")
async def async_process( self, *, req: AsyncBoltRequest, resp: BoltResponse, next: Callable[[], Awaitable[BoltResponse]], ) -> BoltResponse: return await self.func(**build_async_required_kwargs( logger=self.logger, required_arg_names=self.arg_names, request=req, response=resp, next_func=next, ))
def test_all_values_from_context(self): req = AsyncBoltRequest(body="", headers={}) req.context["foo"] = "FOO" req.context["bar"] = 123 required_args = ["foo", "bar", "ack"] arg_params: dict = build_async_required_kwargs( logger=logging.getLogger(__name__), required_arg_names=required_args, request=req, response=BoltResponse(status=200), next_func=next, ) assert arg_params["foo"] == "FOO" assert arg_params["bar"] == 123 assert arg_params["ack"] is not None