def test_perform_rain(self): service = NabWeatherd() writer = MockWriter() service.writer = writer config_t = ( TestNabWeatherdDB.RENNES_LOCATION_JSON, NabWeatherd.UNIT_CELSIUS, "rain_only", 3, None, False, ) expiration = datetime.datetime(2019, 4, 22, 0, 0, 0) async_to_sync(service.perform)(expiration, "today", config_t) self.assertEqual(len(writer.written), 3) packet = writer.written[0] packet_json = json.loads(packet.decode("utf8")) self.assertEqual(packet_json["type"], "info") self.assertEqual(packet_json["info_id"], "nabweatherd_rain") packet = writer.written[1] packet_json = json.loads(packet.decode("utf8")) self.assertEqual(packet_json["type"], "info") self.assertEqual(packet_json["info_id"], "nabweatherd") self.assertFalse("animation" in packet_json) packet = writer.written[2] packet_json = json.loads(packet.decode("utf8")) self.assertEqual(packet_json["type"], "message") self.assertTrue("signature" in packet_json) self.assertTrue("body" in packet_json)
def test_asr(self): config = models.Config.load() config.location = "75005" config.unit = NabWeatherd.UNIT_CELSIUS config.weather_animation_type = "weather" config.save() service = NabWeatherd() writer = MockWriter() service.writer = writer packet = { "type": "asr_event", "nlu": { "intent": "nabweatherd/forecast" } } async_to_sync(service.process_nabd_packet)(packet) self.assertEqual(len(writer.written), 3) packet = writer.written[0] packet_json = json.loads(packet.decode("utf8")) self.assertEqual(packet_json["type"], "info") self.assertEqual(packet_json["info_id"], "nabweatherd_rain") packet = writer.written[1] packet_json = json.loads(packet.decode("utf8")) self.assertEqual(packet_json["type"], "info") self.assertEqual(packet_json["info_id"], "nabweatherd") self.assertTrue("animation" in packet_json) packet = writer.written[2] packet_json = json.loads(packet.decode("utf8")) self.assertEqual(packet_json["type"], "message") self.assertTrue("signature" in packet_json) self.assertTrue("body" in packet_json)
def test_perform(self): service = NabWeatherd() writer = MockWriter() service.writer = writer config_t = ("75005", NabWeatherd.UNIT_CELSIUS, "rain") expiration = datetime.datetime(2019, 4, 22, 0, 0, 0) async_to_sync(service.perform)(expiration, "today", config_t) self.assertEqual(len(writer.written), 2) packet = writer.written[0] packet_json = json.loads(packet.decode("utf8")) self.assertEqual(packet_json["type"], "info") self.assertEqual(packet_json["info_id"], "nabweatherd") self.assertTrue("animation" in packet_json) packet = writer.written[1] packet_json = json.loads(packet.decode("utf8")) self.assertEqual(packet_json["type"], "message") self.assertTrue("signature" in packet_json) self.assertTrue("body" in packet_json)