Skip to main content

aip_sdk.TestPlanPage

aip_sdk.TestPlanPage(records: list[TestPlanSummary], total: int)

One page of a test plan listing: its rows, plus total — how many exist behind them.

Shaped like ~aip_sdk.models.RunResultsPage: the same wrap-a-page idiom, for the same reason. len(page.records) is what this page returned; total is what a hand-written pager actually needs and a plain list[TestPlanSummary] return could not carry.

What list_test_plans returns; list_test_plan_versions returns a TestPlanVersionPage.

A listing route drops a stored row whose body no longer parses as a plan, and this SDK skips a row it cannot read, while total still counts both. A page can therefore be shorter than per_page — or empty — with more pages still to come, so a pager that stops on a short page truncates the results exactly there. Advance while page * per_page < total instead, or let iter_test_plans do it for you.

Attributes

  • records list[TestPlanSummary]: The rows on this page.
  • total int: Stored rows behind this listing, across every page. Always >= len(records) and typically larger; never a count of what this page returned. The stop condition here — the same field on TestPlanVersionPage is not.

Examples

import aip_sdk as aip

page = aip.list_test_plans(workspace_id="ws_001", per_page=20)
for summary in page:
print(summary.name)
print(f"showing {len(page)} of {page.total}")

aip_sdk.TestPlanPage.total​

aip_sdk.TestPlanPage.total: int

No docstring is defined in the source.

Inherited members​

Inherited from libs/aip-sdk/src/aip_sdk/test_plan.py

aip_sdk.TestPlanPage.records​

aip_sdk.TestPlanPage.records: list[TestPlanSummary]

No docstring is defined in the source.