comparison sat_pubsub/test/test_storage.py @ 266:560b6cdc50b2 0.1.0

fix the backend and storage tests
author souliane <souliane@mailoo.org>
date Sat, 22 Feb 2014 08:05:03 +0100
parents d55620ceafed
children b757c29b20d7
comparison
equal deleted inserted replaced
265:89493845d3dd 266:560b6cdc50b2
60 from twisted.trial import unittest 60 from twisted.trial import unittest
61 from twisted.words.protocols.jabber import jid 61 from twisted.words.protocols.jabber import jid
62 from twisted.internet import defer 62 from twisted.internet import defer
63 from twisted.words.xish import domish 63 from twisted.words.xish import domish
64 64
65 from sat_pubsub import error, iidavoll 65 from sat_pubsub import error, iidavoll, const
66 66
67 OWNER = jid.JID('owner@example.com/Work') 67 OWNER = jid.JID('owner@example.com/Work')
68 SUBSCRIBER = jid.JID('subscriber@example.com/Home') 68 SUBSCRIBER = jid.JID('subscriber@example.com/Home')
69 SUBSCRIBER_NEW = jid.JID('new@example.com/Home') 69 SUBSCRIBER_NEW = jid.JID('new@example.com/Home')
70 SUBSCRIBER_TO_BE_DELETED = jid.JID('to_be_deleted@example.com/Home') 70 SUBSCRIBER_TO_BE_DELETED = jid.JID('to_be_deleted@example.com/Home')
164 "pubsub#persist_items": True, 164 "pubsub#persist_items": True,
165 "pubsub#deliver_payloads": True, 165 "pubsub#deliver_payloads": True,
166 "pubsub#send_last_published_item": 'on_sub', 166 "pubsub#send_last_published_item": 'on_sub',
167 "pubsub#node_type": 'leaf', 167 "pubsub#node_type": 'leaf',
168 "pubsub#access_model": 'open', 168 "pubsub#access_model": 'open',
169 const.OPT_PUBLISH_MODEL: const.VAL_PMODEL_OPEN
169 } 170 }
170 171
171 def unsetPersistItems(_): 172 def unsetPersistItems(_):
172 config["pubsub#persist_items"] = False 173 config["pubsub#persist_items"] = False
173 174
361 return d 362 return d
362 363
363 364
364 def test_storeItems(self): 365 def test_storeItems(self):
365 def cb1(void): 366 def cb1(void):
366 return self.node.getItemsById(['new']) 367 return self.node.getItemsById("", False, ['new'])
367 368
368 def cb2(result): 369 def cb2(result):
369 self.assertEqual(ITEM_NEW.toXml(), result[0].toXml()) 370 self.assertEqual(ITEM_NEW.toXml(), result[0].toXml())
370 371
371 d = self.node.storeItems([ITEM_NEW], PUBLISHER) 372 d = self.node.storeItems([(const.VAL_AMODEL_DEFAULT, {}, ITEM_NEW)], PUBLISHER)
372 d.addCallback(cb1) 373 d.addCallback(cb1)
373 d.addCallback(cb2) 374 d.addCallback(cb2)
374 return d 375 return d
375 376
376 377
377 def test_storeUpdatedItems(self): 378 def test_storeUpdatedItems(self):
378 def cb1(void): 379 def cb1(void):
379 return self.node.getItemsById(['current']) 380 return self.node.getItemsById("", False, ['current'])
380 381
381 def cb2(result): 382 def cb2(result):
382 self.assertEqual(ITEM_UPDATED.toXml(), result[0].toXml()) 383 self.assertEqual(ITEM_UPDATED.toXml(), result[0].toXml())
383 384
384 d = self.node.storeItems([ITEM_UPDATED], PUBLISHER) 385 d = self.node.storeItems([(const.VAL_AMODEL_DEFAULT, {}, ITEM_UPDATED)], PUBLISHER)
385 d.addCallback(cb1) 386 d.addCallback(cb1)
386 d.addCallback(cb2) 387 d.addCallback(cb2)
387 return d 388 return d
388 389
389 390
390 def test_removeItems(self): 391 def test_removeItems(self):
391 def cb1(result): 392 def cb1(result):
392 self.assertEqual(['to-be-deleted'], result) 393 self.assertEqual(['to-be-deleted'], result)
393 return self.node.getItemsById(['to-be-deleted']) 394 return self.node.getItemsById("", False, ['to-be-deleted'])
394 395
395 def cb2(result): 396 def cb2(result):
396 self.assertEqual(0, len(result)) 397 self.assertEqual(0, len(result))
397 398
398 d = self.node.removeItems(['to-be-deleted']) 399 d = self.node.removeItems(['to-be-deleted'])
412 413
413 def test_getItems(self): 414 def test_getItems(self):
414 def cb(result): 415 def cb(result):
415 items = [item.toXml() for item in result] 416 items = [item.toXml() for item in result]
416 self.assertIn(ITEM.toXml(), items) 417 self.assertIn(ITEM.toXml(), items)
417 418 d = self.node.getItems("", False)
418 d = self.node.getItems()
419 d.addCallback(cb) 419 d.addCallback(cb)
420 return d 420 return d
421 421
422 422
423 def test_lastItem(self): 423 def test_lastItem(self):
424 def cb(result): 424 def cb(result):
425 self.assertEqual(1, len(result)) 425 self.assertEqual(1, len(result))
426 self.assertEqual(ITEM.toXml(), result[0].toXml()) 426 self.assertEqual(ITEM.toXml(), result[0].toXml())
427 427
428 d = self.node.getItems(1) 428 d = self.node.getItems("", False, 1)
429 d.addCallback(cb) 429 d.addCallback(cb)
430 return d 430 return d
431 431
432 432
433 def test_getItemsById(self): 433 def test_getItemsById(self):
434 def cb(result): 434 def cb(result):
435 self.assertEqual(1, len(result)) 435 self.assertEqual(1, len(result))
436 436
437 d = self.node.getItemsById(['current']) 437 d = self.node.getItemsById("", False, ['current'])
438 d.addCallback(cb) 438 d.addCallback(cb)
439 return d 439 return d
440 440
441 441
442 def test_getNonExistingItemsById(self): 442 def test_getNonExistingItemsById(self):
443 def cb(result): 443 def cb(result):
444 self.assertEqual(0, len(result)) 444 self.assertEqual(0, len(result))
445 445
446 d = self.node.getItemsById(['non-existing']) 446 d = self.node.getItemsById("", False, ['non-existing'])
447 d.addCallback(cb) 447 d.addCallback(cb)
448 return d 448 return d
449 449
450 450
451 def test_purge(self): 451 def test_purge(self):
453 d = node.purge() 453 d = node.purge()
454 d.addCallback(lambda _: node) 454 d.addCallback(lambda _: node)
455 return d 455 return d
456 456
457 def cb2(node): 457 def cb2(node):
458 return node.getItems() 458 return node.getItems("", False)
459 459
460 def cb3(result): 460 def cb3(result):
461 self.assertEqual([], result) 461 self.assertEqual([], result)
462 462
463 d = self.s.getNode('to-be-purged') 463 d = self.s.getNode('to-be-purged')