def METHOD_NAME() -> None:
    """Test interrupted workflow.
    Close bridge after setting three client messages.
    """
    # Prepare
    rounds = 5
    client_messages_received: List[ClientMessage] = []
    bridge = GrpcBridge()
    ins_wrapper_iterator = bridge.ins_wrapper_iterator()
    worker_thread = start_worker(rounds, bridge, client_messages_received)
    raised_error: Union[GrpcBridgeClosed, StopIteration, None] = None
    # Execute
    for i in range(rounds):
        try:
            _ = next(ins_wrapper_iterator)
            bridge.set_res_wrapper(ResWrapper(client_message=ClientMessage()))
            # Close the bridge after the third client message is set.
            # This might interrupt consumption of the message.
            if i == 2:
                # As the bridge is closed while ins_wrapper_iterator is not
                # waiting/blocking for next message it should raise StopIteration
                # on next invocation.
                bridge.close()
        except GrpcBridgeClosed as err:
            raised_error = err
            break
        except StopIteration as err:
            raised_error = err
            break
    # Wait for thread join before finishing the test
    worker_thread.join(timeout=1)
    # Assert
    assert len(client_messages_received) == 2
    assert isinstance(raised_error, StopIteration)