Exemplo n.º 1
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))
Exemplo n.º 2
0
 def _createTestBlocking(self):
     block = Factory.newRoomBlocking()()
     block.startDate = date(2010, 12, 31)
     block.endDate = date(2011, 1, 1)
     block.createdByUser = self._avatar2
     block.addAllowed(self._avatar4)
     block.message = 'Testing'
     self._blockRoom(block, self._room1)
     self._blockRoom(block, self._room2)
     self._blockRoom(block, self._room3)
     self._blockRoom(block, self._room4)
     self._blockRoom(block, self._room6)
     block.insert()
     return block
Exemplo n.º 3
0
 def _createTestBlocking(self):
     block = Factory.newRoomBlocking()()
     block.startDate = date(2010, 12, 31)
     block.endDate = date(2011, 1, 1)
     block.createdByUser = self._avatar2
     block.addAllowed(self._avatar4)
     block.message = 'Testing'
     self._blockRoom(block, self._room1)
     self._blockRoom(block, self._room2)
     self._blockRoom(block, self._room3)
     self._blockRoom(block, self._room4)
     self._blockRoom(block, self._room6)
     block.insert()
     return block
Exemplo n.º 4
0
 def getByRoom(room, active=-1):
     return Factory.newRoomBlocking().getByRoom(room, active)
Exemplo n.º 5
0
 def getByOwner(owner):
     return Factory.newRoomBlocking().getByOwner(owner)
Exemplo n.º 6
0
 def getById(id):
     return Factory.newRoomBlocking().getById(id)
Exemplo n.º 7
0
 def getAll():
     return Factory.newRoomBlocking().getAll()
Exemplo n.º 8
0
 def getTotalCount():
     return Factory.newRoomBlocking().getTotalCount()
Exemplo n.º 9
0
 def getByDateSpan(begin, end):
     return Factory.newRoomBlocking().getByDateSpan(begin, end)
Exemplo n.º 10
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))
Exemplo n.º 11
0
 def getByRoom(room, active=-1):
     return Factory.newRoomBlocking().getByRoom(room, active)
Exemplo n.º 12
0
 def getByOwner(owner):
     return Factory.newRoomBlocking().getByOwner(owner)
Exemplo n.º 13
0
 def getById(id):
     return Factory.newRoomBlocking().getById(id)
Exemplo n.º 14
0
 def getAll():
     return Factory.newRoomBlocking().getAll()
Exemplo n.º 15
0
 def getTotalCount():
     return Factory.newRoomBlocking().getTotalCount()
Exemplo n.º 16
0
 def getByDate(date):
     return Factory.newRoomBlocking().getByDate(date)
Exemplo n.º 17
0
 def getByDateSpan(begin, end):
     return Factory.newRoomBlocking().getByDateSpan(begin, end)
Exemplo n.º 18
0
 def getByDate(date):
     return Factory.newRoomBlocking().getByDate(date)