Example #1
0
        def test_normal_no_plugins(self):
            from Products.PluginRegistry.exportimport \
                import importPluginRegistry

            app, registry = self._initRegistry()

            self.assertEqual(len(registry.listPluginTypeInfo()), 0)
            self.assertRaises(KeyError, registry.listPlugins, IFoo)
            self.assertRaises(KeyError, registry.listPlugins, IBar)

            context = DummyImportContext(app, False)
            context._files[
                'pluginregistry.xml'] = _NO_PLUGINS_PLUGINREGISTRY_EXPORT

            importPluginRegistry(context)

            self.assertEqual(len(registry.listPluginTypeInfo()), 2)

            info = registry.listPluginTypeInfo()[0]
            self.assertEqual(info['id'], 'IFoo')
            self.assertEqual(info['title'], 'foo')
            self.assertEqual(info['description'], 'Some plugin interface')

            info = registry.listPluginTypeInfo()[1]
            self.assertEqual(info['id'], 'IBar')
            self.assertEqual(info['title'], 'bar')
            self.assertEqual(info['description'], 'Another plugin interface')

            self.assertEqual(len(registry.listPlugins(IFoo)), 0)
            self.assertEqual(len(registry.listPlugins(IBar)), 0)
Example #2
0
        def test_normal_no_plugins(self):
            from Products.PluginRegistry.exportimport \
                import importPluginRegistry

            app, registry = self._initRegistry(plugins={IFoo: ('foo_plugin_1',
                                                               'foo_plugin_2')},
                                              )

            self.assertEqual(len(registry.listPluginTypeInfo()), 0)
            self.assertRaises(KeyError, registry.listPlugins, IFoo)
            self.assertRaises(KeyError, registry.listPlugins, IBar)

            context = DummyImportContext(app, False)
            context._files['pluginregistry.xml'
                          ] = _NO_PLUGINS_PLUGINREGISTRY_EXPORT

            importPluginRegistry(context)

            self.assertEqual(len(registry.listPluginTypeInfo()), 2)

            info = registry.listPluginTypeInfo()[0]
            self.assertEqual(info['id'], 'IFoo')
            self.assertEqual(info['title'], 'foo')
            self.assertEqual(info['description'], 'Some plugin interface')

            info = registry.listPluginTypeInfo()[1]
            self.assertEqual(info['id'], 'IBar')
            self.assertEqual(info['title'], 'bar')
            self.assertEqual(info['description'], 'Another plugin interface')

            self.assertEqual(len(registry.listPlugins(IFoo)), 0)
            self.assertEqual(len(registry.listPlugins(IBar)), 0)
Example #3
0
        def test_normal_with_plugins_skip_duplicates(self):
            # See http://www.zope.org/Collectors/PAS/52
            from Products.PluginRegistry.exportimport \
                import importPluginRegistry

            app, registry = self._initRegistry()

            self.assertEqual(len(registry.listPluginTypeInfo()), 0)
            self.assertRaises(KeyError, registry.listPlugins, IFoo)
            self.assertRaises(KeyError, registry.listPlugins, IBar)

            context = DummyImportContext(app, False)
            context._files[
                'pluginregistry.xml'] = _NORMAL_PLUGINREGISTRY_EXPORT

            importPluginRegistry(context)
            importPluginRegistry(context)  # twice should not duplicate

            self.assertEqual(len(registry.listPluginTypeInfo()), 2)
Example #4
0
        def test_normal_with_plugins_skip_duplicates(self):
            # See http://www.zope.org/Collectors/PAS/52
            from Products.PluginRegistry.exportimport \
                import importPluginRegistry

            app, registry = self._initRegistry()

            self.assertEqual(len(registry.listPluginTypeInfo()), 0)
            self.assertRaises(KeyError, registry.listPlugins, IFoo)
            self.assertRaises(KeyError, registry.listPlugins, IBar)

            context = DummyImportContext(app, False)
            context._files['pluginregistry.xml'
                          ] = _NORMAL_PLUGINREGISTRY_EXPORT

            importPluginRegistry(context)
            importPluginRegistry(context) # twice should not duplicate

            self.assertEqual(len(registry.listPluginTypeInfo()), 2)
Example #5
0
        def test_empty_skip_purge(self):
            from Products.PluginRegistry.exportimport \
                import importPluginRegistry

            app, registry = self._initRegistry(
                plugin_type_info=_PLUGIN_TYPE_INFO,
                plugins={IFoo: ('foo_plugin_1', 'foo_plugin_2')},
            )

            self.assertEqual(len(registry.listPluginTypeInfo()), 2)
            self.assertEqual(len(registry.listPlugins(IFoo)), 2)
            self.assertEqual(len(registry.listPlugins(IBar)), 0)

            context = DummyImportContext(app, False)
            context._files['pluginregistry.xml'] = _EMPTY_PLUGINREGISTRY_EXPORT

            importPluginRegistry(context)

            self.assertEqual(len(registry.listPluginTypeInfo()), 2)
            self.assertEqual(len(registry.listPlugins(IFoo)), 2)
            self.assertEqual(len(registry.listPlugins(IBar)), 0)
Example #6
0
        def test_empty_skip_purge(self):
            from Products.PluginRegistry.exportimport \
                import importPluginRegistry

            app, registry = self._initRegistry(
                                    plugin_type_info=_PLUGIN_TYPE_INFO,
                                    plugins={IFoo: ('foo_plugin_1',
                                                    'foo_plugin_2')},
                                   )

            self.assertEqual(len(registry.listPluginTypeInfo()), 2)
            self.assertEqual(len(registry.listPlugins(IFoo)), 2)
            self.assertEqual(len(registry.listPlugins(IBar)), 0)

            context = DummyImportContext(app, False)
            context._files['pluginregistry.xml'] = _EMPTY_PLUGINREGISTRY_EXPORT

            importPluginRegistry(context)

            self.assertEqual(len(registry.listPluginTypeInfo()), 2)
            self.assertEqual(len(registry.listPlugins(IFoo)), 2)
            self.assertEqual(len(registry.listPlugins(IBar)), 0)