def test_jewish_calendar_sensor_holyness(self):
     """Test Jewish calendar sensor date output in hebrew."""
     test_time = dt(2018, 9, 10)
     sensor = JewishCalSensor(
         name='test', language='hebrew', sensor_type='holyness',
         latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
         diaspora=False)
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(
             sensor.async_update(), self.hass.loop).result()
         self.assertEqual(sensor.state, 1)
 def test_jewish_calendar_sensor_date_output(self):
     """Test Jewish calendar sensor date output."""
     test_time = dt(2018, 9, 3)
     sensor = JewishCalSensor(name='test',
                              language='english',
                              sensor_type='date',
                              latitude=self.TEST_LATITUDE,
                              longitude=self.TEST_LONGITUDE,
                              timezone="UTC",
                              diaspora=False)
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(sensor.async_update(),
                                  self.hass.loop).result()
         self.assertEqual(sensor.state, '23 Elul 5778')
 def test_jewish_calendar_sensor_torah_reading_weekday(self):
     """Test the sensor showing torah reading also on weekdays."""
     test_time = dt(2018, 10, 14)
     sensor = JewishCalSensor(name='test',
                              language='hebrew',
                              sensor_type='weekly_portion',
                              latitude=self.TEST_LATITUDE,
                              longitude=self.TEST_LONGITUDE,
                              timezone="Asia/Jerusalem",
                              diaspora=False)
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(sensor.async_update(),
                                  self.hass.loop).result()
         self.assertEqual(sensor.state, "פרשת לך לך")
 def test_jewish_calendar_sensor_first_stars_jerusalem(self):
     """Test Jewish calendar sensor first stars time in Jerusalem, IL."""
     test_time = dt(2018, 9, 8)
     sensor = JewishCalSensor(name='test',
                              language='hebrew',
                              sensor_type='first_stars',
                              latitude=self.TEST_LATITUDE,
                              longitude=self.TEST_LONGITUDE,
                              timezone="Asia/Jerusalem",
                              diaspora=False)
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(sensor.async_update(),
                                  self.hass.loop).result()
         self.assertEqual(sensor.state, time(19, 21))
 def test_jewish_calendar_sensor_first_stars_ny(self):
     """Test Jewish calendar sensor first stars time in NY, US."""
     test_time = dt(2018, 9, 8)
     sensor = JewishCalSensor(name='test',
                              language='hebrew',
                              sensor_type='first_stars',
                              latitude=40.7128,
                              longitude=-74.0060,
                              timezone=get_time_zone("America/New_York"),
                              diaspora=False)
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(sensor.async_update(),
                                  self.hass.loop).result()
         self.assertEqual(sensor.state, time(19, 48))
 def test_jewish_calendar_sensor_torah_reading(self):
     """Test Jewish calendar sensor torah reading in hebrew."""
     test_time = dt(2018, 9, 8)
     sensor = JewishCalSensor(name='test',
                              language='hebrew',
                              sensor_type='weekly_portion',
                              latitude=self.TEST_LATITUDE,
                              longitude=self.TEST_LONGITUDE,
                              timezone="UTC",
                              diaspora=False)
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(sensor.async_update(),
                                  self.hass.loop).result()
         self.assertEqual(sensor.state, "פרשת נצבים")
 def test_jewish_calendar_sensor(self, time, tzname, latitude, longitude,
                                 language, sensor, diaspora, result):
     """Test Jewish calendar sensor output."""
     tz = get_time_zone(tzname)
     set_default_time_zone(tz)
     test_time = tz.localize(time)
     self.hass.config.latitude = latitude
     self.hass.config.longitude = longitude
     sensor = JewishCalSensor(
         name='test', language=language, sensor_type=sensor,
         latitude=latitude, longitude=longitude,
         timezone=tz, diaspora=diaspora)
     sensor.hass = self.hass
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(
             sensor.async_update(),
             self.hass.loop).result()
         assert sensor.state == result
 def test_jewish_calendar_sensor(self, time, tzname, latitude, longitude,
                                 language, sensor, diaspora, result):
     """Test Jewish calendar sensor output."""
     tz = get_time_zone(tzname)
     set_default_time_zone(tz)
     test_time = tz.localize(time)
     self.hass.config.latitude = latitude
     self.hass.config.longitude = longitude
     sensor = JewishCalSensor(name='test',
                              language=language,
                              sensor_type=sensor,
                              latitude=latitude,
                              longitude=longitude,
                              timezone=tz,
                              diaspora=diaspora)
     sensor.hass = self.hass
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(sensor.async_update(),
                                  self.hass.loop).result()
         assert sensor.state == result
Example #9
0
    def test_shabbat_times_sensor(self, now, candle_lighting, havdalah,
                                  diaspora, tzname, latitude, longitude,
                                  result):
        """Test sensor output for upcoming shabbat/yomtov times."""
        time_zone = get_time_zone(tzname)
        set_default_time_zone(time_zone)
        test_time = time_zone.localize(now)
        for sensor_type, value in result.items():
            if isinstance(value, dt):
                result[sensor_type] = time_zone.localize(value)
        self.hass.config.latitude = latitude
        self.hass.config.longitude = longitude

        if ('upcoming_shabbat_candle_lighting' in result
                and 'upcoming_candle_lighting' not in result):
            result['upcoming_candle_lighting'] = \
                result['upcoming_shabbat_candle_lighting']
        if ('upcoming_shabbat_havdalah' in result
                and 'upcoming_havdalah' not in result):
            result['upcoming_havdalah'] = result['upcoming_shabbat_havdalah']

        for sensor_type, result_value in result.items():
            language = 'english'
            if sensor_type.startswith('hebrew_'):
                language = 'hebrew'
                sensor_type = sensor_type.replace('hebrew_', '')
            sensor = JewishCalSensor(name='test',
                                     language=language,
                                     sensor_type=sensor_type,
                                     latitude=latitude,
                                     longitude=longitude,
                                     timezone=time_zone,
                                     diaspora=diaspora,
                                     havdalah_offset=havdalah,
                                     candle_lighting_offset=candle_lighting)
            sensor.hass = self.hass
            with patch('homeassistant.util.dt.now', return_value=test_time):
                run_coroutine_threadsafe(sensor.async_update(),
                                         self.hass.loop).result()
                assert sensor.state == result_value, "Value for {}".format(
                    sensor_type)
 def test_issur_melacha_sensor(self, now, candle_lighting, havdalah,
                               diaspora, tzname, latitude, longitude,
                               result):
     """Test Issur Melacha sensor output."""
     time_zone = get_time_zone(tzname)
     set_default_time_zone(time_zone)
     test_time = time_zone.localize(now)
     self.hass.config.latitude = latitude
     self.hass.config.longitude = longitude
     sensor = JewishCalSensor(
         name='test', language='english',
         sensor_type='issur_melacha_in_effect',
         latitude=latitude, longitude=longitude,
         timezone=time_zone, diaspora=diaspora, havdalah_offset=havdalah,
         candle_lighting_offset=candle_lighting)
     sensor.hass = self.hass
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(
             sensor.async_update(),
             self.hass.loop).result()
         assert sensor.state == result
    def test_shabbat_times_sensor(self, now, candle_lighting, havdalah,
                                  diaspora, tzname, latitude, longitude,
                                  result):
        """Test sensor output for upcoming shabbat/yomtov times."""
        time_zone = get_time_zone(tzname)
        set_default_time_zone(time_zone)
        test_time = time_zone.localize(now)
        for sensor_type, value in result.items():
            if isinstance(value, dt):
                result[sensor_type] = time_zone.localize(value)
        self.hass.config.latitude = latitude
        self.hass.config.longitude = longitude

        if ('upcoming_shabbat_candle_lighting' in result
                and 'upcoming_candle_lighting' not in result):
            result['upcoming_candle_lighting'] = \
                result['upcoming_shabbat_candle_lighting']
        if ('upcoming_shabbat_havdalah' in result
                and 'upcoming_havdalah' not in result):
            result['upcoming_havdalah'] = result['upcoming_shabbat_havdalah']

        for sensor_type, result_value in result.items():
            language = 'english'
            if sensor_type.startswith('hebrew_'):
                language = 'hebrew'
                sensor_type = sensor_type.replace('hebrew_', '')
            sensor = JewishCalSensor(
                name='test', language=language, sensor_type=sensor_type,
                latitude=latitude, longitude=longitude,
                timezone=time_zone, diaspora=diaspora,
                havdalah_offset=havdalah,
                candle_lighting_offset=candle_lighting)
            sensor.hass = self.hass
            with patch('homeassistant.util.dt.now', return_value=test_time):
                run_coroutine_threadsafe(
                    sensor.async_update(),
                    self.hass.loop).result()
                assert sensor.state == result_value, "Value for {}".format(
                    sensor_type)
Example #12
0
 def test_issur_melacha_sensor(self, now, candle_lighting, havdalah,
                               diaspora, tzname, latitude, longitude,
                               result):
     """Test Issur Melacha sensor output."""
     time_zone = get_time_zone(tzname)
     set_default_time_zone(time_zone)
     test_time = time_zone.localize(now)
     self.hass.config.latitude = latitude
     self.hass.config.longitude = longitude
     sensor = JewishCalSensor(name='test',
                              language='english',
                              sensor_type='issur_melacha_in_effect',
                              latitude=latitude,
                              longitude=longitude,
                              timezone=time_zone,
                              diaspora=diaspora,
                              havdalah_offset=havdalah,
                              candle_lighting_offset=candle_lighting)
     sensor.hass = self.hass
     with patch('homeassistant.util.dt.now', return_value=test_time):
         run_coroutine_threadsafe(sensor.async_update(),
                                  self.hass.loop).result()
         assert sensor.state == result