Skip to content

Commit

Permalink
fix(app_check): fix debug token tests
Browse files Browse the repository at this point in the history
  • Loading branch information
xVemu committed Feb 3, 2025
1 parent e85fbac commit 6c11b35
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@ private Task<Void> activate(Map<String, Object> arguments) {
case debugProvider:
{
FirebaseAppCheck firebaseAppCheck = getAppCheck(arguments);
FlutterFirebaseAppRegistrar.debugToken = (String) arguments.get("androidDebugToken");
FlutterFirebaseAppRegistrar.debugToken =
(String) arguments.get("androidDebugToken");
firebaseAppCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance());
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,30 @@

import androidx.annotation.Keep;
import androidx.annotation.Nullable;

import com.google.firebase.appcheck.debug.InternalDebugSecretProvider;
import com.google.firebase.components.Component;
import com.google.firebase.components.ComponentRegistrar;
import com.google.firebase.platforminfo.LibraryVersionComponent;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

@Keep
public class FlutterFirebaseAppRegistrar implements ComponentRegistrar, InternalDebugSecretProvider {
public class FlutterFirebaseAppRegistrar
implements ComponentRegistrar, InternalDebugSecretProvider {
private static final String DEBUG_SECRET_NAME = "fire-app-check-debug-secret";

public static String debugToken;

@Override
public List<Component<?>> getComponents() {
Component<?> library = LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME,
BuildConfig.LIBRARY_VERSION);
Component<?> library =
LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION);

Component<InternalDebugSecretProvider> debugSecretProvider = Component.builder(InternalDebugSecretProvider.class)
Component<InternalDebugSecretProvider> debugSecretProvider =
Component.builder(InternalDebugSecretProvider.class)
.name(DEBUG_SECRET_NAME)
.factory(container -> this).build();
.factory(container -> this)
.build();

return Arrays.<Component<?>>asList(library, debugSecretProvider);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ - (void)configure:(FIRApp *)app
if ([providerName isEqualToString:@"debug"]) {
if (debugToken != nil) {
// We have a debug token, so just need to stuff it in the environment and it will hook up
char *key = "FIRAAppCheckDebugToken", *value = (char *) [debugToken UTF8String];
char *key = "FIRAAppCheckDebugToken", *value = (char *)[debugToken UTF8String];
int overwrite = 1;
setenv(key, value, overwrite);
}

FIRAppCheckDebugProvider *provider = [[FIRAppCheckDebugProvider alloc] initWithApp:app];
if(debugToken == nil) NSLog(@"Firebase App Check Debug Token: %@", [provider localDebugToken]);
if (debugToken == nil) NSLog(@"Firebase App Check Debug Token: %@", [provider localDebugToken]);
self.delegateProvider = provider;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@

@property id<FIRAppCheckProvider> delegateProvider;

- (void)configure:(FIRApp *)app providerName:(NSString *)providerName debugToken:(NSString *)debugToken;
- (void)configure:(FIRApp *)app
providerName:(NSString *)providerName
debugToken:(NSString *)debugToken;

- (id)initWithApp:(FIRApp *)app;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

@property NSMutableDictionary *_Nullable providers;

- (void)configure:(FIRApp *_Nonnull)app providerName:(NSString *_Nonnull)providerName debugToken:(NSString *)debugToken;
- (void)configure:(FIRApp *_Nonnull)app
providerName:(NSString *_Nonnull)providerName
debugToken:(NSString *)debugToken;

@end
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,12 @@ class MethodChannelFirebaseAppCheck extends FirebaseAppCheckPlatform {
// Allow value to pass for debug mode for unit testing
if (defaultTargetPlatform == TargetPlatform.android || kDebugMode)
'androidProvider': getAndroidProviderString(androidProvider),
if(androidDebugToken != null)
'androidDebugToken': androidDebugToken,
if (androidDebugToken != null) 'androidDebugToken': androidDebugToken,
if (defaultTargetPlatform == TargetPlatform.iOS ||
defaultTargetPlatform == TargetPlatform.macOS ||
kDebugMode)
'appleProvider': getAppleProviderString(appleProvider),
if(appleDebugToken != null)
'appleDebugToken': appleDebugToken,
if (appleDebugToken != null) 'appleDebugToken': appleDebugToken,
});
} on PlatformException catch (e, s) {
convertPlatformException(e, s);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ class FirebaseAppCheckWeb extends FirebaseAppCheckPlatform {
WebProvider? webProvider,
AndroidProvider? androidProvider,
AppleProvider? appleProvider,
String? androidDebugToken,
String? appleDebugToken,
}) async {
// save the recaptcha type and site key for future startups
if (webProvider != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ class MockFirebaseAppCheckWeb extends _i1.Mock
_i3.WebProvider? webProvider,
_i3.AndroidProvider? androidProvider,
_i3.AppleProvider? appleProvider,
String? androidDebugToken,
String? appleDebugToken,
}) =>
(super.noSuchMethod(
Invocation.method(
Expand All @@ -140,6 +142,8 @@ class MockFirebaseAppCheckWeb extends _i1.Mock
#webProvider: webProvider,
#androidProvider: androidProvider,
#appleProvider: appleProvider,
#androidDebugToken: androidDebugToken,
#appleDebugToken: appleDebugToken,
},
),
returnValue: _i5.Future<void>.value(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -781,6 +781,8 @@ class MockFirebaseAppCheck extends _i1.Mock implements _i10.FirebaseAppCheck {
_i11.WebProvider? webProvider,
_i11.AndroidProvider? androidProvider = _i11.AndroidProvider.playIntegrity,
_i11.AppleProvider? appleProvider = _i11.AppleProvider.deviceCheck,
String? androidDebugToken,
String? appleDebugToken,
}) =>
(super.noSuchMethod(
Invocation.method(
Expand All @@ -790,6 +792,8 @@ class MockFirebaseAppCheck extends _i1.Mock implements _i10.FirebaseAppCheck {
#webProvider: webProvider,
#androidProvider: androidProvider,
#appleProvider: appleProvider,
#androidDebugToken: androidDebugToken,
#appleDebugToken: appleDebugToken,
},
),
returnValue: _i6.Future<void>.value(),
Expand Down

0 comments on commit 6c11b35

Please sign in to comment.