Example #1
0
    def test_find_c_plugin_libs(self, direction, plugin_name, plugin_type,
                                libs):
        with patch('os.walk') as mockwalk:
            mockwalk.return_value = [('', plugin_name, []), ('', [], libs)]

            assert plugin_name, plugin_type == utils.find_c_plugin_libs(
                direction)
Example #2
0
    def fetch_c_plugins_installed(cls, plugin_type, is_config):
        libs = utils.find_c_plugin_libs(plugin_type)
        configs = []
        for name, _type in libs:
            try:
                if _type == 'binary':
                    jdoc = utils.get_plugin_info(name, dir=plugin_type)
                    if jdoc:
                        if 'flag' in jdoc:
                            if common_utils.bit_at_given_position_set_or_unset(
                                    jdoc['flag'],
                                    common_utils.DEPRECATED_BIT_POSITION):
                                raise DeprecationWarning
                        plugin_config = {
                            'name': name,
                            'type': plugin_type,
                            'description':
                            jdoc['config']['plugin']['description'],
                            'version': jdoc['version']
                        }
                        if is_config:
                            plugin_config.update({'config': jdoc['config']})
                        configs.append(plugin_config)
                else:
                    # for c-hybrid plugin
                    hybrid_plugin_config = common.load_and_fetch_c_hybrid_plugin_info(
                        name, is_config)
                    if hybrid_plugin_config:
                        configs.append(hybrid_plugin_config)
            except DeprecationWarning:
                _logger.warning('"{}" plugin is deprecated'.format(name))
            except Exception as ex:
                _logger.exception(ex)

        return configs
Example #3
0
    def fetch_c_plugins_installed(cls, plugin_type, is_config):
        libs = utils.find_c_plugin_libs(plugin_type)
        configs = []
        for l in libs:
            try:
                jdoc = utils.get_plugin_info(l, dir=plugin_type)
                if bool(jdoc):
                    plugin_config = {'name': l,
                                     'type': plugin_type,
                                     'description': jdoc['config']['plugin']['description'],
                                     'version': jdoc['version']
                                     }
                    if is_config:
                        plugin_config.update({'config': jdoc['config']})
                    configs.append(plugin_config)
            except Exception as ex:
                _logger.exception(ex)

        return configs
Example #4
0
 def test_find_c_plugin_libs_if_empty(self, direction):
     with patch('os.walk') as mockwalk:
         mockwalk.return_value = [([], [], [])]
         assert [] == utils.find_c_plugin_libs(direction)