def test_can_handle_query(time): LCClient = norh.NoRHClient() ans1 = LCClient._can_handle_query(time, a.Instrument.norh) assert ans1 is True ans1 = LCClient._can_handle_query(time, a.Instrument.norh, a.Wavelength(10 * u.GHz)) assert ans1 is True ans2 = LCClient._can_handle_query(time) assert ans2 is False @pytest.mark.remote_data @pytest.mark.parametrize("wave", [a.Wavelength(17 * u.GHz), a.Wavelength(34 * u.GHz)]) @given(time=range_time(Time('1992-6-1'))) @settings(max_examples=2, deadline=50000) def test_query(time, wave): LCClient = norh.NoRHClient() qr1 = LCClient.search(time, a.Instrument.norh, wave) assert isinstance(qr1, QueryResponse) # Not all hypothesis queries are going to produce results, and if qr1: # There are no observations everyday # so the results found have to be equal or later than the queried time # (looking at the date because it may search for miliseconds, but only date is available) assert qr1.time_range().start.strftime( '%Y-%m-%d') >= time.start.strftime('%Y-%m-%d') # and the end time equal or smaller. # hypothesis can give same start-end, but the query will give you from start to end (so +1) assert qr1.time_range().end <= time.end + TimeDelta(1 * u.day)
@given(time_attr()) def test_can_handle_query(time): ans1 = norh.NoRHClient._can_handle_query(time, a.Instrument('norh')) assert ans1 is True ans1 = norh.NoRHClient._can_handle_query(time, a.Instrument('norh'), a.Wavelength(10 * u.GHz)) assert ans1 is True ans2 = norh.NoRHClient._can_handle_query(time) assert ans2 is False @pytest.mark.online @pytest.mark.parametrize("wave", [a.Wavelength(17 * u.GHz), a.Wavelength(34 * u.GHz)]) @given(time=range_time(datetime.datetime(1992, 6, 1))) def test_query(time, wave): qr1 = norh.NoRHClient().search(time, a.Instrument('norh'), wave) assert isinstance(qr1, QueryResponse) # Not all hypothesis queries are going to produce results, and if qr1: # There are no observations everyday # so the results found have to be equal or later than the queried time # (looking at the date because it may search for miliseconds, but only date is available) assert qr1.time_range().start.date() >= time.start.date() # and the end time equal or smaller. # hypothesis can give same start-end, but the query will give you from start to end (so +1) assert qr1.time_range().end <= time.end + datetime.timedelta(days=1) # Don't use time_attr here for speed.
'http://proba2.oma.be/lyra/data/bsd/2012/12/01/lyra_20121201-000000_lev2_std.fits', 'http://proba2.oma.be/lyra/data/bsd/2012/12/02/lyra_20121202-000000_lev2_std.fits' ), (TimeRange('2012/4/7', '2012/4/14'), 'http://proba2.oma.be/lyra/data/bsd/2012/04/07/lyra_20120407-000000_lev2_std.fits', 'http://proba2.oma.be/lyra/data/bsd/2012/04/14/lyra_20120414-000000_lev2_std.fits' ) ]) def test_get_url_for_time_range(LCClient, 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(range_time('2010-01-06')) def test_can_handle_query(time): LCClient = lyra.LYRAClient() ans1 = LCClient._can_handle_query(time, Instrument('lyra')) assert ans1 is True ans2 = LCClient._can_handle_query(time) assert ans2 is False @pytest.mark.parametrize( "time", [Time('2015/8/27', '2015/8/27'), Time('2016/2/4', '2016/2/6')]) @pytest.mark.remote_data def test_query(LCClient, time): qr1 = LCClient.search(time, Instrument('lyra')) assert isinstance(qr1, QueryResponse)
assert urls[-1] == url_end @given(time_attr()) def test_can_handle_query(time): ans1 = norh.NoRHClient._can_handle_query(time, a.Instrument('norh')) assert ans1 is True ans1 = norh.NoRHClient._can_handle_query(time, a.Instrument('norh'), a.Wavelength(10*u.GHz)) assert ans1 is True ans2 = norh.NoRHClient._can_handle_query(time) assert ans2 is False @pytest.mark.remote_data @pytest.mark.parametrize("wave", [a.Wavelength(17*u.GHz), a.Wavelength(34*u.GHz)]) @given(time=range_time(Time('1992-6-1'))) @settings(max_examples=2, deadline=50000) def test_query(time, wave): qr1 = norh.NoRHClient().search(time, a.Instrument('norh'), wave) assert isinstance(qr1, QueryResponse) # Not all hypothesis queries are going to produce results, and if qr1: # There are no observations everyday # so the results found have to be equal or later than the queried time # (looking at the date because it may search for miliseconds, but only date is available) assert qr1.time_range().start.strftime('%Y-%m-%d') >= time.start.strftime('%Y-%m-%d') # and the end time equal or smaller. # hypothesis can give same start-end, but the query will give you from start to end (so +1) assert qr1.time_range().end <= time.end + TimeDelta(1*u.day)
@given(time_attr()) def test_can_handle_query(time): ans1 = norh.NoRHClient._can_handle_query(time, a.Instrument('norh')) assert ans1 is True ans1 = norh.NoRHClient._can_handle_query(time, a.Instrument('norh'), a.Wavelength(10*u.GHz)) assert ans1 is True ans2 = norh.NoRHClient._can_handle_query(time) assert ans2 is False @pytest.mark.remote_data @pytest.mark.parametrize("wave", [a.Wavelength(17*u.GHz), a.Wavelength(34*u.GHz)]) @given(time=range_time(datetime.datetime(1992, 6, 1))) def test_query(time, wave): qr1 = norh.NoRHClient().search(time, a.Instrument('norh'), wave) assert isinstance(qr1, QueryResponse) # Not all hypothesis queries are going to produce results, and if qr1: # There are no observations everyday # so the results found have to be equal or later than the queried time # (looking at the date because it may search for miliseconds, but only date is available) assert qr1.time_range().start.date() >= time.start.date() # and the end time equal or smaller. # hypothesis can give same start-end, but the query will give you from start to end (so +1) assert qr1.time_range().end <= time.end + datetime.timedelta(days=1) # Don't use time_attr here for speed.