def test_get_items_from_bad_source(): with pytest.raises(ValueError) as excinfo: Arche.get_items(source="bad_key", count=1, start=1, filters=None, expand=None) assert str( excinfo.value) == f"'bad_key' is not a valid job or collection key"
def test_get_items_start(): with pytest.raises(ValueError) as excinfo: Arche.get_items( source="112358/collections/s/pages", count=1, start=1, filters=None, expand=None, ) assert str(excinfo.value) == "Collections API does not support 'start' parameter"
def test_get_items_from_iterable(get_cloud_items): items = Arche.get_items(get_cloud_items, start=None, count=None, filters=None, expand=True) assert items.raw == get_cloud_items
def test_get_items(mocker, get_items, source, start, count, filters, expand): mocker.patch( "arche.readers.items.JobItems.fetch_data", return_value=get_items, autospec=True ) items = Arche.get_items( source=source, start=start, count=count, filters=filters, expand=expand ) assert items.key == source assert items.count == count assert items.filters == filters assert items.expand == expand assert items.start_index == start
def test_get_items_from_collection(mocker, get_items, source, count, filters, expand): mocker.patch( "arche.readers.items.CollectionItems.fetch_data", return_value=get_items, autospec=True, ) items = Arche.get_items( source=source, count=count, start=0, filters=filters, expand=expand ) assert items.key == source assert items.count == 5 assert items.filters == filters assert items.expand == expand
def test_get_items(mocker, get_raw_items, source, start, count, filters, expected_start): mocker.patch( "arche.readers.items.JobItems.fetch_data", return_value=get_raw_items, autospec=True, ) mocker.patch( "arche.readers.items.api.get_items_count", return_value=len(get_raw_items), autospec=True, ) mocker.patch("arche.readers.items.JobItems.job", autospec=True) items = Arche.get_items(source=source, start=start, count=count, filters=filters) assert items.key == source assert items.count == count or len(get_raw_items) assert items.filters == filters assert items.start_index == expected_start assert items.start == f"{source}/{expected_start}"