def fixture_make_queue(request, make_unique_name):
    """
    Return a factory function that can be used to make a queue for testing.

    :param request: The Pytest request object that contains configuration data.
    :param make_unique_name: A fixture that returns a unique name.
    :return: The factory function to make a test queue.
    """
    def _make_queue(sqs_stubber, sqs_resource):
        """
        Make a queue that can be used for testing. When stubbing is used, a stubbed
        queue is created. When AWS services are used, the queue is deleted after
        the test completes.

        :param sqs_stubber: The SqsStubber object, configured for stubbing or AWS.
        :param sqs_resource: The SQS resource, used to create the queue.
        :return: The test queue.
        """
        queue_name = make_unique_name('queue')
        sqs_stubber.add_response(
            'create_queue',
            expected_params={
                'QueueName': queue_name,
                'Attributes': {}
            },
            service_response={'QueueUrl': 'url-' + queue_name}
        )
        queue = sqs_resource.create_queue(QueueName=queue_name, Attributes={})

        def fin():
            if not sqs_stubber.use_stubs:
                queue.delete()
        request.addfinalizer(fin)

        return queue

    return _make_queue