Skip to content

Conversation

@rquidute
Copy link
Contributor

@rquidute rquidute commented Dec 18, 2025

What changed

This PR adds sort ordering functionality and the possibility to retrieve all test run execution records.

  • Sort Order Parameter: Added optional sort_order parameter to the /test_run_executions endpoint with "asc" default for
    backwards compatibility
  • All Results Support: Implemented limit=0 logic to return all records without pagination when requested

Related Issue

project-chip/certification-tool#823

Testing

  • Unit tests added and Passing
  • Several backend endpoint calls such as
    • GET /api/v1/test_run_executions/project_id=1&archived=false&limit=10&sort_order=desc
    • GET /api/v1/test_run_executions/project_id=1&archived=false&skip=18&limit=10&sort_order=asc
    • GET /api/v1/test_run_executions/project_id=1&archived=false&skip=18&limit=0&sort_order=asc

@rquidute rquidute self-assigned this Dec 18, 2025
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @rquidute, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the /test_run_executions API endpoint by introducing the ability to specify a sort order for the returned data and to retrieve all records by bypassing pagination. These changes provide greater control and flexibility when querying test run execution data, addressing a reported issue and improving the usability of the API.

Highlights

  • Sort Order Parameter: The /test_run_executions endpoint now accepts an optional sort_order parameter, allowing results to be sorted in ascending (default) or descending order by ID for better data organization.
  • Retrieve All Results: A new feature has been implemented where setting the limit parameter to 0 on the /test_run_executions endpoint will return all available records without pagination, providing more flexibility for data retrieval.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces sorting and 'get all' functionality to the test run executions endpoint. The implementation is sound and includes new tests. My review includes a correction for a bug in one of the new tests that prevents it from correctly verifying the sort order, and a couple of minor improvements to type hints for better code clarity.

rquidute and others added 5 commits December 18, 2025 09:52
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…icable unit tests failing due to race condition
@rquidute rquidute changed the title Fix/823 fix sort order test run execution Add support to order a test run execution and retrieve all records without pagination Dec 18, 2025
@rquidute rquidute changed the title Add support to order a test run execution and retrieve all records without pagination Add support to sort a test run execution and retrieve all records without pagination Dec 18, 2025
@rquidute rquidute changed the title Add support to sort a test run execution and retrieve all records without pagination Add support to sort the test run execution list and retrieve all records without pagination Dec 18, 2025
Copy link
Contributor

@antonio-amjr antonio-amjr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please consider the following.
Let me know if you disagree.

@antonio-amjr
Copy link
Contributor

@rquidute, Did you try this solution with a execution of different projects IDS and running from several different folders?

Copy link
Contributor

@antonio-amjr antonio-amjr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please take a look at the below:

)
)

if order_by is None:
Copy link
Contributor

@antonio-amjr antonio-amjr Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the suggestion below possible to substitute this whole conditional?
What do you think?

Suggested change
if order_by is None:
column = self.model.id if order_by is None else getattr(self.model, order_by)
if sort_order == "desc":
query = query.order_by(column.desc())
else:
query = query.order_by(column.asc())

Copy link
Contributor

@antonio-amjr antonio-amjr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, take a look in the suggestion above 👆
Approving either way

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants