def handler_manager(self, mocker, request, inbox_manager):
        hm = AsyncHandlerManager(inbox_manager)

        if request.param == "All handlers set, all stopped":
            for handler_name in all_handlers:
                setattr(hm, handler_name, handler)
            hm.stop()
        elif request.param == "All handlers set, receivers stopped, client events running":
            for handler_name in all_handlers:
                setattr(hm, handler_name, handler)
            hm.stop(receiver_handlers_only=True)
        elif request.param == "All handlers set, all running":
            for handler_name in all_handlers:
                setattr(hm, handler_name, handler)
        elif request.param == "Some receiver and client event handlers set, all stopped":
            hm.on_message_received = handler
            hm.on_method_request_received = handler
            hm.on_connection_state_change = handler
            hm.on_new_sastoken_required = handler
            hm.stop()
        elif (request.param ==
              "Some receiver and client event handlers set, receivers stopped, client events running"
              ):
            hm.on_message_received = handler
            hm.on_method_request_received = handler
            hm.on_connection_state_change = handler
            hm.on_new_sastoken_required = handler
            hm.stop(receiver_handlers_only=True)
        elif request.param == "Some receiver and client event handlers set, all running":
            hm.on_message_received = handler
            hm.on_method_request_received = handler
            hm.on_connection_state_change = handler
            hm.on_new_sastoken_required = handler
        elif request.param == "Some receiver handlers set, all stopped":
            hm.on_message_received = handler
            hm.on_method_request_received = handler
            hm.stop()
        elif request.param == "Some receiver handlers set, all running":
            hm.on_message_received = handler
            hm.on_method_request_received = handler
        elif request.param == "Some client event handlers set, all stopped":
            hm.on_connection_state_change = handler
            hm.on_new_sastoken_required = handler
            hm.stop()
        elif request.param == "Some client event handlers set, all running":
            hm.on_connection_state_change = handler
            hm.on_new_sastoken_required = handler

        yield hm
        hm.stop()
 def handler_manager(self, mocker, request, inbox_manager):
     hm = AsyncHandlerManager(inbox_manager)
     if request.param == "Some receiver handlers running":
         # Set an arbitrary receiver handler
         hm.on_message_received = mocker.MagicMock()
     elif request.param == "Some client event handlers running":
         # Set an arbitrary client event handler
         hm.on_connection_state_change = mocker.MagicMock()
     elif request.param == "Some receiver and some client event handlers running":
         # Set an arbitrary receiver and client event handler
         hm.on_message_received = mocker.MagicMock()
         hm.on_connection_state_change = mocker.MagicMock()
     elif request.param == "All handlers running":
         for handler_name in all_handlers:
             setattr(hm, handler_name, mocker.MagicMock())
     yield hm
     hm.stop()