Skip to content

Conversation

@dconeybe
Copy link
Contributor

@dconeybe dconeybe commented May 30, 2025

DataConnectExecutableVersions.json updated with versions 2.3.0, 2.3.1, 2.4.0, 2.4.1, 2.5.0, 2.6.0, 2.6.1, and 2.6.2 by running:

./gradlew :firebase-dataconnect:connectors:updateJson -Pversions=2.3.0,2.3.1,2.4.0,2.4.1,2.5.0,2.6.0,2.6.1,2.6.2 -PdefaultVersion=2.6.2

As part of this upgrade, 2 test failures needed to be fixed because the @check directive on a field with side effects became illegal since cl/756896487. The fix in this PR adds a "query" field (which has no side effects) and, instead, attaches the @check directive to that.

This fixes the following 2 test failures in OperationExecutionErrorsIntegrationTest:

  • executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingSucceeds
  • executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingFails

The test failures looked like this:

io.kotest.assertions.MultiAssertionError: The following 2 assertions failed:

1) exception.message
"operation encountered errors during execution: [mutation.createPersonWithPartialFailure.person2: @check is disallowed on side-effect fields unless the operation has @transaction]" should contain the substring "ecxpjy4qfy" with non-abutting text
   at com.google.firebase.dataconnect.testutil.TestUtilsKt.shouldContainWithNonAbuttingText(TestUtils.kt:79)

2) exception.response.rawData
Expected [("person1", [("id", "com.google.firebase.dataconnect.OperationExecutionErrorsIntegrationTest.executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingFails_vNGzY61U2l3DkpBiK4s1")]), ("person2", <null>)] but actual was null

   at com.google.firebase.dataconnect.testutil.DataConnectOperationExceptionTestUtilsKt.shouldSatisfy(DataConnectOperationExceptionTestUtils.kt:74)
	at com.google.firebase.dataconnect.testutil.DataConnectOperationExceptionTestUtilsKt.shouldSatisfy(DataConnectOperationExceptionTestUtils.kt:266)
	at com.google.firebase.dataconnect.OperationExecutionErrorsIntegrationTest$executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingFails$1.invokeSuspend(OperationExecutionErrorsIntegrationTest.kt:224)

dconeybe added 4 commits May 30, 2025 17:38
… 2.3.0, 2.3.1, 2.4.0, 2.4.1, 2.5.0, 2.6.0, 2.6.1, and 2.6.2
Adding `@check` to a field with side effects became illegal since cl/756896487. The fix in this commit adds a "query" field (which has no side effects) and, instead, attaches the `@check` directive to that.

This fixes the following 2 test failures in `OperationExecutionErrorsIntegrationTest`:
* `executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingSucceeds`
* `executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingFails`

The test failures looked like this:

```
io.kotest.assertions.MultiAssertionError: The following 2 assertions failed:

1) exception.message
"operation encountered errors during execution: [mutation.createPersonWithPartialFailure.person2: @check is disallowed on side-effect fields unless the operation has @transaction]" should contain the substring "ecxpjy4qfy" with non-abutting text
   at com.google.firebase.dataconnect.testutil.TestUtilsKt.shouldContainWithNonAbuttingText(TestUtils.kt:79)

2) exception.response.rawData
Expected [("person1", [("id", "com.google.firebase.dataconnect.OperationExecutionErrorsIntegrationTest.executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingFails_vNGzY61U2l3DkpBiK4s1")]), ("person2", <null>)] but actual was null

   at com.google.firebase.dataconnect.testutil.DataConnectOperationExceptionTestUtilsKt.shouldSatisfy(DataConnectOperationExceptionTestUtils.kt:74)
	at com.google.firebase.dataconnect.testutil.DataConnectOperationExceptionTestUtilsKt.shouldSatisfy(DataConnectOperationExceptionTestUtils.kt:266)
	at com.google.firebase.dataconnect.OperationExecutionErrorsIntegrationTest$executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingFails$1.invokeSuspend(OperationExecutionErrorsIntegrationTest.kt:224)
```
…ansaction: `executeMutationFailsWithNonNullDataNonEmptyErrorsDecodingFailsInTransaction`
@github-actions
Copy link
Contributor

github-actions bot commented May 30, 2025

📝 PRs merging into main branch

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

@github-actions
Copy link
Contributor

github-actions bot commented May 30, 2025

Test Results

 1 058 files  +   992   1 058 suites  +992   35m 49s ⏱️ + 34m 32s
 5 985 tests + 5 426   5 963 ✅ + 5 405  22 💤 +21  0 ❌ ±0 
12 033 runs  +10 915  11 989 ✅ +10 873  44 💤 +42  0 ❌ ±0 

Results for commit 25c9bbf. ± Comparison against base commit b2fe881.

♻️ This comment has been updated with latest results.

@google-oss-bot
Copy link
Contributor

@dconeybe dconeybe merged commit bfd3c76 into main May 30, 2025
441 of 443 checks passed
@dconeybe dconeybe deleted the dconeybe/dataconnect/JsonUpdate20250530 branch May 30, 2025 19:55
@google-oss-bot
Copy link
Contributor

Coverage Report 1

Affected Products

  • firebase-appdistribution

    Overall coverage changed from ? (b2fe881) to 75.72% (f189871) by ?.

    68 individual files with coverage change

    FilenameBase (b2fe881)Merge (f189871)Diff
    AabUpdater.java?98.36%?
    AabUpdater_Factory.java?0.00%?
    ApkInstaller.java?100.00%?
    ApkInstaller_Factory.java?0.00%?
    ApkUpdater.java?92.63%?
    ApkUpdater_Factory.java?0.00%?
    AppDistributionReleaseImpl.java?100.00%?
    AppDistributionReleaseInternal.java?100.00%?
    AppDistroComponent.java?0.00%?
    AppDistroComponent_MainModule_BindContentResolverFactory.java?0.00%?
    AppIconSource.java?84.62%?
    AppIconSource_Factory.java?100.00%?
    AutoValue_AppDistributionReleaseImpl.java?65.45%?
    AutoValue_AppDistributionReleaseInternal.java?71.58%?
    AutoValue_ImageUtils_ImageSize.java?35.00%?
    AutoValue_TesterApiDisabledErrorDetails.java?29.41%?
    AutoValue_TesterApiDisabledErrorDetails_HelpLink.java?54.17%?
    AutoValue_UpdateProgressImpl.java?65.96%?
    DaggerAppDistroComponent.java?80.56%?
    DevModeDetector.java?9.09%?
    DevModeDetector_Factory.java?100.00%?
    ErrorMessages.java?0.00%?
    FeedbackActivity.java?3.39%?
    FeedbackActivity_MembersInjector.java?0.00%?
    FeedbackSender.java?84.48%?
    FeedbackSender_Factory.java?0.00%?
    FeedbackTrigger.java?61.54%?
    FirebaseAppDistributionExceptions.java?80.00%?
    FirebaseAppDistributionFileProvider.java?0.00%?
    FirebaseAppDistributionImpl.java?89.89%?
    FirebaseAppDistributionImpl_Factory.java?0.00%?
    FirebaseAppDistributionLifecycleNotifier.java?91.49%?
    FirebaseAppDistributionLifecycleNotifier_Factory.java?0.00%?
    FirebaseAppDistributionNotificationsManager.java?88.89%?
    FirebaseAppDistributionNotificationsManager_Factory.java?0.00%?
    FirebaseAppDistributionRegistrar.java?95.83%?
    FirebaseAppDistributionTesterApiClient.java?88.78%?
    FirebaseAppDistributionTesterApiClient_Factory.java?0.00%?
    HttpsUrlConnectionFactory.java?50.00%?
    HttpsUrlConnectionFactory_Factory.java?100.00%?
    ImageUtils.java?100.00%?
    InstallActivity.java?2.67%?
    LogWrapper.java?86.67%?
    NewReleaseFetcher.java?86.67%?
    NewReleaseFetcher_Factory.java?0.00%?
    PackageInfoUtils.java?42.86%?
    ReleaseIdentifier.java?91.78%?
    ReleaseIdentifier_Factory.java?0.00%?
    ReleaseUtils.java?83.33%?
    ScreenshotTaker.java?36.17%?
    ScreenshotTaker_Factory.java?0.00%?
    SequentialReference.java?100.00%?
    SignInResultActivity.java?0.00%?
    SignInStorage.java?100.00%?
    SignInStorage_Factory.java?0.00%?
    TakeScreenshotAndStartFeedbackActivity.java?0.00%?
    TakeScreenshotAndStartFeedbackActivity_MembersInjector.java?0.00%?
    TaskCache.java?100.00%?
    TaskCompletionSourceCache.java?72.41%?
    TaskUtils.java?77.50%?
    TesterApiDisabledErrorDetails.java?93.75%?
    TesterApiHttpClient.java?90.09%?
    TesterApiHttpClient_Factory.java?0.00%?
    TesterSignInManager.java?89.41%?
    TesterSignInManager_Factory.java?0.00%?
    UpdateProgressImpl.java?100.00%?
    UpdateTaskCache.java?91.30%?
    UpdateTaskImpl.java?76.32%?

  • firebase-database

    Overall coverage changed from 50.15% (b2fe881) to 50.16% (f189871) by +0.01%.

    FilenameBase (b2fe881)Merge (f189871)Diff
    ViewProcessor.java91.79%92.10%+0.30%
  • firebase-firestore

    Overall coverage changed from 45.78% (b2fe881) to 45.77% (f189871) by -0.00%.

    FilenameBase (b2fe881)Merge (f189871)Diff
    DeleteMutation.java95.24%90.48%-4.76%
  • firebase-sessions

    Overall coverage changed from 66.67% (b2fe881) to 66.56% (f189871) by -0.11%.

    FilenameBase (b2fe881)Merge (f189871)Diff
    RemoteSettings.kt88.73%87.32%-1.41%
  • firebase-storage

    Overall coverage changed from 83.96% (b2fe881) to 84.33% (f189871) by +0.37%.

    FilenameBase (b2fe881)Merge (f189871)Diff
    StorageException.java65.45%69.09%+3.64%
    StorageTask.java83.38%83.99%+0.60%
    UploadTask.java81.52%83.17%+1.65%

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/NJS0hxUFVU.html

@google-oss-bot
Copy link
Contributor

Startup Time Report 1

The report is too large (122,598 chars) to be displayed on GitHub. Please check this report on GCS.

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/BvKMlPEWH6/index.html

@firebase firebase locked and limited conversation to collaborators Jun 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants