Providing URI templates for extensions

Review Request #8432 — Created Sept. 24, 2016 and submitted — Latest diff uploaded

Information

Djblets
master
3ef58d3...

Reviewers

This project adds uri templates for extensions to the api. Presently,
the RootResource web API resource generates URI templates as
shortcuts to users. Extensions are able to provide their own API
resources, however they are not currently picked up by RootResource.
It has been confirmed that this isn't a caching bug. Instead,
RootResource needs to be modified to continue walking the tree upon
encountering an extension. Currently, the proposed solution is to
create a mixin class incorporating functionality from RootResource
to track signals from the ExtensionResource. The Review Board project
RootResource would inherit this new mixin accordingly.

Performed an HTTP request on localhost:8080/api/ when no extensions are
installed and noted the absence of any extension templates in the response.

Installed the checklist extension from rb-extension-pack and enabled
it on my local instance. Made a new HTTP request to localhost:8080/api/
and noted that the extension templates are now correctly included.
Disabling the extension removes the extensions.

Ran djblets unit tests and noted all tests pass.

Adding new unit tests to verify functionality. All pass.