Skip to content
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

App Check and Storage, Functions, and RtDb support #2601

Merged
merged 14 commits into from
Apr 22, 2021
Merged

Conversation

rosalyntan
Copy link
Member

@rosalyntan rosalyntan commented Apr 21, 2021

Open-sourcing ongoing App Check SDK work. Changes in this PR have been reviewed in separate PRs in the private repo.

Co-authored-by: Malcolm Deck mdeck@google.com
Co-authored-by: Vladimir Kryachko vkryachko@google.com
Co-authored-by: Sebastian Schmidt mrschmidt@google.com

Fixed merge conflicts in firebase-storage.gradle and FirebaseStorage.java.
@google-oss-bot
Copy link
Contributor

google-oss-bot commented Apr 21, 2021

Coverage Report

Affected SDKs

  • firebase-appcheck

    SDK overall coverage changed from ? (1275ceb) to 83.17% (235f5b9a) by ?.

    Click to show coverage changes in 17 files.
    Filename Base (1275ceb) Head (235f5b9a) Diff
    AppCheckProvider.java ? 0.00% ?
    AppCheckProviderFactory.java ? 0.00% ?
    AppCheckToken.java ? 100.00% ?
    AppCheckTokenResponse.java ? 100.00% ?
    Clock.java ? 100.00% ?
    DefaultAppCheckToken.java ? 88.00% ?
    DefaultAppCheckTokenResult.java ? 100.00% ?
    DefaultFirebaseAppCheck.java ? 83.58% ?
    DefaultTokenRefresher.java ? 94.59% ?
    FirebaseAppCheck.java ? 100.00% ?
    FirebaseAppCheckRegistrar.java ? 100.00% ?
    HttpErrorResponse.java ? 100.00% ?
    Logger.java ? 32.43% ?
    NetworkClient.java ? 97.44% ?
    StorageHelper.java ? 92.31% ?
    TokenParser.java ? 73.91% ?
    TokenRefreshManager.java ? 80.95% ?
  • firebase-appcheck-debug

    SDK overall coverage changed from ? (1275ceb) to 81.43% (235f5b9a) by ?.

    Filename Base (1275ceb) Head (235f5b9a) Diff
    DebugAppCheckProvider.java ? 80.43% ?
    DebugAppCheckProviderFactory.java ? 55.56% ?
    ExchangeDebugTokenRequest.java ? 100.00% ?
    StorageHelper.java ? 100.00% ?
  • firebase-appcheck-debug-testing

    SDK overall coverage changed from ? (1275ceb) to 76.00% (235f5b9a) by ?.

    Filename Base (1275ceb) Head (235f5b9a) Diff
    DebugAppCheckProviderFactoryHelper.java ? 50.00% ?
    DebugAppCheckTestHelper.java ? 78.26% ?
  • firebase-appcheck-safetynet

    SDK overall coverage changed from ? (1275ceb) to 82.19% (235f5b9a) by ?.

    Filename Base (1275ceb) Head (235f5b9a) Diff
    ExchangeSafetyNetTokenRequest.java ? 100.00% ?
    SafetyNetAppCheckProvider.java ? 81.25% ?
    SafetyNetAppCheckProviderFactory.java ? 66.67% ?
  • firebase-database

    SDK overall coverage changed from 48.94% (1275ceb) to 48.84% (235f5b9a) by -0.10%.

    Filename Base (1275ceb) Head (235f5b9a) Diff
    AndroidAppCheckTokenProvider.java ? 50.00% ?
    ConnectionContext.java 88.89% 90.00% +1.11%
    ConnectionTokenProvider.java ? 0.00% ?
    Context.java 75.93% 76.99% +1.07%
    DatabaseConfig.java 63.04% 64.58% +1.54%
    PersistentConnectionImpl.java 12.65% 13.89% +1.24%
    Repo.java 8.48% 9.02% +0.54%
    TokenProvider.java ? 0.00% ?
    WebsocketConnection.java 19.32% 19.77% +0.46%
  • firebase-functions

    SDK overall coverage changed from 3.59% (1275ceb) to 3.59% (235f5b9a) by -0.00%.

    Filename Base (1275ceb) Head (235f5b9a) Diff
    FunctionsRegistrar.java 66.67% 65.22% -1.45%
  • firebase-perf

    SDK overall coverage changed from ? (1275ceb) to 70.67% (235f5b9a) by ?.

    Click to show coverage changes in 95 files.
    Filename Base (1275ceb) Head (235f5b9a) Diff
    AddTrace.java ? 0.00% ?
    AndroidApplicationInfo.java ? 34.71% ?
    AndroidApplicationInfoOrBuilder.java ? 0.00% ?
    AndroidLogger.java ? 97.78% ?
    AndroidMemoryReading.java ? 38.36% ?
    AndroidMemoryReadingOrBuilder.java ? 0.00% ?
    AppStartTrace.java ? 85.71% ?
    AppStateMonitor.java ? 86.78% ?
    AppStateUpdateHandler.java ? 92.59% ?
    ApplicationInfo.java ? 45.00% ?
    ApplicationInfoOrBuilder.java ? 0.00% ?
    ApplicationProcessState.java ? 73.91% ?
    Clock.java ? 100.00% ?
    ConfigResolver.java ? 97.23% ?
    ConfigurationConstants.java ? 99.21% ?
    ConfigurationFlag.java ? 100.00% ?
    Constants.java ? 95.65% ?
    Counter.java ? 90.91% ?
    CpuGaugeCollector.java ? 93.10% ?
    CpuMetricReading.java ? 39.33% ?
    CpuMetricReadingOrBuilder.java ? 0.00% ?
    DaggerFirebasePerformanceComponent.java ? 100.00% ?
    DeviceCacheManager.java ? 76.03% ?
    FirebasePerfApplicationInfoValidator.java ? 92.86% ?
    FirebasePerfGaugeMetricValidator.java ? 100.00% ?
    FirebasePerfHttpClient.java ? 93.85% ?
    FirebasePerfMetricProto.java ? 0.00% ?
    FirebasePerfNetworkValidator.java ? 86.67% ?
    FirebasePerfOkHttpClient.java ? 44.90% ?
    FirebasePerfProvider.java ? 76.92% ?
    FirebasePerfRegistrar.java ? 100.00% ?
    FirebasePerfTraceValidator.java ? 88.24% ?
    FirebasePerfUrlConnection.java ? 44.26% ?
    FirebasePerformance.java ? 82.95% ?
    FirebasePerformanceAttributable.java ? 0.00% ?
    FirebasePerformanceComponent.java ? 0.00% ?
    FirebasePerformanceInitializer.java ? 33.33% ?
    FirebasePerformanceModule.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesConfigResolverFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesFirebaseAppFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesFirebaseInstallationsFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesGaugeManagerFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesRemoteConfigComponentFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesRemoteConfigManagerFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesTransportFactoryProviderFactory.java ? 100.00% ?
    FirebasePerformance_Factory.java ? 100.00% ?
    FlgTransport.java ? 83.33% ?
    GaugeManager.java ? 98.39% ?
    GaugeMetadata.java ? 32.21% ?
    GaugeMetadataManager.java ? 84.21% ?
    GaugeMetadataOrBuilder.java ? 0.00% ?
    GaugeMetric.java ? 39.47% ?
    GaugeMetricOrBuilder.java ? 0.00% ?
    HttpMetric.java ? 91.78% ?
    ImmutableBundle.java ? 100.00% ?
    InstrHttpInputStream.java ? 92.86% ?
    InstrHttpOutputStream.java ? 98.00% ?
    InstrHttpURLConnection.java ? 93.42% ?
    InstrHttpsURLConnection.java ? 94.32% ?
    InstrURLConnectionBase.java ? 95.24% ?
    InstrumentApacheHttpResponseHandler.java ? 100.00% ?
    InstrumentOkHttpEnqueueCallback.java ? 100.00% ?
    LogWrapper.java ? 23.08% ?
    MemoryGaugeCollector.java ? 90.00% ?
    NetworkConnectionInfo.java ? 0.00% ?
    NetworkConnectionInfoOrBuilder.java ? 0.00% ?
    NetworkRequestMetric.java ? 49.16% ?
    NetworkRequestMetricBuilder.java ? 95.97% ?
    NetworkRequestMetricBuilderUtil.java ? 75.00% ?
    NetworkRequestMetricOrBuilder.java ? 0.00% ?
    Optional.java ? 86.67% ?
    PendingPerfEvent.java ? 100.00% ?
    PerfMetric.java ? 33.67% ?
    PerfMetricOrBuilder.java ? 0.00% ?
    PerfMetricValidator.java ? 90.32% ?
    PerfSession.java ? 93.33% ?
    PerfSessionOrBuilder.java ? 0.00% ?
    RateLimiter.java ? 90.27% ?
    RemoteConfigManager.java ? 92.24% ?
    ResourceType.java ? 0.00% ?
    SessionAwareObject.java ? 0.00% ?
    SessionManager.java ? 100.00% ?
    SessionVerbosity.java ? 68.42% ?
    StorageUnit.java ? 57.89% ?
    Timer.java ? 93.75% ?
    Trace.java ? 96.69% ?
    TraceMetric.java ? 43.42% ?
    TraceMetricBuilder.java ? 100.00% ?
    TraceMetricOrBuilder.java ? 0.00% ?
    TransportInfo.java ? 0.00% ?
    TransportInfoOrBuilder.java ? 0.00% ?
    TransportManager.java ? 96.08% ?
    URLAllowlist.java ? 94.44% ?
    URLWrapper.java ? 0.00% ?
    Utils.java ? 78.57% ?
  • firebase-storage

    SDK overall coverage changed from 85.69% (1275ceb) to 85.85% (235f5b9a) by +0.16%.

    Click to show coverage changes in 11 files.
    Filename Base (1275ceb) Head (235f5b9a) Diff
    ExponentialBackoffSender.java 86.05% 86.00% -0.05%
    FileDownloadTask.java 79.84% 80.00% +0.16%
    FirebaseStorage.java 84.88% 85.11% +0.22%
    GetDownloadUrlTask.java 96.67% 96.77% +0.11%
    GetMetadataTask.java 84.62% 85.19% +0.57%
    ListTask.java 85.19% 85.71% +0.53%
    NetworkRequest.java 86.98% 86.67% -0.31%
    StreamDownloadTask.java 88.83% 88.89% +0.05%
    UpdateMetadataTask.java 81.48% 82.14% +0.66%
    UploadTask.java 80.22% 80.58% +0.36%
    Util.java 67.24% 73.24% +6.00%

Test Logs

Notes

HTML coverage reports can be produced locally with ./gradlew <product>:checkCoverage.
Report files are located at <product-build-dir>/reports/jacoco/.

Head commit (235f5b9a) is created by Prow via merging commits: 1275ceb b9951af.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Apr 21, 2021

Binary Size Report

Affected SDKs

  • firebase-appcheck

    Type Base (1275ceb) Head (235f5b9a) Diff
    aar ? 32.2 kB ? (?)
    apk (aggressive) ? 284 kB ? (?)
    apk (release) ? 935 kB ? (?)
  • firebase-appcheck-debug

    Type Base (1275ceb) Head (235f5b9a) Diff
    aar ? 11.0 kB ? (?)
    apk (aggressive) ? 284 kB ? (?)
    apk (release) ? 938 kB ? (?)
  • firebase-appcheck-debug-testing

    Type Base (1275ceb) Head (235f5b9a) Diff
    aar ? 6.40 kB ? (?)
    apk (aggressive) ? 286 kB ? (?)
    apk (release) ? 971 kB ? (?)
  • firebase-appcheck-interop

    Type Base (1275ceb) Head (235f5b9a) Diff
    aar ? 5.17 kB ? (?)
    apk (aggressive) ? 281 kB ? (?)
    apk (release) ? 925 kB ? (?)
  • firebase-appcheck-safetynet

    Type Base (1275ceb) Head (235f5b9a) Diff
    aar ? 11.5 kB ? (?)
    apk (aggressive) ? 284 kB ? (?)
    apk (release) ? 947 kB ? (?)
  • firebase-database

    Type Base (1275ceb) Head (235f5b9a) Diff
    aar 486 kB 490 kB +4.49 kB (+0.9%)
    apk (aggressive) 283 kB 283 kB +232 B (+0.1%)
    apk (release) 1.09 MB 1.10 MB +5.08 kB (+0.5%)
  • firebase-database-ktx

    Type Base (1275ceb) Head (235f5b9a) Diff
    apk (aggressive) 302 kB 303 kB +220 B (+0.1%)
    apk (release) 1.57 MB 1.58 MB +5.98 kB (+0.4%)
  • firebase-functions

    Type Base (1275ceb) Head (235f5b9a) Diff
    aar 24.3 kB 25.5 kB +1.27 kB (+5.3%)
    apk (aggressive) 350 kB 350 kB +520 B (+0.1%)
    apk (release) 1.16 MB 1.17 MB +4.47 kB (+0.4%)
  • firebase-functions-ktx

    Type Base (1275ceb) Head (235f5b9a) Diff
    apk (aggressive) 370 kB 370 kB +812 B (+0.2%)
    apk (release) 1.64 MB 1.65 MB +3.38 kB (+0.2%)
  • firebase-storage

    Type Base (1275ceb) Head (235f5b9a) Diff
    aar 113 kB 115 kB +2.10 kB (+1.9%)
    apk (aggressive) 282 kB 282 kB +84 B (+0.0%)
    apk (release) 962 kB 965 kB +3.68 kB (+0.4%)
  • firebase-storage-ktx

    Type Base (1275ceb) Head (235f5b9a) Diff
    apk (aggressive) 298 kB 302 kB +4.18 kB (+1.4%)
    apk (release) 1.44 MB 1.45 MB +4.36 kB (+0.3%)

Test Logs

Notes

Head commit (235f5b9a) is created by Prow via merging commits: 1275ceb b9951af.

@rosalyntan
Copy link
Member Author

I've disabled the App Check integration tests, as we need to reconfigure the debug secret environment variable for the public repo before the tests will work.

The smoke-tests failures are likely flakes, and @schmidt-sebastian is working on a PR to fix those.
There are also failures in device-check-changed re: the ktx:mergeDexReleaseAndroidTest task in various SDKs, but this looks like a pre-existing failure.

@rosalyntan
Copy link
Member Author

/test check-changed

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Apr 22, 2021

@rosalyntan: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
device-check-changed b9951af link /test device-check-changed

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@rosalyntan
Copy link
Member Author

/test check-changed

@rosalyntan rosalyntan merged commit 6da8617 into master Apr 22, 2021
@rosalyntan rosalyntan deleted the app-check branch April 22, 2021 21:54
@firebase firebase locked and limited conversation to collaborators May 23, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants