Skip to content

[google_sign_in] Convert unit tests to Kotlin - #13000

Merged
auto-submit[bot] merged 21 commits into
flutter:mainfrom
stuartmorgan-g:sign-in-kotlin-tests
Oct 12, 2026
Merged

auto-submit[bot] merged 21 commits into
flutter:mainfrom
stuartmorgan-g:sign-in-kotlin-tests

Conversation

@stuartmorgan-g

Copy link
Copy Markdown
Contributor

Converts google_sign_in_android native unit tests from Java to Kotlin.

Similar to my other conversions, the process was:

  • Use the Android Studio deterministic auto-conversion.
  • Do a bunch of manual cleanup, as separate commits by topic.
    • This included adopting mockito-kotlin to make the mocking much less verbose and complex
  • Do a local Gemini review for where the code could be improved as Kotlin code, and address most of that feedback.

This also removes the test-only bridge code that allowed using Result in Java tests, now that it is no longer necessary.

Does not include any changes to production code.

Part of flutter/flutter#188630

Pre-Review Checklist

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2

@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 converts the GoogleSignInTest suite from Java to Kotlin, adopting mockito-kotlin for more idiomatic mocking, and removes the ResultCompat helper class. The review feedback focuses on making the Kotlin code more idiomatic, such as importing JUnit assertion functions directly to reduce boilerplate, using read-only lists instead of mutable lists where mutation is not required, and utilizing doThrow directly from mockito-kotlin.

Comment on lines +788 to +789
val scopes = mutableListOf("scope1", "scope1")
val params = PlatformAuthorizationRequest(scopes)

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.

medium

Use listOf instead of mutableListOf since the list of scopes is read-only and does not need to be mutated.

Suggested change
val scopes = mutableListOf("scope1", "scope1")
val params = PlatformAuthorizationRequest(scopes)
val scopes = listOf("scope1", "scope1")
val params = PlatformAuthorizationRequest(scopes)
References
  1. The repository style guide requires following the relevant style guides for each language, which includes Kotlin coding conventions and idioms. (link)

@stuartmorgan-g stuartmorgan-g added override: no versioning needed Override the check requiring version bumps for most changes override: no changelog needed Override the check requiring CHANGELOG updates for most changes labels Sep 24, 2026
@stuartmorgan-g

Copy link
Copy Markdown
Contributor Author

Changelog/version override: this is a test-only change; the failure is a false positive from having touched a gradle.kts file which isn't always test-only.

@mboetger

Copy link
Copy Markdown
Contributor

Let me know if you want me to take the PR from here.

@stuartmorgan stuartmorgan added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 12, 2026
@auto-submit
auto-submit Bot merged commit 01d0873 into flutter:main Oct 12, 2026
13 checks passed
andywolff pushed a commit to andywolff/flutter that referenced this pull request Oct 13, 2026
flutter/packages@d8d9e97...a1ed23c

2026-10-13 [email protected] [material_ui] Clarify Slider labels
for continuous sliders (flutter/packages#13121)
2026-10-12 [email protected] [in_app_purchase_storekit] Remove
availability checks below the package minimum iOS 13 and macOS 10.15
(flutter/packages#13217)
2026-10-12 [email protected] [google_sign_in] Convert unit tests
to Kotlin (flutter/packages#13000)
2026-10-12 [email protected]
[vector_graphics_compiler] Support SVG alpha masks (mask-type="alpha")
(flutter/packages#13025)
2026-10-11 [email protected] [camera_platform_interface] Add
zero-shutter-lag API (flutter/packages#12996)
2026-10-10 [email protected] [material_ui]
Ensure textScaler is taken into account for SnackBar action overflow
(flutter/packages#12737)
2026-10-10 [email protected] [material_ui] Add more 0x0 size tests
part 14 (flutter/packages#13107)
2026-10-10 [email protected]
[cupertino_ui] Fix CupertinoPicker throwing when disposed during the
tap-to-select animation (flutter/packages#13012)
2026-10-09 [email protected] Roll Flutter (stable) from
5fc3468 to abaf9c5 (3 revisions) (flutter/packages#13186)

If this roll has caused a breakage, revert this CL and set the roller
to dry run mode using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
suryaKommana2662 pushed a commit to suryaKommana2662/flutter that referenced this pull request Oct 29, 2026
flutter/packages@d8d9e97...a1ed23c

2026-10-13 [email protected] [material_ui] Clarify Slider labels
for continuous sliders (flutter/packages#13121)
2026-10-12 [email protected] [in_app_purchase_storekit] Remove
availability checks below the package minimum iOS 13 and macOS 10.15
(flutter/packages#13217)
2026-10-12 [email protected] [google_sign_in] Convert unit tests
to Kotlin (flutter/packages#13000)
2026-10-12 [email protected]
[vector_graphics_compiler] Support SVG alpha masks (mask-type="alpha")
(flutter/packages#13025)
2026-10-11 [email protected] [camera_platform_interface] Add
zero-shutter-lag API (flutter/packages#12996)
2026-10-10 [email protected] [material_ui]
Ensure textScaler is taken into account for SnackBar action overflow
(flutter/packages#12737)
2026-10-10 [email protected] [material_ui] Add more 0x0 size tests
part 14 (flutter/packages#13107)
2026-10-10 [email protected]
[cupertino_ui] Fix CupertinoPicker throwing when disposed during the
tap-to-select animation (flutter/packages#13012)
2026-10-09 [email protected] Roll Flutter (stable) from
5fc3468 to abaf9c5 (3 revisions) (flutter/packages#13186)

If this roll has caused a breakage, revert this CL and set the roller
to dry run mode using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD override: no changelog needed Override the check requiring CHANGELOG updates for most changes override: no versioning needed Override the check requiring version bumps for most changes p: google_sign_in platform-android

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants