From ec27fafbc79c228a10c9813dffd5d0a67617018c Mon Sep 17 00:00:00 2001 From: David Liu Date: Thu, 5 Aug 2021 09:36:08 +0900 Subject: [PATCH 1/3] initWithAuthUI: Auth Fix When custom FIRAuth is used, it needs to be passed to create AuthProvider. This fix is required for auth providers like Twitter. Related PR: #974 --- FirebaseOAuthUI/Sources/FUIOAuth.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FirebaseOAuthUI/Sources/FUIOAuth.m b/FirebaseOAuthUI/Sources/FUIOAuth.m index c349ff49f7d..d17eb6d07c3 100644 --- a/FirebaseOAuthUI/Sources/FUIOAuth.m +++ b/FirebaseOAuthUI/Sources/FUIOAuth.m @@ -136,7 +136,7 @@ - (instancetype)initWithAuthUI:(FUIAuth *)authUI _customParameters = customParameters; _loginHintKey = loginHintKey; if ((_authUI.isEmulatorEnabled || ![_providerID isEqualToString:@"apple.com"]) && ![_providerID isEqualToString:@"facebook.com"]) { - _provider = [FIROAuthProvider providerWithProviderID:self.providerID]; + _provider = [FIROAuthProvider providerWithProviderID:self.providerID auth:_authUI.auth]; } } return self; From 2b991eee87f8c3e0dd8d7d8aca024c2461640c37 Mon Sep 17 00:00:00 2001 From: David Liu Date: Tue, 10 Aug 2021 10:02:26 +0900 Subject: [PATCH 2/3] Fixed the Failing Tests. --- FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m b/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m index 1f49fa0b677..4eb87e4e245 100644 --- a/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m +++ b/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m @@ -42,7 +42,7 @@ - (void)setUp { OCMStub([authClass app]).andReturn(appClass); self.mockOAuthProvider = OCMClassMock([FIROAuthProvider class]); - OCMStub(ClassMethod([_mockOAuthProvider providerWithProviderID:OCMOCK_ANY])). + OCMStub(ClassMethod([_mockOAuthProvider providerWithProviderID:OCMOCK_ANY auth:OCMOCK_ANY])). andReturn(_mockOAuthProvider); FIRAuth *auth = [FIRAuth auth]; From 83c5fc405a51491740ef54990a92dcc4eaf1d77c Mon Sep 17 00:00:00 2001 From: David Liu Date: Tue, 10 Aug 2021 10:25:04 +0900 Subject: [PATCH 3/3] More Tests Fixes --- .../FirebaseOAuthUITests/FirebaseOAuthUITests.m | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m b/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m index 4eb87e4e245..e260ded03c7 100644 --- a/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m +++ b/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m @@ -40,13 +40,13 @@ - (void)setUp { id appClass = OCMClassMock([FIRApp class]); OCMStub([authClass app]).andReturn(appClass); + + FIRAuth *auth = [FIRAuth auth]; + self.authUI = [FUIAuth authUIWithAuth:auth]; self.mockOAuthProvider = OCMClassMock([FIROAuthProvider class]); - OCMStub(ClassMethod([_mockOAuthProvider providerWithProviderID:OCMOCK_ANY auth:OCMOCK_ANY])). + OCMStub(ClassMethod([_mockOAuthProvider providerWithProviderID:OCMOCK_ANY auth:self.authUI.auth])). andReturn(_mockOAuthProvider); - - FIRAuth *auth = [FIRAuth auth]; - self.authUI = [FUIAuth authUIWithAuth:auth]; } - (void)tearDown { @@ -78,7 +78,7 @@ - (void)testProviderValidity { XCTAssertNil(self.provider.accessToken); XCTAssertNil(self.provider.idToken); - OCMVerify([self.mockOAuthProvider providerWithProviderID:@"dummy"]); + OCMVerify([self.mockOAuthProvider providerWithProviderID:@"dummy" auth:self.authUI.auth]); } - (void)testAppleUsesEmulatorCreatesOAuthProvider { @@ -93,7 +93,7 @@ - (void)testAppleUsesEmulatorCreatesOAuthProvider { scopes:@[] customParameters:@{} loginHintKey:nil]; - OCMVerify([self.mockOAuthProvider providerWithProviderID:@"apple.com"]); + OCMVerify([self.mockOAuthProvider providerWithProviderID:@"apple.com" auth:self.authUI.auth]); } - (void)testAppleNoUseEmulatorNoOAuthProvider { @@ -106,7 +106,7 @@ - (void)testAppleNoUseEmulatorNoOAuthProvider { scopes:@[] customParameters:@{} loginHintKey:nil]; - OCMVerify(never(), [self.mockOAuthProvider providerWithProviderID:@"apple.com"]); + OCMVerify(never(), [self.mockOAuthProvider providerWithProviderID:@"apple.com" auth:self.authUI.auth]); } @end