def test_datetime_results(self): # Datetime range string datetime_ = '2019-01-01T00:00:01Z/2019-01-01T00:00:10Z' search = ItemSearch(url=SEARCH_URL, datetime=datetime_) results = list(search.items()) assert len(results) == 12 min_datetime = datetime(2019, 1, 1, 0, 0, 1, tzinfo=tzutc()) max_datetime = datetime(2019, 1, 1, 0, 0, 10, tzinfo=tzutc()) search = ItemSearch(url=SEARCH_URL, datetime=(min_datetime, max_datetime)) results = search.items() assert all(min_datetime <= item.datetime <= (max_datetime + timedelta(seconds=1)) for item in results)
def test_results(self): search = ItemSearch( url=SEARCH_URL, collections='naip', max_items=20, limit=10, ) results = search.items() assert all(isinstance(item, pystac.Item) for item in results)
def test_ids_results(self): ids = [ 'm_3510836_se_12_060_20180508_20190331', 'm_3510840_se_12_060_20180504_20190331' ] search = ItemSearch( url=SEARCH_URL, ids=ids, ) results = list(search.items()) assert len(results) == 2 assert all(item.id in ids for item in results)
def test_intersects_results(self): # GeoJSON-like dict intersects_dict = { 'type': 'Polygon', 'coordinates': [[[-73.21, 43.99], [-73.21, 44.05], [-73.12, 44.05], [-73.12, 43.99], [-73.21, 43.99]]] } search = ItemSearch(url=SEARCH_URL, intersects=intersects_dict, collections='naip') results = list(search.items()) assert len(results) == 30 # Geo-interface object class MockGeoObject: __geo_interface__ = intersects_dict intersects_obj = MockGeoObject() search = ItemSearch(url=SEARCH_URL, intersects=intersects_obj, collections='naip') results = search.items() assert all(isinstance(item, pystac.Item) for item in results)