Ejemplo n.º 1
0
    def test_register_module(self):
        """
        Registering and deregistering modules
        
        Verifies:
            * only specified modules are added and removed
            * listeners, remotes, interfaces, interface_modules, services are
              registered and deregistered
        """
        manager = ModuleManager()
        module = Bar()
        api = TestAPI()

        # verify everything is registered
        manager.register(module)
        manager.register(api)
        self.assert_(module in manager._modules)
        self.assert_("REMOTE0" in manager._remotes, manager._remotes)
        self.assert_("foo" in manager._remotes["REMOTE0"])
        self.assert_("SIGNAL0" in manager._listeners)
        self.assert_(module.foo in manager._listeners["SIGNAL0"])
        self.assert_((module, module.foo) in manager._interfaces)
        self.assert_(module.foo in manager._services)
        self.assert_(api in manager._interface_modules)

        # verify everything is deregistered
        manager.deregister(module)
        manager.deregister(api)
        self.assertFalse(module in manager._modules)
        self.assertFalse("REMOTE0" in manager._remotes, manager._remotes)
        self.assertFalse("SIGNAL0" in manager._listeners)
        self.assertFalse((module, module.foo) in manager._interfaces)
        self.assertFalse(module.foo in manager._services)
        self.assertFalse(api in manager._interface_modules)