def test_forecast_daily(): HTTPretty.register_uri( HTTPretty.GET, 'https://api.forecast.io/forecast/1234/38.9717,-95.235', body=open('tests/full.json', 'r').read(), content_type='text/json') forecast = Forecast(apikey, latitude=latitude, longitude=longitude) daily = forecast.get_daily() assert 'data' in daily.keys() assert 'icon' in daily.keys() assert 'summary' in daily.keys() assert daily['icon'] == u'rain' assert daily['summary'] == u'Mixed precipitation off-and-on throughout the week; temperatures peaking at 70\xb0 on Sunday.' assert len(daily['data']) == 8 assert 'cloudCover' in daily['data'][0].keys() assert 'humidity' in daily['data'][0].keys() assert 'icon' in daily['data'][0].keys() assert 'precipIntensity' in daily['data'][0].keys() assert 'precipType' in daily['data'][0].keys() assert 'pressure' in daily['data'][0].keys() assert 'summary' in daily['data'][0].keys() assert 'sunriseTime' in daily['data'][0].keys() assert 'sunsetTime' in daily['data'][0].keys() assert 'temperatureMax' in daily['data'][0].keys() assert 'temperatureMaxTime' in daily['data'][0].keys() assert 'temperatureMin' in daily['data'][0].keys() assert 'temperatureMinTime' in daily['data'][0].keys() assert 'time' in daily['data'][0].keys() assert 'visibility' in daily['data'][0].keys() assert 'windBearing' in daily['data'][0].keys() assert 'windSpeed' in daily['data'][0].keys() assert daily['data'][0]['temperatureMax'] == 63.85 assert daily['data'][0]['temperatureMin'] == 35.05 assert daily['data'][0]['time'] == datetime(2013, 3, 28, 0, 0) assert daily['data'][0]['sunriseTime'] == datetime(2013, 3, 28, 7, 12, 29) assert daily['data'][0]['sunsetTime'] == datetime(2013, 3, 28, 19, 41, 39) assert daily['data'][0]['temperatureMaxTime'] == datetime(2013, 3, 28, 16, 0) assert daily['data'][0]['temperatureMinTime'] == datetime(2013, 3, 28, 7, 0)
def test_forecast_daily(): body_fixture = open('tests/fixtures/full.json', 'r').read() httpretty.register_uri(httpretty.GET, API_URL, body=body_fixture, content_type='text/json') forecast = Forecast(API_KEY, latitude=LATITUDE, longitude=LONGITUDE) daily = forecast.get_daily() assert 'data' in daily.keys() assert 'icon' in daily.keys() assert 'summary' in daily.keys() assert daily['icon'] == u'rain' assert daily['summary'] == u'Mixed precipitation off-and-on throughout the week; temperatures peaking at 70\xb0 on Sunday.' assert len(daily['data']) == 8 assert 'cloudCover' in daily['data'][0].keys() assert 'humidity' in daily['data'][0].keys() assert 'icon' in daily['data'][0].keys() assert 'precipIntensity' in daily['data'][0].keys() assert 'precipType' in daily['data'][0].keys() assert 'pressure' in daily['data'][0].keys() assert 'summary' in daily['data'][0].keys() assert 'sunriseTime' in daily['data'][0].keys() assert 'sunsetTime' in daily['data'][0].keys() assert 'temperatureMax' in daily['data'][0].keys() assert 'temperatureMaxTime' in daily['data'][0].keys() assert 'temperatureMin' in daily['data'][0].keys() assert 'temperatureMinTime' in daily['data'][0].keys() assert 'time' in daily['data'][0].keys() assert 'visibility' in daily['data'][0].keys() assert 'windBearing' in daily['data'][0].keys() assert 'windSpeed' in daily['data'][0].keys() assert daily['data'][0]['temperatureMax'] == 63.85 assert daily['data'][0]['temperatureMin'] == 35.05 assert str(daily['data'][0]['time'].astimezone(pytz.utc)) == str(pytz.utc.localize(datetime(2013, 3, 28, 5, 0))) assert str(daily['data'][0]['sunriseTime'].astimezone(pytz.utc)) == str(pytz.utc.localize(datetime(2013, 3, 28, 12, 12, 29))) assert str(daily['data'][0]['sunsetTime'].astimezone(pytz.utc)) == str(pytz.utc.localize(datetime(2013, 3, 29, 00, 41, 39))) assert str(daily['data'][0]['temperatureMaxTime'].astimezone(pytz.utc)) == str(pytz.utc.localize(datetime(2013, 3, 28, 21, 0))) assert str(daily['data'][0]['temperatureMinTime'].astimezone(pytz.utc)) == str(pytz.utc.localize(datetime(2013, 3, 28, 12, 0)))