def frozen_date(): """ Test against a known, rarely changing date, within range. API covers -7 to +90 days from current date. Requests using the free API are currently limited to 50 per day. So choose one datetime "per season", and use requests_cache to avoid repeat requests. """ date = date_in_range() dt = datetime.datetime.combine(date, datetime.time(12, 0, 0)) with freeze_time(dt): yield dt
def test_date_in_range(frozen_date_over_year): delta = date_in_range() - frozen_date_over_year assert datetime.timedelta(days=-7) < delta < datetime.timedelta(days=90)