Mercurial > libervia-pubsub
view idavoll/test/test_backend.py @ 150:35977eb964e6
Use uuid.py module [1] for generating unique id's for nodes and items.
Factor out authorization checking.
[1] http://ofxsuite.berlios.de/uuid.py
author | Ralph Meijer <ralphm@ik.nu> |
---|---|
date | Tue, 04 Oct 2005 12:17:01 +0000 |
parents | 48244f3c0c93 |
children | 5191ba7c4df8 |
line wrap: on
line source
from twisted.trial import unittest from twisted.trial.assertions import * from zope.interface import implements from twisted.internet import defer from twisted.words.protocols.jabber import jid from idavoll import backend, storage OWNER = jid.JID('owner@example.com') class testNode: id = 'to-be-deleted' def get_affiliation(self, entity): if entity is OWNER: return defer.succeed('owner') class testStorage: implements(storage.IStorage) def get_node(self, node_id): return defer.succeed(testNode()) def delete_node(self, node_id): if node_id in ['to-be-deleted']: self.backend.delete_called = True return defer.succeed(None) else: return defer.fail(storage.NodeNotFound()) class NodeDeletionServiceTests: pre_delete_called = False delete_called = False def setUpClass(self): self.storage = testStorage() self.storage.backend = self def testDeleteNode(self): def pre_delete(node_id): self.pre_delete_called = True return defer.succeed(None) def cb(result): assert_(self.pre_delete_called) assert_(self.delete_called) self.backend.register_pre_delete(pre_delete) d = self.backend.delete_node('to-be-deleted', OWNER) d.addCallback(cb) class GenericNodeDeletionServiceTestCase(unittest.TestCase, NodeDeletionServiceTests): def setUpClass(self): NodeDeletionServiceTests.setUpClass(self) from idavoll.generic_backend import BackendService, NodeDeletionService bs = BackendService(self.storage) self.backend = NodeDeletionService() self.backend.setServiceParent(bs)