def test_get_relevant_item(self): load_mocks() oh = OpenHAB(openhab_mock_base) light_apartment = oh.get_relevant_items("Licht", oh.get_location("wohnung")) self.assertIsInstance(light_apartment, set) self.assertEqual(len(light_apartment), 3) self.assertIn(oh.items["Lampe_Esszimmer"], light_apartment) self.assertIn(oh.items["Lampe_Vitrine"], light_apartment) self.assertIn(oh.items["Lampe_Bett"], light_apartment) light_diningroom = oh.get_relevant_items("Licht", oh.get_location("esszimmer")) self.assertIsInstance(light_diningroom, set) self.assertEqual(len(light_diningroom), 2) self.assertIn(oh.items["Lampe_Esszimmer"], light_diningroom) self.assertIn(oh.items["Lampe_Vitrine"], light_diningroom) stereo = oh.get_relevant_items("Anlage", None) self.assertIsInstance(stereo, set) self.assertEqual(len(stereo), 1) self.assertIn(oh.items["Anlage"], stereo) light_and_stereo = oh.get_relevant_items( ["Licht", "Anlage"], oh.get_location("schlafzimmer")) self.assertIsInstance(light_and_stereo, set) self.assertEqual(len(light_and_stereo), 2) self.assertIn(oh.items["Lampe_Bett"], light_and_stereo) self.assertIn(oh.items["Anlage"], light_and_stereo)
def test_get_state(self): load_mocks() add_get_state_mock() oh = OpenHAB(openhab_mock_base) state = oh.get_state(oh.items['Lampe_Bett']) self.assertEqual("OFF", state)
def test_send_command(self): load_mocks() add_item_command_mock() oh = OpenHAB("http://localhost:8080") light_dining = oh.items["Lampe_Esszimmer"] stereo = oh.items["Anlage_An_Aus"] oh.send_command_to_devices([light_dining, stereo], "OFF")
def test_get_location_by_tag(self): load_mocks() oh = OpenHAB(openhab_mock_base) location = oh.get_location("schlafzimmer") self.assertIsInstance(location, Item) self.assertTrue(location.is_location()) self.assertFalse(location.is_equipment()) self.assertFalse(location.is_point())
def test_switch_on_callback_anlage(self): load_mocks() add_anlage_an_aus_command_mock() assistant = get_test_assistant(openhab_mock_base) success, message = assistant.callback( TestIntentMessage( TestIntent(user_intent("switchDeviceOn")), TestSlots(dict(device=TestSlot([TestValue("anlage")]))))) self.assertTrue(success) self.assertEqual("Ich habe dir die anlage eingeschaltet.", message)
def test_switch_on_callback_empty(self): load_mocks() assistant = get_test_assistant(openhab_mock_base) success, message = assistant.callback( TestIntentMessage(TestIntent(user_intent("switchDeviceOn")), TestSlots({}))) self.assertFalse(success) self.assertEqual( "Ich habe nicht verstanden, welches Gerät du einschalten möchtest.", message)
def test_get_items_with_attributes(self): load_mocks() oh = OpenHAB(openhab_mock_base) items = oh.get_items_with_attributes( "Point_Measurement", "Property_Temperature", location=oh.get_location("wohnzimmer")) self.assertIsInstance(items, list) self.assertEqual(len(items), 1) self.assertIn(oh.items["Temperature_Livingroom"], items)
def test_increase_volume(self): load_mocks() add_anlage_volume_command_mock() assistant = get_test_assistant(openhab_mock_base) success, message = assistant.callback( TestIntentMessage( TestIntent(user_intent("increaseProperty")), TestSlots(dict(property=TestSlot([TestValue("lautstärke")]))))) self.assertTrue(success) self.assertEqual("Ich habe die lautstärke im schlafzimmer erhöht.", message)
def test_get_temperature_callback(self): load_mocks() add_get_temperature_mock() assistant = get_test_assistant(openhab_mock_base) success, message = assistant.callback( TestIntentMessage( TestIntent(user_intent("getTemperature")), TestSlots(dict(room=TestSlot([TestValue("wohnzimmer")]))))) self.assertIsNone(success) self.assertEqual("Die Temperatur im wohnzimmer beträgt 23,1 Grad.", message)
def test_switch_on_callback_unknown_room(self): load_mocks() assistant = get_test_assistant(openhab_mock_base) success, message = assistant.callback( TestIntentMessage( TestIntent(user_intent("switchDeviceOn")), TestSlots(dict(room=TestSlot([TestValue("blubbzimmer")]))))) self.assertFalse(success) self.assertEqual( "Ich habe keinen Ort mit der Bezeichnung blubbzimmer gefunden.", message)
def test_play_wohnzimmer(self): load_mocks() add_player_command_mock() assistant = get_test_assistant(openhab_mock_base) success, message = assistant.callback( TestIntentMessage( TestIntent(user_intent("playMedia")), TestSlots(dict(room=TestSlot([TestValue("wohnzimmer")]))))) self.assertTrue(success) self.assertEqual("Ich habe die Wiedergabe im wohnzimmer fortgesetzt.", message)
def test_increase_brightness(self): load_mocks() add_esszimmer_lights_command_mock() assistant = get_test_assistant(openhab_mock_base) success, message = assistant.callback( TestIntentMessage( TestIntent(user_intent("increaseProperty")), TestSlots( dict(property=TestSlot([TestValue("helligkeit")]), room=TestSlot([TestValue("esszimmer")]))))) self.assertTrue(success) self.assertEqual("Ich habe die Helligkeit im esszimmer verstärkt.", message)
def test_get_injections(self): load_mocks() oh = OpenHAB(openhab_mock_base) injections = oh.get_injections() self.assertIsInstance(injections, tuple) self.assertEqual(len(injections), 2) items, locations = injections self.assertIsInstance(items, list) self.assertIsInstance(locations, list) self.assertIn("fernseher", items) self.assertNotIn("fernseher", locations) self.assertIn("schlafzimmer", locations) self.assertNotIn("schlafzimmer", items)
def test_get_not_existing_location(self): load_mocks() oh = OpenHAB(openhab_mock_base) location = oh.get_location("NotExisting") self.assertIsNone(location)