Exemple #1
0
def get_test_result_extensions(*, exclude_names=None):
    """
    Get the available test result extensions.

    The extensions are ordered by their entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__, exclude_names=exclude_names)
    for name, extension in extensions.items():
        extension.TEST_RESULT_NAME = name
    return order_extensions_by_name(extensions)
Exemple #2
0
def get_package_selection_extensions():
    """
    Get the available package selection extensions.

    The extensions are ordered by their entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name, extension in extensions.items():
        extension.PACKAGE_SELECTION_NAME = name
    return order_extensions_by_name(extensions)
Exemple #3
0
def get_base_handler_extensions():
    """
    Get the available base handler extensions.

    The extensions are ordered by their entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name, extension in extensions.items():
        extension.BASE_HANDLER_NAME = name
    return order_extensions_by_name(extensions)
Exemple #4
0
def get_verb_extensions():
    """
    Get the available verb extensions.

    The extensions are ordered by their entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name, extension in extensions.items():
        extension.VERB_NAME = name
    return order_extensions_by_name(extensions)
Exemple #5
0
def get_task_extensions(task_name, *, unique_instance=False):
    """
    Get the available task extensions.

    The extensions are ordered by their entry point name.

    :param str task_name: The task name identifying a group of task extensions
    :param bool unique_instance: The flag if the returned instances should be
      unique or cached instances can be returned instead
    :rtype: OrderedDict
    """
    extensions = instantiate_extensions('%s.%s' % (__name__, task_name),
                                        unique_instance=unique_instance)
    for name in list(extensions.keys()):
        extension = extensions[name]
        assert hasattr(extension, task_name)
        extension.TASK_NAME = task_name
        extension.PACKAGE_TYPE = name
    return order_extensions_by_name(extensions)
Exemple #6
0
def test_order_extensions_by_name():
    with EntryPointContext(foo=ExtensionA, bar=ExtensionB, baz=ExtensionC):
        extensions = instantiate_extensions('group')
    # ensure correct order based on name
    ordered_extensions = order_extensions_by_name(extensions)
    assert list(ordered_extensions.keys()) == ['bar', 'baz', 'foo']