3333#include " firebase/app_check/debug_provider.h"
3434#include " firebase/app_check/device_check_provider.h"
3535#include " firebase/app_check/play_integrity_provider.h"
36- #include " firebase/app_check/safety_net_provider.h"
3736#include " firebase/auth.h"
3837#include " firebase/database.h"
3938#include " firebase/internal/platform.h"
@@ -150,11 +149,13 @@ void FirebaseAppCheckTest::InitializeAppCheckWithDebug() {
150149}
151150
152151void FirebaseAppCheckTest::TerminateAppCheck () {
153- ::firebase::app_check::AppCheck* app_check =
154- ::firebase::app_check::AppCheck::GetInstance (app_);
155- if (app_check) {
156- LogDebug (" Shutdown App Check." );
157- delete app_check;
152+ if (app_) {
153+ ::firebase::app_check::AppCheck* app_check =
154+ ::firebase::app_check::AppCheck::GetInstance (app_);
155+ if (app_check) {
156+ LogDebug (" Shutdown App Check." );
157+ delete app_check;
158+ }
158159 }
159160}
160161
@@ -357,6 +358,8 @@ TEST_F(FirebaseAppCheckTest, TestInitializeAndTerminate) {
357358 InitializeApp ();
358359}
359360
361+ // Android does not yet implement the main app check methods
362+ #if !FIREBASE_PLATFORM_ANDROID
360363TEST_F (FirebaseAppCheckTest, TestGetTokenForcingRefresh) {
361364 InitializeAppCheckWithDebug ();
362365 InitializeApp ();
@@ -389,7 +392,10 @@ TEST_F(FirebaseAppCheckTest, TestGetTokenForcingRefresh) {
389392 EXPECT_NE (future.result ()->expire_time_millis ,
390393 future3.result ()->expire_time_millis );
391394}
395+ #endif // !FIREBASE_PLATFORM_ANDROID
392396
397+ // Android does not yet implement the main app check methods
398+ #if !FIREBASE_PLATFORM_ANDROID
393399TEST_F (FirebaseAppCheckTest, TestGetTokenLastResult) {
394400 InitializeAppCheckWithDebug ();
395401 InitializeApp ();
@@ -407,7 +413,10 @@ TEST_F(FirebaseAppCheckTest, TestGetTokenLastResult) {
407413 EXPECT_EQ (future.result ()->expire_time_millis ,
408414 future2.result ()->expire_time_millis );
409415}
416+ #endif // !FIREBASE_PLATFORM_ANDROID
410417
418+ // Android does not yet implement the main app check methods
419+ #if !FIREBASE_PLATFORM_ANDROID
411420TEST_F (FirebaseAppCheckTest, TestAddTokenChangedListener) {
412421 InitializeAppCheckWithDebug ();
413422 InitializeApp ();
@@ -427,7 +436,10 @@ TEST_F(FirebaseAppCheckTest, TestAddTokenChangedListener) {
427436 ASSERT_EQ (token_changed_listener.num_token_changes_ , 1 );
428437 EXPECT_EQ (token_changed_listener.last_token_ .token , token.token );
429438}
439+ #endif // !FIREBASE_PLATFORM_ANDROID
430440
441+ // Android does not yet implement the main app check methods
442+ #if !FIREBASE_PLATFORM_ANDROID
431443TEST_F (FirebaseAppCheckTest, TestRemoveTokenChangedListener) {
432444 InitializeAppCheckWithDebug ();
433445 InitializeApp ();
@@ -446,6 +458,7 @@ TEST_F(FirebaseAppCheckTest, TestRemoveTokenChangedListener) {
446458
447459 ASSERT_EQ (token_changed_listener.num_token_changes_ , 0 );
448460}
461+ #endif // !FIREBASE_PLATFORM_ANDROID
449462
450463TEST_F (FirebaseAppCheckTest, TestSignIn) {
451464 InitializeAppCheckWithDebug ();
@@ -457,9 +470,16 @@ TEST_F(FirebaseAppCheckTest, TestSignIn) {
457470TEST_F (FirebaseAppCheckTest, TestDebugProviderValidToken) {
458471 firebase::app_check::DebugAppCheckProviderFactory* factory =
459472 firebase::app_check::DebugAppCheckProviderFactory::GetInstance ();
460- #if FIREBASE_PLATFORM_IOS || FIREBASE_PLATFORM_DESKTOP
461473 ASSERT_NE (factory, nullptr );
474+ InitializeAppCheckWithDebug ();
462475 InitializeApp ();
476+ // TODO(almostmatt): Once app initialization automatically initializes
477+ // AppCheck, this test will no longer need to explicitly get an instance of
478+ // AppCheck.
479+ ::firebase::app_check::AppCheck* app_check =
480+ ::firebase::app_check::AppCheck::GetInstance (app_);
481+ ASSERT_NE (app_check, nullptr );
482+
463483 firebase::app_check::AppCheckProvider* provider =
464484 factory->CreateProvider (app_);
465485 ASSERT_NE (provider, nullptr );
@@ -477,9 +497,6 @@ TEST_F(FirebaseAppCheckTest, TestDebugProviderValidToken) {
477497 auto got_token_future = got_token_promise->get_future ();
478498 ASSERT_EQ (std::future_status::ready,
479499 got_token_future.wait_for (kGetTokenTimeout ));
480- #else
481- EXPECT_EQ (factory, nullptr );
482- #endif
483500}
484501
485502TEST_F (FirebaseAppCheckTest, TestAppAttestProvider) {
@@ -551,20 +568,6 @@ TEST_F(FirebaseAppCheckTest, TestPlayIntegrityProvider) {
551568#endif
552569}
553570
554- TEST_F (FirebaseAppCheckTest, TestSafetyNetProvider) {
555- firebase::app_check::SafetyNetProviderFactory* factory =
556- firebase::app_check::SafetyNetProviderFactory::GetInstance ();
557- #if FIREBASE_PLATFORM_ANDROID
558- ASSERT_NE (factory, nullptr );
559- InitializeApp ();
560- firebase::app_check::AppCheckProvider* provider =
561- factory->CreateProvider (app_);
562- EXPECT_NE (provider, nullptr );
563- #else
564- EXPECT_EQ (factory, nullptr );
565- #endif
566- }
567-
568571// Disabling the database tests for now, since they are crashing or hanging.
569572TEST_F (FirebaseAppCheckTest, DISABLED_TestDatabaseFailure) {
570573 // Don't initialize App Check this time. Database should fail.
0 commit comments