def test_setPluginInfoClass_for_named_analyzer(self): class SpecificPluginInfo(PluginInfo): pass pl = PluginFileLocator() pl.setPluginPlaces([self.plugin_directory]) newAnalyzer = PluginFileAnalyzerMathingRegex( "mouf", r".*VersionedPlugin\d+\.py$") pl.appendAnalyzer(newAnalyzer) pl.setPluginInfoClass(SpecificPluginInfo, "info_ext") candidates, num = pl.locatePlugins() self.assertEqual(num, 5) self.assertEqual(len(candidates), num) versioned_plugins = [ c for c in candidates if "VersionedPlugin" in c[0] ] self.assertEqual(4, len(versioned_plugins)) for p in versioned_plugins: self.assertTrue(isinstance(p[2], PluginInfo)) simple_plugins = [ c for c in candidates if "VersionedPlugin" not in c[0] ] self.assertEqual(1, len(simple_plugins)) for p in simple_plugins: self.assertTrue(isinstance(p[2], SpecificPluginInfo))
def test_appendAnalyzer(self): pl = PluginFileLocator() pl.setPluginPlaces([self.plugin_directory]) newAnalyzer = PluginFileAnalyzerMathingRegex("mouf",r".*VersionedPlugin\d+\.py$") pl.appendAnalyzer(newAnalyzer) candidates, num = pl.locatePlugins() self.assertEqual(num,5) self.assertEqual(len(candidates),num)
def test_setPluginInfoClass_for_named_analyzer(self): class SpecificPluginInfo(PluginInfo): pass pl = PluginFileLocator() pl.setPluginPlaces([self.plugin_directory]) newAnalyzer = PluginFileAnalyzerMathingRegex("mouf",r".*VersionedPlugin\d+\.py$") pl.appendAnalyzer(newAnalyzer) pl.setPluginInfoClass(SpecificPluginInfo,"info_ext") candidates, num = pl.locatePlugins() self.assertEqual(num,5) self.assertEqual(len(candidates),num) versioned_plugins = [c for c in candidates if "VersionedPlugin" in c[0]] self.assertEqual(4,len(versioned_plugins)) for p in versioned_plugins: self.assertTrue(isinstance(p[2],PluginInfo)) simple_plugins = [c for c in candidates if "VersionedPlugin" not in c[0]] self.assertEqual(1,len(simple_plugins)) for p in simple_plugins: self.assertTrue(isinstance(p[2],SpecificPluginInfo))