def test_create_plugin(subc): plugin = mock_attr(name='plugin_name') subc.return_value = [plugin, mock_attr(name='foo')] options, parent = Mock(), Mock() result_plugin = plugins.create_plugin('plugin_name', options, parent) plugin.assert_called_with(options, parent) eq_(result_plugin, plugin()) eq_(plugins.create_plugin('undefined', options, parent), None)
def get_plugins(self): log.info('Loading plugins...') plugins = [] objects = self.nodes if self.multiple_nodes: objects = [self] + objects for obj in objects: obj_plugins = obj.stretch_data.get('plugins') if obj_plugins: for name, options in obj_plugins.iteritems(): plugins.append(create_plugin(name, options, obj)) return plugins