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()
