def _checkParams(self): self._blocking = RoomBlockingBase.getById(int(self._params["blockingId"])); self._room = RoomGUID.parse(self._params["room"]).getRoom(); self._roomBlocking = self._blocking.getBlockedRoom(self._room)
def testIndexes(self): block = self._createTestBlocking() block2 = Factory.newRoomBlocking()() block2.startDate = date(2011, 1, 1) block2.endDate = date(2011, 1, 10) block2.createdByUser = self._avatar3 block2.message = 'Testing 2' self._blockRoom(block2, self._room1) block2.insert() # Test if all indexes work properly self.assertEqual(frozenset(RoomBlockingBase.getAll()), frozenset((block, block2))) self.assertTrue(RoomBlockingBase.getById(0) is None) self.assertEqual(RoomBlockingBase.getById(1), block) self.assertEqual(RoomBlockingBase.getById(2), block2) self.assertTrue(not RoomBlockingBase.getByOwner(self._dummy)) self.assertTrue(not RoomBlockingBase.getByOwner(self._avatar1)) self.assertEqual(frozenset(RoomBlockingBase.getByOwner(self._avatar2)), frozenset((block,))) self.assertEqual(frozenset(RoomBlockingBase.getByOwner(self._avatar3)), frozenset((block2,))) self.assertTrue(not RoomBlockingBase.getByRoom(self._room5)) self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room1)), frozenset((block.getBlockedRoom(self._room1), block2.getBlockedRoom(self._room1)))) self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room2)), frozenset((block.getBlockedRoom(self._room2),))) self.assertTrue(block2.getBlockedRoom(self._room2) is None) self.assertEqual(frozenset(RoomBlockingBase.getByDate(date(2010, 12, 31))), frozenset((block,))) self.assertEqual(frozenset(RoomBlockingBase.getByDate(date(2011, 1, 1))), frozenset((block, block2))) self.assertEqual(frozenset(RoomBlockingBase.getByDate(date(2011, 1, 2))), frozenset((block2,))) self.assertEqual(frozenset(RoomBlockingBase.getByDateSpan(date(2011, 1, 1), date(2011, 1, 2))), frozenset((block, block2))) self.assertEqual(frozenset(RoomBlockingBase.getByDateSpan(date(2011, 1, 2), date(2011, 2, 1))), frozenset((block2,))) self.assertTrue(not RoomBlockingBase.getByDateSpan(date(2011, 2, 1), date(2012, 1, 1))) # Remove a block block.remove() self.assertEqual(len(RoomBlockingBase.getAll()), 1) self.assertTrue(RoomBlockingBase.getById(block.id) is None) self.assertTrue(not RoomBlockingBase.getByOwner(self._avatar2)) self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room1)), frozenset((block2.getBlockedRoom(self._room1),))) self.assertTrue(not RoomBlockingBase.getByRoom(self._room2)) self.assertTrue(not RoomBlockingBase.getByDate(date(2010, 12, 31))) self.assertEqual(frozenset(RoomBlockingBase.getByDate(date(2011, 1, 1))), frozenset((block2,))) self.assertEqual(frozenset(RoomBlockingBase.getByDate(date(2011, 1, 2))), frozenset((block2,))) # Add a blocked room br = self._blockRoom(block2, self._room2) block2.addBlockedRoom(br) # When adding a blocked room, update() may be (and is) required for it to beindexed block2.update() self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room2)), frozenset((block2.getBlockedRoom(self._room2),))) self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room1)), frozenset((block2.getBlockedRoom(self._room1),))) block2.delBlockedRoom(block2.getBlockedRoom(self._room1)) # Deletion has to update indexes immediately as the object will no longer be reachable from its parent block self.assertTrue(not RoomBlockingBase.getByRoom(self._room1)) block2.update() self.assertTrue(not RoomBlockingBase.getByRoom(self._room1))
def _checkParams(self): self._room = CrossLocationQueries.getRooms(roomID=self._params["room_id"])[0] blocking_id = self._params.get('blocking_id') self._blocking = RoomBlockingBase.getById(blocking_id) if blocking_id else None
def __init__(self): RoomBlockingBase.__init__(self) self.blockedRooms = PersistentList() self.allowed = PersistentList()
def _checkParams(self): self._blocking = RoomBlockingBase.getById( int(self._params["blockingId"])) self._room = RoomGUID.parse(self._params["room"]).getRoom() self._roomBlocking = self._blocking.getBlockedRoom(self._room)
def testIndexes(self): block = self._createTestBlocking() block2 = Factory.newRoomBlocking()() block2.startDate = date(2011, 1, 1) block2.endDate = date(2011, 1, 10) block2.createdByUser = self._avatar3 block2.message = 'Testing 2' self._blockRoom(block2, self._room1) block2.insert() # Test if all indexes work properly self.assertEqual(frozenset(RoomBlockingBase.getAll()), frozenset((block, block2))) self.assertTrue(RoomBlockingBase.getById(0) is None) self.assertEqual(RoomBlockingBase.getById(1), block) self.assertEqual(RoomBlockingBase.getById(2), block2) self.assertTrue(not RoomBlockingBase.getByOwner(self._dummy)) self.assertTrue(not RoomBlockingBase.getByOwner(self._avatar1)) self.assertEqual(frozenset(RoomBlockingBase.getByOwner(self._avatar2)), frozenset((block, ))) self.assertEqual(frozenset(RoomBlockingBase.getByOwner(self._avatar3)), frozenset((block2, ))) self.assertTrue(not RoomBlockingBase.getByRoom(self._room5)) self.assertEqual( frozenset(RoomBlockingBase.getByRoom(self._room1)), frozenset((block.getBlockedRoom(self._room1), block2.getBlockedRoom(self._room1)))) self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room2)), frozenset((block.getBlockedRoom(self._room2), ))) self.assertTrue(block2.getBlockedRoom(self._room2) is None) self.assertEqual( frozenset(RoomBlockingBase.getByDate(date(2010, 12, 31))), frozenset((block, ))) self.assertEqual( frozenset(RoomBlockingBase.getByDate(date(2011, 1, 1))), frozenset((block, block2))) self.assertEqual( frozenset(RoomBlockingBase.getByDate(date(2011, 1, 2))), frozenset((block2, ))) self.assertEqual( frozenset( RoomBlockingBase.getByDateSpan(date(2011, 1, 1), date(2011, 1, 2))), frozenset((block, block2))) self.assertEqual( frozenset( RoomBlockingBase.getByDateSpan(date(2011, 1, 2), date(2011, 2, 1))), frozenset((block2, ))) self.assertTrue(not RoomBlockingBase.getByDateSpan( date(2011, 2, 1), date(2012, 1, 1))) # Remove a block block.remove() self.assertEqual(len(RoomBlockingBase.getAll()), 1) self.assertTrue(RoomBlockingBase.getById(block.id) is None) self.assertTrue(not RoomBlockingBase.getByOwner(self._avatar2)) self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room1)), frozenset((block2.getBlockedRoom(self._room1), ))) self.assertTrue(not RoomBlockingBase.getByRoom(self._room2)) self.assertTrue(not RoomBlockingBase.getByDate(date(2010, 12, 31))) self.assertEqual( frozenset(RoomBlockingBase.getByDate(date(2011, 1, 1))), frozenset((block2, ))) self.assertEqual( frozenset(RoomBlockingBase.getByDate(date(2011, 1, 2))), frozenset((block2, ))) # Add a blocked room br = self._blockRoom(block2, self._room2) block2.addBlockedRoom(br) # When adding a blocked room, update() may be (and is) required for it to beindexed block2.update() self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room2)), frozenset((block2.getBlockedRoom(self._room2), ))) self.assertEqual(frozenset(RoomBlockingBase.getByRoom(self._room1)), frozenset((block2.getBlockedRoom(self._room1), ))) block2.delBlockedRoom(block2.getBlockedRoom(self._room1)) # Deletion has to update indexes immediately as the object will no longer be reachable from its parent block self.assertTrue(not RoomBlockingBase.getByRoom(self._room1)) block2.update() self.assertTrue(not RoomBlockingBase.getByRoom(self._room1))