Exemplo n.º 1
0
 def setUp(self):
     self.session_registry = SessionPluginRegistry()
      
     class TranslateSessionPlugin(object):
         name = 'translate'
         regex = r'^translate (?P<from>\w+) (?P<to>\w+)$'
     
     self.translate = TranslateSessionPlugin
Exemplo n.º 2
0
class SessionPluginRegistryTest(TestCase):

    def setUp(self):
        self.session_registry = SessionPluginRegistry()
         
        class TranslateSessionPlugin(object):
            name = 'translate'
            regex = r'^translate (?P<from>\w+) (?P<to>\w+)$'
        
        self.translate = TranslateSessionPlugin


    def test_register_plugin(self):
        
        assert 0 == len(self.session_registry.plugins)
        
        self.session_registry.register(self.translate)

        assert 1 == len(self.session_registry.plugins)
        assert (re.compile(self.translate.regex), self.translate) == \
                self.session_registry.plugins[self.translate.name]
        
        class OtherTranslatePlugin(object):
            name = 'translate'
            regex = r'*'

        # ignore duplicates
        self.session_registry.register(OtherTranslatePlugin)
        
        assert 1 == len(self.session_registry.plugins)

        assert (re.compile(self.translate.regex), self.translate) == \
                self.session_registry.plugins[self.translate.name]


    def test_unregister_plugin_by_name(self):
        
        assert 0 == len(self.session_registry.plugins)
        
        self.session_registry.register(self.translate)
        
        assert 1 == len(self.session_registry.plugins)
        
        self.session_registry.unregister(self.translate.name)
        
        assert 0 == len(self.session_registry.plugins)


    def test_unregister_plugin_by_callable(self):
        
        self.session_registry.register(self.translate)
        
        assert 1 == len(self.session_registry.plugins)
        
        self.session_registry.unregister(self.translate)     # by callable, using ``name`` attribute
        
        assert 0 == len(self.session_registry.plugins)


    def test_clear(self):
        self.session_registry.register(self.translate)
        
        assert 1 == len(self.session_registry.plugins)
        
        self.session_registry.clear()
        
        assert 0 == len(self.session_registry.plugins)