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)
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)
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)
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)
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)
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']