def test_cursor_paginator(ct_platform_client: Client):
    client = ct_platform_client.with_project_key("test")
    create_products(client)

    paginator = paginators.CursorPaginator(client.products().get,
                                           sort=["id asc", "name asc"])

    items = []
    for product in paginator:
        items.append(product)
    assert len(items) == 100
def test_cursor_paginator_slice_start(ct_platform_client: Client):
    client = ct_platform_client.with_project_key("test")
    create_products(client)

    paginator = paginators.CursorPaginator(client.products().get,
                                           sort=["id asc", "name asc"])

    items = []
    with pytest.raises(ValueError):
        for product in paginator[10:]:
            items.append(product)
def test_page_paginator_slice_start_stop(ct_platform_client: Client):
    client = ct_platform_client.with_project_key("test")
    create_products(client)

    paginator = paginators.Paginator(client.products().get,
                                     sort=["id asc", "name asc"])

    items = []
    for product in paginator[20:-20]:
        items.append(product)
        if len(items) > 60:
            assert False
    assert len(items) == 60