Skip to content

Commit 6b729d7

Browse files
authored
Merge pull request #3827 from Crebs/@W-17749645
@W-17749645 Resolve failing unit tests caused by handling of strongSelf
2 parents 0494f81 + 294c98f commit 6b729d7

4 files changed

Lines changed: 19 additions & 14 deletions

File tree

libs/SalesforceSDKCore/SalesforceSDKCore/Classes/Util/SFSDKOAuth2.m

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@ - (void)accessTokenForRefresh:(SFSDKOAuthTokenEndpointRequest *)endpointReq comp
281281
NSURLSession *session = [self createURLSessionWithIdentifier:instanceIdentifier];
282282

283283
__weak typeof(self) weakSelf = self;
284+
NSString *className = NSStringFromClass([self class]);
284285
[[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *urlResponse, NSError *error) {
285286
__strong typeof(weakSelf) strongSelf = weakSelf;
286287
SFSDKOAuthTokenEndpointResponse *endpointResponse = nil;
@@ -293,21 +294,29 @@ - (void)accessTokenForRefresh:(SFSDKOAuthTokenEndpointRequest *)endpointReq comp
293294
endpointResponse = [[SFSDKOAuthTokenEndpointResponse alloc] initWithError:[NSError errorWithDomain:kSFOAuthErrorDomain code:code userInfo:nil]];
294295

295296
if (error.code == NSURLErrorTimedOut) {
296-
[SFSDKCoreLogger d:[strongSelf class] format:@"Refresh attempt timed out after %f seconds.", endpointReq.timeout];
297+
[SFSDKCoreLogger d:[SFSDKOAuth2 class] format:@"Refresh attempt timed out after %f seconds.", endpointReq.timeout];
297298
}
298299

299-
[SFSDKCoreLogger d:[strongSelf class] format:@"SFOAuth2 session failed with error: error code: %ld, description: %@, URL: %@", (long)error.code, [error localizedDescription], errorUrlString];
300+
[SFSDKCoreLogger d:[SFSDKOAuth2 class] format:@"SFOAuth2 session failed with error: error code: %ld, description: %@, URL: %@", (long)error.code, [error localizedDescription], errorUrlString];
300301
dispatch_async(dispatch_get_main_queue(), ^{
301302
if (completionBlock) {
302303
completionBlock(endpointResponse);
303304
}
304305
});
305306
return;
306-
} else {
307-
[SFSDKEventBuilderHelper createAndStoreEvent:@"tokenRefresh" userAccount:[SFUserAccountManager sharedInstance].currentUser className:NSStringFromClass([strongSelf class]) attributes:nil];
308307
}
309308

310-
[strongSelf handleTokenEndpointResponse:completionBlock request:endpointReq data:data urlResponse:urlResponse];
309+
[SFSDKEventBuilderHelper createAndStoreEvent:@"tokenRefresh" userAccount:[SFUserAccountManager sharedInstance].currentUser className:className attributes:nil];
310+
if (strongSelf) {
311+
[strongSelf handleTokenEndpointResponse:completionBlock request:endpointReq data:data urlResponse:urlResponse];
312+
} else {
313+
[SFSDKCoreLogger d:[SFSDKOAuth2 class] format:@"Token endpoint response handler skipped because self was deallocated."];
314+
dispatch_async(dispatch_get_main_queue(), ^{
315+
if (completionBlock) {
316+
completionBlock(nil);
317+
}
318+
});
319+
}
311320
}] resume];
312321
}
313322

libs/SalesforceSDKCore/SalesforceSDKCoreTests/RestClientTest.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,7 @@ class RestClientTests: XCTestCase {
263263
}
264264
}
265265

266-
// TODO: Add back after fixing Flappiness
267-
func _testAsyncBatchRequestStopOnFailure() async throws {
266+
func testAsyncBatchRequestStopOnFailure() async throws {
268267
do {
269268
// Create account
270269
let accountName = self.generateRecordName()

libs/SalesforceSDKCore/SalesforceSDKCoreTests/SalesforceOAuthUnitTests.m

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,7 @@ - (void)testCredentialsCoding {
187187
credsIn = nil;
188188
}
189189

190-
// TODO: Add back after fixing Flappiness
191-
- (void)_testCredentialsCopying {
190+
- (void)testCredentialsCopying {
192191
NSString *domainToCheck = @"login.salesforce.com";
193192
NSString *redirectUriToCheck = @"redirectUri://done";
194193
NSString *jwtToCheck = @"jwtToken";

libs/SalesforceSDKCore/SalesforceSDKCoreTests/SalesforceRestAPITests.m

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ - (void)testCreateBogusContact {
419419
// - delete object (requestForDeleteWithObjectType)
420420
// - query new object (requestForQuery) and make sure we don't get anything
421421
// - search new object (requestForSearch) and make sure we don't get anything
422-
- (void)_testCreateQuerySearchDelete {
422+
- (void)testCreateQuerySearchDelete {
423423
// create object
424424
//use a SOSL-safe format here to avoid problems with escaping characters for SOSL
425425
NSString *lastName = [self generateRecordName];
@@ -1447,8 +1447,7 @@ - (void) testCollectionUpsertExistingRecords {
14471447
XCTAssertEqualObjects(accountsRetrieved[1][@"Name"], secondAccountNameUpdated);
14481448
}
14491449

1450-
// TODO: Add back after fixing Flappiness
1451-
- (void) _testCollectionUpdate {
1450+
- (void) testCollectionUpdate {
14521451
NSString* firstAccountName = [NSString stringWithFormat:@"%@_account_1_%lf", ENTITY_PREFIX_NAME, CFAbsoluteTimeGetCurrent()];
14531452
NSString* secondAccountName = [NSString stringWithFormat:@"%@_account_2_%lf", ENTITY_PREFIX_NAME, CFAbsoluteTimeGetCurrent()];
14541453
NSString* contactName = [NSString stringWithFormat:@"%@_contact_%lf", ENTITY_PREFIX_NAME, CFAbsoluteTimeGetCurrent()];
@@ -1937,8 +1936,7 @@ - (void)testUploadBatchDetailsDeleteFilesCommunity {
19371936
}
19381937

19391938
// Upload files / get owned files / delete files / get owned files again
1940-
// TODO: Add back after fixing Flappiness
1941-
- (void)_testUploadOwnedFilesDelete {
1939+
- (void)testUploadOwnedFilesDelete {
19421940

19431941
// upload first file
19441942
NSDictionary *fileAttrs = [self uploadFile];

0 commit comments

Comments
 (0)