class DirectoryService(BaseDirectoryService): """ Provides a directory of services and other resources specific to an Org. """ def on_init(self): self.directory = Directory() # For easier interactive debugging self.dss = None self.ds = self.directory.datastore try: self.dss = self.directory.datastore.server[self.directory.datastore.datastore_name] except Exception: pass def register(self, parent='/', key='', attributes={}): return self.directory.register(parent, key, **attributes) def unregister(self, parent='/', key=''): return self.directory.unregister(parent, key) def lookup(self, qualified_key=''): return self.directory.lookup(qualified_key) def find(self, parent='/', pattern=''): raise NotImplementedError()
def test_non_persistent(self): directory_service = Directory() root = directory_service.lookup("/") self.assertEquals(root, None) self.assertEquals(directory_service.register("/","temp"), None) # Create a node root = directory_service.lookup("/temp") self.assertEquals(root, {} ) # The create case entry_old = directory_service.register("/temp", "entry1", foo="awesome") self.assertEquals(entry_old, None) entry_new = directory_service.lookup("/temp/entry1") self.assertEquals(entry_new, {"foo":"awesome"}) # The update case entry_old = directory_service.register("/temp", "entry1", foo="ingenious") self.assertEquals(entry_old, {"foo":"awesome"}) # The delete case entry_old = directory_service.unregister("/temp", "entry1") self.assertEquals(entry_old, {"foo":"ingenious"}) entry_new = directory_service.lookup("/temp/entry1") self.assertEquals(entry_new, None)