def offline_query(draw, instrument=offline_instruments()): """ Strategy for any valid offline query """ query = draw(instrument) # If we have AttrAnd then we don't have GOES if isinstance(query, a.Instrument) and query.value == 'goes': query &= draw(goes_time()) else: query = attr.and_(query, draw(time_attr())) return query
assert urls[-1] == url_end @pytest.mark.remote_data @pytest.mark.parametrize("timerange, url_start, url_end", [(TimeRange('1999/01/10', '1999/01/20'), 'https://umbra.nascom.nasa.gov/goes/fits/1999/go10990110.fits', 'https://umbra.nascom.nasa.gov/goes/fits/1999/go1019990120.fits')]) def test_get_overlap_urls(LCClient, timerange, url_start, url_end): urls = LCClient._get_url_for_timerange(timerange) assert len(urls) == 9 assert urls[0] == url_start assert urls[-1] == url_end @given(goes_time()) def test_can_handle_query(time): ans1 = goes.XRSClient._can_handle_query(time, Instrument('XRS')) assert ans1 is True ans2 = goes.XRSClient._can_handle_query(time) assert ans2 is False ans3 = goes.XRSClient._can_handle_query(time, Instrument('eve')) assert ans3 is False @pytest.mark.remote_data def test_no_satellite(LCClient): with pytest.raises(ValueError): LCClient.search(Time("1950/01/01", "1950/02/02"), Instrument('XRS'))
@pytest.mark.parametrize( "timerange,url_start,url_end", [(TimeRange('1995/06/03', '1995/06/05'), 'http://umbra.nascom.nasa.gov/goes/fits/1995/go07950603.fits', 'http://umbra.nascom.nasa.gov/goes/fits/1995/go07950605.fits'), (TimeRange('2008/06/02', '2008/06/04'), 'http://umbra.nascom.nasa.gov/goes/fits/2008/go1020080602.fits', 'http://umbra.nascom.nasa.gov/goes/fits/2008/go1020080604.fits')]) def test_get_url_for_time_range(timerange, url_start, url_end): urls = LCClient._get_url_for_timerange(timerange) assert isinstance(urls, list) assert urls[0] == url_start assert urls[-1] == url_end @given(goes_time()) def test_can_handle_query(time): ans1 = goes.GOESClient._can_handle_query(time, Instrument('goes')) assert ans1 is True ans2 = goes.GOESClient._can_handle_query(time) assert ans2 is False ans3 = goes.GOESClient._can_handle_query(time, Instrument('eve')) assert ans3 is False def test_no_satellite(): with pytest.raises(ValueError): LCClient.query(Time("1950/01/01", "1950/02/02"), Instrument('goes')) @example(a.Time("2006-08-01", "2006-08-01")) @example(a.Time("1983-05-01", "1983-05-02"))