Exemplo n.º 1
0
    def test_condition(self):

        registry = PluginRegistry('dummy')

        @registry.register('mud', condition=False)
        class _plugin_impl:
            pass

        self.assertEqual(list(registry.keys()), [])

        def _plugin_impl_func():
            pass

        registry.register('concrete', _plugin_impl_func, condition=False)
        self.assertEqual(list(registry.keys()), [])
Exemplo n.º 2
0
    def test_condition(self):

        registry = PluginRegistry('dummy')

        @registry.register('mud', condition=False)
        class _plugin_impl:
            pass

        self.assertEqual(list(registry.keys()), [])

        def _plugin_impl_func():
            pass

        registry.register('concrete', _plugin_impl_func, condition=False)
        self.assertEqual(list(registry.keys()), [])
Exemplo n.º 3
0
    def test_event_subscriber(self):

        observed = []

        def observer(*args):
            observed.append(args)

        registry = PluginRegistry('dummy')

        @registry.register('hot')
        class _plugin_impl1:
            pass

        registry.subscribe(observer)

        @registry.register('water')
        class _plugin_impl2:
            pass

        self.assertEqual(observed, [])

        registry.notify(_plugin_impl1)
        registry.notify(_plugin_impl2)

        self.assertEqual(observed[1], (registry, _plugin_impl2))
        self.assertEqual(list(sorted(registry.keys())), ['hot', 'water'])
Exemplo n.º 4
0
    def test_unregister(self):

        registry = PluginRegistry('dummy')
        klass = lambda: 1  # NOQA
        registry.register('dust', klass)
        self.assertEqual(list(registry.keys()), ['dust'])
        self.assertEqual(list(registry.values()), [klass])
        registry.unregister('dust')
    def test_event_subscriber(self):

        observed = []

        def observer(*args):
            observed.append(args)

        registry = PluginRegistry('dummy')
        registry.subscribe(PluginRegistry.EVENT_REGISTER, observer)

        @registry.register('water')
        class _plugin_impl:
            pass

        self.assertEqual(observed[0], (registry, _plugin_impl))
        self.assertEqual(list(registry.keys()), ['water'])
        self.assertRaises(ValueError, registry.subscribe, 'foo', observer)
Exemplo n.º 6
0
    def test_event_subscriber(self):

        observed = []

        def observer(*args):
            observed.append(args)

        registry = PluginRegistry('dummy')
        registry.subscribe(PluginRegistry.EVENT_REGISTER, observer)

        @registry.register('water')
        class _plugin_impl:
            pass

        self.assertEqual(observed[0], (registry, _plugin_impl))
        self.assertEqual(list(registry.keys()), ['water'])
        self.assertRaises(ValueError, registry.subscribe, 'foo', observer)
Exemplo n.º 7
0
    def test_unregister(self):

        registry = PluginRegistry('dummy')
        registry.register('dust', klass=lambda: 1)
        self.assertEqual(list(registry.keys()), ['dust'])
        registry.unregister('dust')