def test_between(start_time, end_time): api = CMR() api.between(start_time, end_time) params = api.get_query_params() time_query_tests(params)
def test_before(query_time): api = CMR() api.before(query_time) params = api.get_query_params() time_query_tests(params) assert all(d.startswith(',') for d in params['created_at[]'])
def test_limit(amount): api = CMR() api.limit(amount) params = api.get_query_params() assert 'page_size' in params assert params['page_size'] == amount
def test_after(query_time): api = CMR() api.after(query_time) params = api.get_query_params() time_query_tests(params) assert all(d.endswith(',') for d in params['created_at[]'])
def test_chained_queries(times, amount): start, end, after = times api = CMR() api.between(start, end) \ .after(after) \ .limit(amount) params = api.get_query_params() assert len(params['created_at[]']) == 2 assert params['page_size'] == amount
def test_cmr_search(): cmr = CMR() query_time = dt.datetime.now() - dt.timedelta(minutes=5) resp = cmr \ .after(query_time) \ .search() print(len(resp['feed']['entry'])) assert isinstance(resp, dict)
def test_cmr_get_new_granule_events(): cmr = CMR() now = dt.datetime.now() query_time = now - dt.timedelta(minutes=5) resp = cmr \ .between(query_time, now) \ .get_new_granule_events() print(len(resp)) assert all( isinstance(e, hyp3_events.NewGranuleEvent) for e in resp )
def test_cmr_constructor(): assert CMR()
def test_api_url_is_url(): api_url = CMR().api_url assert re.match(r'https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', api_url)
def test_negative_limits_raise(too_small_amount): api = CMR() with pytest.raises(QueryLimitError): api.limit(too_small_amount)
def test_large_limits_raise(too_large_amount): api = CMR() with pytest.raises(QueryLimitError): api.limit(too_large_amount)