Skip to content

tests(cloudhealthcare): use t.Cleanup() instead of defer#2332

Merged
Yuan325 merged 3 commits into
googleapis:mainfrom
vaibhavba-google:chc-fix
Jan 20, 2026
Merged

tests(cloudhealthcare): use t.Cleanup() instead of defer#2332
Yuan325 merged 3 commits into
googleapis:mainfrom
vaibhavba-google:chc-fix

Conversation

@vaibhavba-google

Copy link
Copy Markdown
Contributor

Description

Use t.Cleanup() to register cleanup of FHIR and DICOM stores immediately after creation. This fixes the uncleaned FHIR/DICOM stores that remain in the project(In the earlier implementation, teardown does not get triggered if the test failed).

🛠️ Fixes #1986

@vaibhavba-google vaibhavba-google requested a review from a team January 20, 2026 20:17
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @vaibhavba-google, 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 reliability of Cloud Healthcare API integration tests by refactoring the resource cleanup process. By leveraging Go's t.Cleanup() feature, it guarantees that temporary FHIR and DICOM stores created during tests are always properly disposed of, preventing resource leaks and ensuring a cleaner testing environment, especially in cases where tests might fail prematurely.

Highlights

  • Improved Test Teardown: Migrated the cleanup mechanism for FHIR and DICOM stores in integration tests to use Go's t.Cleanup() function. This ensures resources are reliably deleted at the end of a test, even if the test fails.
  • Simplified Test Functions: Removed the explicit teardown function return from setupHealthcareResources and the corresponding defer teardown() calls in TestHealthcareToolEndpoints and TestHealthcareToolWithStoreRestriction, streamlining the test setup.
  • Resource Cleanup Registration: Cleanup actions for newly created FHIR and DICOM stores are now registered immediately after their creation within setupHealthcareResources using t.Cleanup().

🧠 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.

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

Copy link
Copy Markdown
Contributor

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 refactors the cloud healthcare integration tests to use t.Cleanup() for resource teardown. This is an excellent improvement, as it makes the tests more robust by ensuring that cleanup code is executed even if tests fail. The changes are implemented correctly and follow modern Go testing idioms. I have one minor suggestion to improve code clarity by explicitly ignoring function return values when they are not used.

Comment thread tests/cloudhealthcare/cloud_healthcare_integration_test.go
@Yuan325 Yuan325 changed the title Improve cloud healthcare tests teardown tests(cloudhealthcare): use t.Cleanup() instead of defer Jan 20, 2026
@Yuan325

Yuan325 commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

/gcbrun

@Yuan325 Yuan325 added the tests: run Label to trigger Github Action tests. label Jan 20, 2026
@Yuan325 Yuan325 assigned Yuan325 and unassigned duwenxin99 Jan 20, 2026
@github-actions github-actions Bot removed the tests: run Label to trigger Github Action tests. label Jan 20, 2026
@Yuan325 Yuan325 merged commit d7af21b into googleapis:main Jan 20, 2026
14 checks passed
github-actions Bot pushed a commit to Jaleel-zhu/genai-toolbox that referenced this pull request Jan 20, 2026
…gleapis#2332)

## Description

Use t.Cleanup() to register cleanup of FHIR and DICOM stores immediately
after creation. This fixes the uncleaned FHIR/DICOM stores that remain
in the project(In the earlier implementation, teardown does not get
triggered if the test failed).

🛠️ Fixes googleapis#1986

---------

Co-authored-by: Yuan Teoh <yuanteoh@google.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d7af21b
mahlevanshika pushed a commit to mahlevanshika/genai-toolbox that referenced this pull request Jan 22, 2026
…2332)

## Description

Use t.Cleanup() to register cleanup of FHIR and DICOM stores immediately
after creation. This fixes the uncleaned FHIR/DICOM stores that remain
in the project(In the earlier implementation, teardown does not get
triggered if the test failed).

🛠️ Fixes googleapis#1986

---------

Co-authored-by: Yuan Teoh <yuanteoh@google.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
kshalu-code pushed a commit to kshalu-code/genai-toolbox that referenced this pull request Feb 4, 2026
…2332)

## Description

Use t.Cleanup() to register cleanup of FHIR and DICOM stores immediately
after creation. This fixes the uncleaned FHIR/DICOM stores that remain
in the project(In the earlier implementation, teardown does not get
triggered if the test failed).

🛠️ Fixes googleapis#1986

---------

Co-authored-by: Yuan Teoh <yuanteoh@google.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
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.

Cloud Build Failure Reporter: toolbox-test-on-merge (toolbox-testing-438616) failed

3 participants