Exemplo n.º 1
0
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"
Exemplo n.º 2
0
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"
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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}"