示例#1
0
 def test_updateRoom(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     h.rooms = {1: room}
     h.updateRoom(1, "new name")
     self.assertEqual(h.rooms[1].name, "new name")
示例#2
0
 def test_deleteRoom(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     h.rooms = {1: room}
     h.deleteRoom(1)
     self.assertRaises(KeyError, lambda: h.rooms[1])
示例#3
0
 def test_executeMethod_itemDoesNotExist(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     room.items = {}
     h.rooms = {1: room}
     self.assertRaises(KeyError, h.executeMethod, 1, 1, "getState")
示例#4
0
 def test_getState_noItems(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     room.items = {}
     h.rooms = {1: room, 2 : room}
     self.assertEqual(h.getState(), {'states' : []})
示例#5
0
 def test_updateRoom(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     h.rooms = {1: room}
     h.updateRoom(1, "new name")
     self.assertEqual(h.rooms[1].name, "new name")
示例#6
0
 def test_executeMethod_itemDoesNotExist(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     room.items = {}
     h.rooms = {1: room}
     self.assertRaises(KeyError, h.executeMethod, 1, 1, "getState")
示例#7
0
 def test_getState_noItems(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     room.items = {}
     h.rooms = {1: room, 2: room}
     self.assertEqual(h.getState(), {'states': []})
示例#8
0
 def test_deleteRoom(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     h.rooms = {1: room}
     h.deleteRoom(1)
     self.assertRaises(KeyError, lambda: h.rooms[1])
示例#9
0
 def test_executeMethod_methodDoesNotExist(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     self.assertRaises(AttributeError, h.executeMethod, 1, 1, "open")
示例#10
0
 def test_getState(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room, 2 : room}
     self.assertEqual(h.getState(), {'states' : [{"id" : 1, "state" : 1}, {"id" : 1, "state" : 1} ]})
示例#11
0
 def test_executeMethod_methodDoesNotExist(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     self.assertRaises(AttributeError, h.executeMethod, 1, 1, "open")
示例#12
0
 def test_executeMethod(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     self.assertEqual(h.executeMethod(1, 1, "getState"), 1)
示例#13
0
 def test_executeMethod(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     self.assertEqual(h.executeMethod(1, 1, "getState"), 1)
示例#14
0
 def test_deleteItem_invalidItemId(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     self.assertRaises(KeyError, h.deleteItem, 1, 2)
     self.assertFalse(db.items.deleteEntryCalled)
示例#15
0
 def test_deleteItem_invalidItemId(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     self.assertRaises(KeyError, h.deleteItem, 1, 2)
     self.assertFalse(db.items.deleteEntryCalled)
示例#16
0
 def test_updateItem_wrongItemId(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     self.assertRaises(KeyError, h.updateItem, 1, 2, "new name", "new brand", "lightSensor", "new ip")
     self.assertFalse(db.items.updateEntryCalled)
示例#17
0
 def test_deleteItem(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     h.deleteItem(1, 1)
     self.assertRaises(KeyError, lambda: h.rooms[1].items[1])
     self.assertTrue(db.items.deleteEntryCalled)
示例#18
0
 def test_updateItem_wrongItemId(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     self.assertRaises(KeyError, h.updateItem, 1, 2, "new name",
                       "new brand", "lightSensor", "new ip")
     self.assertFalse(db.items.updateEntryCalled)
示例#19
0
 def test_deleteItem(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     h.deleteItem(1, 1)
     self.assertRaises(KeyError, lambda: h.rooms[1].items[1])
     self.assertTrue(db.items.deleteEntryCalled)
示例#20
0
 def test_getHouseStructure(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     h.rooms = {1: room}
     self.assertEqual(h.getStructure(),
                      {'rooms': [{
                          'id': 1,
                          'name': "lounge",
                          'items': []
                      }]})
示例#21
0
 def test_updateItem(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     h.updateItem(1, 1, "new name", "new brand", "lightSensor", "new ip")
     self.assertEqual(room.items[1].name, "new name")
     self.assertEqual(room.items[1].brand, "new brand")
     self.assertEqual(room.items[1]._type, "lightSensor")
     self.assertEqual(room.items[1].ip, "new ip")
     self.assertTrue(db.items.updateEntryCalled)
示例#22
0
 def test_updateItem(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room}
     h.updateItem(1, 1, "new name", "new brand", "lightSensor", "new ip")
     self.assertEqual(room.items[1].name, "new name")
     self.assertEqual(room.items[1].brand, "new brand")
     self.assertEqual(room.items[1]._type, "lightSensor")
     self.assertEqual(room.items[1].ip, "new ip")
     self.assertTrue(db.items.updateEntryCalled)
示例#23
0
    def test_stateChangesTriggered(self):
        db = MockDB()
        house = House(db)
        item = Openable(1, "item1", "mock", "door", "192.168.0.100", house.listenerManager)
        item.stateChanged = MethCallLogger(item.stateChanged)
        room = MockRoom(1, "lounge")
        room.items = {1: item}
        house.rooms = {1: room}

        item.close()

        # Sleep for 3 seconds to give the thread a chance to call checkForStateChange()
        time.sleep(3)

        self.assertTrue(item.stateChanged.was_called)
示例#24
0
 def test_getState(self):
     db = MockDatabase()
     h = House(db)
     item1 = MockItem(1, "mockName", "mockBrand", "motionSensor", "mockIP")
     room = MockRoom(1, "lounge")
     room.items = {1: item1}
     h.rooms = {1: room, 2: room}
     self.assertEqual(
         h.getState(),
         {'states': [{
             "id": 1,
             "state": 1
         }, {
             "id": 1,
             "state": 1
         }]})
示例#25
0
 def test_deleteItem_emptyList(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertRaises(KeyError, h.deleteItem, 1, 1)
     self.assertFalse(db.items.deleteEntryCalled)
示例#26
0
 def test_executeMethod_roomDoesNotExist(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertRaises(KeyError, h.executeMethod, 1, 1, "getState")
示例#27
0
 def test_getState_noRooms(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertEqual(h.getState(), {'states' : []})
示例#28
0
 def test_deleteRoom_emptyList(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertRaises(KeyError, h.deleteRoom, 1)
示例#29
0
 def test_deleteRoom_idNotInDict(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     h.rooms = {1: room}
     self.assertRaises(KeyError, h.deleteRoom, 2)
示例#30
0
 def test_deleteRoom_idNotInDict(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     h.rooms = {1: room}
     self.assertRaises(KeyError, h.deleteRoom, 2)
示例#31
0
 def test_getState_noRooms(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertEqual(h.getState(), {'states': []})
示例#32
0
 def test_deleteRoom_emptyList(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertRaises(KeyError, h.deleteRoom, 1)
示例#33
0
 def test_getHouseStructure_emptylist(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertEqual(h.getStructure(), {'rooms': []})
示例#34
0
 def test_executeMethod_roomDoesNotExist(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertRaises(KeyError, h.executeMethod, 1, 1, "getState")
示例#35
0
 def test_getHouseStructure_emptylist(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertEqual(h.getStructure(), {'rooms': []})
示例#36
0
 def test_deleteItem_emptyList(self):
     db = MockDatabase()
     h = House(db)
     h.rooms = {}
     self.assertRaises(KeyError, h.deleteItem, 1, 1)
     self.assertFalse(db.items.deleteEntryCalled)
示例#37
0
 def test_getHouseStructure(self):
     db = MockDatabase()
     h = House(db)
     room = MockRoom(1, "lounge")
     h.rooms = {1: room}
     self.assertEqual(h.getStructure(), {'rooms': [{'id': 1, 'name': "lounge", 'items': []}]})