class MyQueue: @property def queue(self): return None class MyMethod: method = MyQueue() class MyChannel: @staticmethod def exchange_declare(*args, **kwargs): return None @staticmethod def queue_declare(*args, **kwargs): return MyMethod @staticmethod def queue_bind(*args, **kwargs): return None @staticmethod def basic_consume(*args, **kwargs): return None @staticmethod def basic_publish(*args, **kwargs): return None @staticmethod def start_consuming(*args, **kwargs): return None class MyBlockingConnection: def __init__(self, *args, **kwargs): ... @staticmethod def channel(): return MyChannel()