diff options
author | Paul Beusterien <paulbeusterien@google.com> | 2018-04-24 16:19:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-24 16:19:11 -0700 |
commit | 83b519f0a53a2efc946b32b1708d882a34f30d3a (patch) | |
tree | 57ec0e02b22e9b59d7d5976a83df6f4701620995 /Example | |
parent | 6a432ad6281c8f387e643757aba12d616f6757fd (diff) |
Remove GTM dependency from FirebaseAuth (#1175)
Diffstat (limited to 'Example')
-rw-r--r-- | Example/Auth/Tests/FIRPhoneAuthProviderTests.m | 24 | ||||
-rw-r--r-- | Example/Auth/Tests/FIRVerifyAssertionRequestTests.m | 40 |
2 files changed, 40 insertions, 24 deletions
diff --git a/Example/Auth/Tests/FIRPhoneAuthProviderTests.m b/Example/Auth/Tests/FIRPhoneAuthProviderTests.m index 2b58270..e00fa1f 100644 --- a/Example/Auth/Tests/FIRPhoneAuthProviderTests.m +++ b/Example/Auth/Tests/FIRPhoneAuthProviderTests.m @@ -14,7 +14,6 @@ * limitations under the License. */ -#import <GoogleToolboxForMac/GTMNSDictionary+URLArguments.h> #import <OCMock/OCMock.h> #import <XCTest/XCTest.h> @@ -34,6 +33,7 @@ #import "FIRAuthRequestConfiguration.h" #import "FIRAuthUIDelegate.h" #import "FIRAuthURLPresenter.h" +#import "FIRAuthWebUtils.h" #import "FIRGetProjectConfigRequest.h" #import "FIRGetProjectConfigResponse.h" #import "FIRSendVerificationCodeRequest.h" @@ -409,12 +409,19 @@ static const NSTimeInterval kExpectationTimeout = 2; XCTAssertEqualObjects(presentURL.scheme, @"https"); XCTAssertEqualObjects(presentURL.host, kFakeAuthorizedDomain); XCTAssertEqualObjects(presentURL.path, @"/__/auth/handler"); - NSDictionary *params = [NSDictionary gtm_dictionaryWithHttpArgumentsString:presentURL.query]; - XCTAssertEqualObjects(params[@"ibi"], kFakeBundleID); - XCTAssertEqualObjects(params[@"clientId"], kFakeClientID); - XCTAssertEqualObjects(params[@"apiKey"], kFakeAPIKey); - XCTAssertEqualObjects(params[@"authType"], @"verifyApp"); - XCTAssertNotNil(params[@"v"]); + + NSURLComponents *actualURLComponents = [NSURLComponents componentsWithURL:presentURL + resolvingAgainstBaseURL:NO]; + NSArray<NSURLQueryItem *> *queryItems = [actualURLComponents queryItems]; + XCTAssertEqualObjects([FIRAuthWebUtils queryItemValue:@"ibi" from:queryItems], + kFakeBundleID); + XCTAssertEqualObjects([FIRAuthWebUtils queryItemValue:@"clientId" from:queryItems], + kFakeClientID); + XCTAssertEqualObjects([FIRAuthWebUtils queryItemValue:@"apiKey" from:queryItems], + kFakeAPIKey); + XCTAssertEqualObjects([FIRAuthWebUtils queryItemValue:@"authType" from:queryItems], + @"verifyApp"); + XCTAssertNotNil([FIRAuthWebUtils queryItemValue:@"v" from:queryItems]); // `callbackMatcher` is at index 4 [invocation getArgument:&unretainedArgument atIndex:4]; FIRAuthURLCallbackMatcher callbackMatcher = unretainedArgument; @@ -423,7 +430,8 @@ static const NSTimeInterval kExpectationTimeout = 2; // Verify that the URL is rejected by the callback matcher without the event ID. XCTAssertFalse(callbackMatcher([NSURL URLWithString:redirectURL])); [redirectURL appendString:@"%26eventId%3D"]; - [redirectURL appendString:params[@"eventId"]]; + [redirectURL appendString:[FIRAuthWebUtils queryItemValue:@"eventId" + from:queryItems]]; NSURLComponents *originalComponents = [[NSURLComponents alloc] initWithString:redirectURL]; // Verify that the URL is accepted by the callback matcher with the matching event ID. XCTAssertTrue(callbackMatcher([originalComponents URL])); diff --git a/Example/Auth/Tests/FIRVerifyAssertionRequestTests.m b/Example/Auth/Tests/FIRVerifyAssertionRequestTests.m index 2bb9b88..79699dc 100644 --- a/Example/Auth/Tests/FIRVerifyAssertionRequestTests.m +++ b/Example/Auth/Tests/FIRVerifyAssertionRequestTests.m @@ -22,7 +22,6 @@ #import "FIRVerifyAssertionRequest.h" #import "FIRVerifyAssertionResponse.h" #import "FIRFakeBackendRPCIssuer.h" -#import <GoogleToolboxForMac/GTMNSDictionary+URLArguments.h> /** @var kTestAPIKey @brief Fake API key used for testing. @@ -189,14 +188,17 @@ static NSString *const kAutoCreateKey = @"autoCreate"; NSError *_Nullable error) { }]; - NSDictionary *postBody = @{ - kProviderIDKey : kTestProviderID, - kProviderAccessTokenKey : kTestProviderAccessToken - }; - NSString *postBodyArgs = [postBody gtm_httpArgumentsString]; + NSArray<NSURLQueryItem *> *queryItems = @[ + [NSURLQueryItem queryItemWithName:kProviderIDKey + value:kTestProviderID], + [NSURLQueryItem queryItemWithName:kProviderAccessTokenKey + value:kTestProviderAccessToken], + ]; + NSURLComponents *components = [[NSURLComponents alloc] init]; + [components setQueryItems:queryItems]; XCTAssertEqualObjects(_RPCIssuer.requestURL.absoluteString, kExpectedAPIURL); XCTAssertNotNil(_RPCIssuer.decodedRequest[kPostBodyKey]); - XCTAssertEqualObjects(_RPCIssuer.decodedRequest[kPostBodyKey], postBodyArgs); + XCTAssertEqualObjects(_RPCIssuer.decodedRequest[kPostBodyKey], [components query]); XCTAssertNil(_RPCIssuer.decodedRequest[kIDTokenKey]); XCTAssertNil(_RPCIssuer.decodedRequest[kReturnSecureTokenKey]); // Auto-create flag Should be true by default. @@ -223,17 +225,23 @@ static NSString *const kAutoCreateKey = @"autoCreate"; NSError *_Nullable error) { }]; - NSDictionary *postBody = @{ - kProviderIDKey : kTestProviderID, - kProviderIDTokenKey : kTestProviderIDToken, - kProviderAccessTokenKey : kTestProviderAccessToken, - kProviderOAuthTokenSecretKey : kTestProviderOAuthTokenSecret, - kInputEmailKey : kTestInputEmail - }; - NSString *postBodyArgs = [postBody gtm_httpArgumentsString]; + NSArray<NSURLQueryItem *> *queryItems = @[ + [NSURLQueryItem queryItemWithName:kProviderIDKey + value:kTestProviderID], + [NSURLQueryItem queryItemWithName:kProviderIDTokenKey + value:kTestProviderIDToken], + [NSURLQueryItem queryItemWithName:kProviderAccessTokenKey + value:kTestProviderAccessToken], + [NSURLQueryItem queryItemWithName:kProviderOAuthTokenSecretKey + value:kTestProviderOAuthTokenSecret], + [NSURLQueryItem queryItemWithName:kInputEmailKey + value:kTestInputEmail], + ]; + NSURLComponents *components = [[NSURLComponents alloc] init]; + [components setQueryItems:queryItems]; XCTAssertEqualObjects(_RPCIssuer.requestURL.absoluteString, kExpectedAPIURL); XCTAssertNotNil(_RPCIssuer.decodedRequest[kPostBodyKey]); - XCTAssertEqualObjects(_RPCIssuer.decodedRequest[kPostBodyKey], postBodyArgs); + XCTAssertEqualObjects(_RPCIssuer.decodedRequest[kPostBodyKey], [components query]); XCTAssertEqualObjects(_RPCIssuer.decodedRequest[kIDTokenKey], kTestAccessToken); XCTAssertTrue([_RPCIssuer.decodedRequest[kReturnSecureTokenKey] boolValue]); XCTAssertFalse([_RPCIssuer.decodedRequest[kAutoCreateKey] boolValue]); |