Skip to content

Commit 2032a92

Browse files
committed
Address review comments.
1 parent ccd7ae3 commit 2032a92

File tree

5 files changed

+24
-23
lines changed

5 files changed

+24
-23
lines changed

appcheck/firebase-appcheck/firebase-appcheck.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ dependencies {
5050

5151
javadocClasspath 'com.google.auto.value:auto-value-annotations:1.6.6'
5252

53+
testImplementation project(':integ-testing')
5354
testImplementation 'junit:junit:4.13-beta-2'
5455
testImplementation 'org.mockito:mockito-core:2.25.0'
5556
testImplementation 'org.mockito:mockito-inline:2.25.0'

appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/FirebaseAppCheckRegistrar.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import com.google.firebase.platforminfo.LibraryVersionComponent;
3030
import java.util.Arrays;
3131
import java.util.List;
32-
import java.util.concurrent.ExecutorService;
32+
import java.util.concurrent.Executor;
3333
import java.util.concurrent.ScheduledExecutorService;
3434

3535
/**
@@ -44,24 +44,23 @@ public class FirebaseAppCheckRegistrar implements ComponentRegistrar {
4444

4545
@Override
4646
public List<Component<?>> getComponents() {
47-
Qualified<ExecutorService> backgroundExecutorService =
48-
Qualified.qualified(Background.class, ExecutorService.class);
47+
Qualified<Executor> backgroundExecutor = Qualified.qualified(Background.class, Executor.class);
4948
Qualified<ScheduledExecutorService> blockingScheduledExecutorService =
5049
Qualified.qualified(Blocking.class, ScheduledExecutorService.class);
5150

5251
return Arrays.asList(
5352
Component.builder(FirebaseAppCheck.class, (InternalAppCheckTokenProvider.class))
5453
.name(LIBRARY_NAME)
5554
.add(Dependency.required(FirebaseApp.class))
56-
.add(Dependency.required(backgroundExecutorService))
55+
.add(Dependency.required(backgroundExecutor))
5756
.add(Dependency.required(blockingScheduledExecutorService))
5857
.add(Dependency.optionalProvider(HeartBeatController.class))
5958
.factory(
6059
(container) ->
6160
new DefaultFirebaseAppCheck(
6261
container.get(FirebaseApp.class),
6362
container.getProvider(HeartBeatController.class),
64-
container.get(backgroundExecutorService),
63+
container.get(backgroundExecutor),
6564
container.get(blockingScheduledExecutorService)))
6665
.alwaysEager()
6766
.build(),

appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/DefaultFirebaseAppCheck.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import com.google.firebase.inject.Provider;
3939
import java.util.ArrayList;
4040
import java.util.List;
41-
import java.util.concurrent.ExecutorService;
41+
import java.util.concurrent.Executor;
4242
import java.util.concurrent.ScheduledExecutorService;
4343

4444
public class DefaultFirebaseAppCheck extends FirebaseAppCheck {
@@ -51,7 +51,7 @@ public class DefaultFirebaseAppCheck extends FirebaseAppCheck {
5151
private final List<AppCheckListener> appCheckListenerList;
5252
private final StorageHelper storageHelper;
5353
private final TokenRefreshManager tokenRefreshManager;
54-
private final ExecutorService backgroundExecutor;
54+
private final Executor backgroundExecutor;
5555
private final ScheduledExecutorService scheduledExecutorService;
5656
private final Task<Void> retrieveStoredTokenTask;
5757
private final Clock clock;
@@ -63,7 +63,7 @@ public class DefaultFirebaseAppCheck extends FirebaseAppCheck {
6363
public DefaultFirebaseAppCheck(
6464
@NonNull FirebaseApp firebaseApp,
6565
@NonNull Provider<HeartBeatController> heartBeatController,
66-
@Background ExecutorService backgroundExecutor,
66+
@Background Executor backgroundExecutor,
6767
@Blocking ScheduledExecutorService scheduledExecutorService) {
6868
checkNotNull(firebaseApp);
6969
checkNotNull(heartBeatController);
@@ -81,7 +81,7 @@ public DefaultFirebaseAppCheck(
8181
this.clock = new Clock.DefaultClock();
8282
}
8383

84-
private Task<Void> retrieveStoredAppCheckTokenInBackground(@NonNull ExecutorService executor) {
84+
private Task<Void> retrieveStoredAppCheckTokenInBackground(@NonNull Executor executor) {
8585
TaskCompletionSource<Void> taskCompletionSource = new TaskCompletionSource<>();
8686
executor.execute(
8787
() -> {

appcheck/firebase-appcheck/src/test/java/com/google/firebase/appcheck/FirebaseAppCheckRegistrarTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import com.google.firebase.components.Qualified;
2525
import com.google.firebase.heartbeatinfo.HeartBeatController;
2626
import java.util.List;
27-
import java.util.concurrent.ExecutorService;
27+
import java.util.concurrent.Executor;
2828
import java.util.concurrent.ScheduledExecutorService;
2929
import org.junit.Test;
3030
import org.junit.runner.RunWith;
@@ -44,7 +44,7 @@ public void testGetComponents() {
4444
assertThat(firebaseAppCheckComponent.getDependencies())
4545
.containsExactly(
4646
Dependency.required(FirebaseApp.class),
47-
Dependency.required(Qualified.qualified(Background.class, ExecutorService.class)),
47+
Dependency.required(Qualified.qualified(Background.class, Executor.class)),
4848
Dependency.required(
4949
Qualified.qualified(Blocking.class, ScheduledExecutorService.class)),
5050
Dependency.optionalProvider(HeartBeatController.class));

appcheck/firebase-appcheck/src/test/java/com/google/firebase/appcheck/internal/DefaultFirebaseAppCheckTest.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,24 @@
1717
import static com.google.common.truth.Truth.assertThat;
1818
import static org.junit.Assert.assertThrows;
1919
import static org.mockito.ArgumentMatchers.any;
20-
import static org.mockito.Mockito.mock;
2120
import static org.mockito.Mockito.never;
2221
import static org.mockito.Mockito.verify;
2322
import static org.mockito.Mockito.when;
23+
import static org.robolectric.Shadows.shadowOf;
2424

25+
import android.os.Looper;
2526
import androidx.test.core.app.ApplicationProvider;
2627
import com.google.android.gms.tasks.Task;
2728
import com.google.android.gms.tasks.Tasks;
28-
import com.google.common.util.concurrent.MoreExecutors;
2929
import com.google.firebase.FirebaseApp;
3030
import com.google.firebase.appcheck.AppCheckProvider;
3131
import com.google.firebase.appcheck.AppCheckProviderFactory;
3232
import com.google.firebase.appcheck.AppCheckToken;
3333
import com.google.firebase.appcheck.AppCheckTokenResult;
3434
import com.google.firebase.appcheck.FirebaseAppCheck.AppCheckListener;
3535
import com.google.firebase.appcheck.interop.AppCheckTokenListener;
36+
import com.google.firebase.concurrent.TestOnlyExecutors;
3637
import com.google.firebase.heartbeatinfo.HeartBeatController;
37-
import java.util.concurrent.ScheduledExecutorService;
3838
import org.junit.Before;
3939
import org.junit.Test;
4040
import org.junit.runner.RunWith;
@@ -44,11 +44,12 @@
4444
import org.robolectric.RobolectricTestRunner;
4545
import org.robolectric.annotation.Config;
4646
import org.robolectric.annotation.LooperMode;
47+
import org.robolectric.annotation.LooperMode.Mode;
4748

4849
/** Tests for {@link DefaultFirebaseAppCheck}. */
4950
@RunWith(RobolectricTestRunner.class)
5051
@Config(manifest = Config.NONE)
51-
@LooperMode(LooperMode.Mode.LEGACY)
52+
@LooperMode(Mode.PAUSED)
5253
public class DefaultFirebaseAppCheckTest {
5354

5455
private static final String EXCEPTION_TEXT = "exceptionText";
@@ -82,8 +83,10 @@ public void setup() {
8283
new DefaultFirebaseAppCheck(
8384
mockFirebaseApp,
8485
() -> mockHeartBeatController,
85-
MoreExecutors.newDirectExecutorService(),
86-
mock(ScheduledExecutorService.class));
86+
TestOnlyExecutors.background(),
87+
TestOnlyExecutors.blocking());
88+
89+
shadowOf(Looper.getMainLooper()).idle();
8790
}
8891

8992
@Test
@@ -94,8 +97,8 @@ public void testConstructor_nullFirebaseApp_expectThrows() {
9497
new DefaultFirebaseAppCheck(
9598
null,
9699
() -> mockHeartBeatController,
97-
MoreExecutors.newDirectExecutorService(),
98-
mock(ScheduledExecutorService.class));
100+
TestOnlyExecutors.background(),
101+
TestOnlyExecutors.blocking());
99102
});
100103
}
101104

@@ -105,10 +108,7 @@ public void testConstructor_nullHeartBeatControllerProvider_expectThrows() {
105108
NullPointerException.class,
106109
() -> {
107110
new DefaultFirebaseAppCheck(
108-
mockFirebaseApp,
109-
null,
110-
MoreExecutors.newDirectExecutorService(),
111-
mock(ScheduledExecutorService.class));
111+
mockFirebaseApp, null, TestOnlyExecutors.background(), TestOnlyExecutors.blocking());
112112
});
113113
}
114114

@@ -343,6 +343,7 @@ public void testGetToken_existingValidToken_forceRefresh_requestsNewToken() {
343343
defaultFirebaseAppCheck.installAppCheckProviderFactory(mockAppCheckProviderFactory);
344344

345345
defaultFirebaseAppCheck.getToken(/* forceRefresh= */ true);
346+
shadowOf(Looper.getMainLooper()).idle();
346347

347348
verify(mockAppCheckProvider).getToken();
348349
}

0 commit comments

Comments
 (0)