Beispiel #1
0
 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)
Beispiel #2
0
 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))
Beispiel #3
0
 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
Beispiel #4
0
 def __init__(self):
     RoomBlockingBase.__init__(self)
     self.blockedRooms = PersistentList()
     self.allowed = PersistentList()
Beispiel #5
0
 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)
Beispiel #6
0
 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))