-
Notifications
You must be signed in to change notification settings - Fork 622
[FIAM] Replace hardcoded SDK version with Config.OLDEST_SDK #7059
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Updated the @config annotation in AnalyticsEventsManagerTest.java and ApiClientTest.java to use Config.OLDEST_SDK.
Firebase AI Mock Responses Check
|
📝 PRs merging into main branchOur main branch should always be in a releasable state. If you are working on a larger change, or if you don't want this change to see the light of the day just yet, consider using a feature branch first, and only merge into the main branch when the code complete and ready to be released. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @rlazo, 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 refactors test configurations within the Firebase In-App Messaging module to enhance their robustness and adaptability. By replacing a specific hardcoded Android SDK version with a dynamic reference to Config.OLDEST_SDK
, the tests will automatically align with the project's minimum supported SDK, reducing the need for manual updates when the minSdk
is bumped.
Highlights
- Test Configuration Update: Replaced hardcoded Android SDK version (22) with
Config.OLDEST_SDK
in Robolectric test configurations forAnalyticsEventsManagerTest
andApiClientTest
. This change ensures that these tests automatically align with the project's minimum supported SDK version, improving maintainability.
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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
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 issue 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 is currently in preview and 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 to provide feedback.
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
-
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. ↩
Generated by 🚫 Danger |
There was a problem hiding this 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 updates Robolectric test configurations to use Config.OLDEST_SDK
instead of a hardcoded SDK version. This is a positive change for maintainability.
My review identified a likely test failure in ApiClientTest.java
due to this change, as an existing test hardcodes the SDK version. I've provided a comment with a suggested fix. The change in AnalyticsEventsManagerTest.java
appears safe and has no side effects.
@@ -52,7 +52,7 @@ | |||
import org.robolectric.annotation.Config; | |||
|
|||
@RunWith(RobolectricTestRunner.class) | |||
@Config(manifest = Config.NONE, sdk = 22, qualifiers = "es") | |||
@Config(manifest = Config.NONE, sdk = Config.OLDEST_SDK, qualifiers = "es") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While this change is good for maintainability, it will likely cause the getFiams_signalsContainsPlatformVersion
test to fail because it asserts a hardcoded SDK version of "22".
You can find the assertion on line 213:
// sdk version set in roboelectric annotation above
assertThat(clientSignals.getPlatformVersion()).isEqualTo("22");
To fix this, please update the test to use Config.OLDEST_SDK
for the comparison, which will make it resilient to future changes in the oldest SDK version. For example:
assertThat(clientSignals.getPlatformVersion()).isEqualTo(String.valueOf(Config.OLDEST_SDK));
Coverage Report 1Affected ProductsNo changes between base commit (9b510c4) and merge commit (04b16a3).Test Logs |
Test Results 44 files - 1 014 44 suites - 1 014 1m 50s ⏱️ - 33m 34s For more details on these failures, see this check. Results for commit 1809f2f. ± Comparison against base commit 9b510c4. This pull request removes 5666 tests.
|
Size Report 1Affected ProductsNo changes between base commit (9b510c4) and merge commit (04b16a3).Test Logs |
Startup Time Report 1Note: Layout is sometimes suboptimal due to limited formatting support on GitHub. Please check this report on GCS. Notes
Startup Times
|
Tests will use the Config.OLDEST_SDK instead of a hardcoded SDK if the corresponding hardcoded SDK would be below our intended minSdk.
I'll also need to re-evaluate whether these tests are necessary to keep around, or if they are irrelevant when bumping the minSdk.
Related to cl/770033566