Add stub functionality for base resources and implement review request.

Review Request #14337 — Created Feb. 10, 2025 and submitted — Latest diff uploaded

Information

RBTools
master

Reviewers

This change adds support for @api_stub for the base resource class,
used for "special" links (create/update/delete/etc) as well as for any
resource-specific links.

This also adds a new decorator, @request_method_returns, which works
like @request_method, but can plumb through a specific return type.
This has been used to make ResourceLinkField generic, so that calls to
a ResourceLinkField.get() method can specify their return type as a
specific resource subclass.

Stubs for common special methods have been added to Resource,
ItemResource, and ListResource. This change also adds resource-specific
stubs to ReviewRequestItemResource, for those links where we have
existing resource classes to reference. I've also added type hints for
the review request attributes.

  • Ran unit tests.
  • Smoke tested rbt commands.
  • Ran a test script with debug logging to see that the stub debug info
    looked as expected.

Commits

Files