Skip to content

Commit 285115f

Browse files
committed
Removing NSUserDefaultsOverrider
Now that our unit tests are run inside a test app we no longer need to mock NSUserDefaults. This gets us detection of bad storage like trying to store a custom object in a dictionary instead of as a codeable. This commit also fixes the crash in InAppMessagingIntegrationTests by changing save/getDictionary to save/getCodeableData
1 parent 32e4ace commit 285115f

12 files changed

+22
-194
lines changed

iOS_SDK/OneSignalSDK/OneSignal.xcodeproj/project.pbxproj

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
3E66F5821D90A2C600E45A01 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E08E2701D49A5C8002176DE /* SystemConfiguration.framework */; };
6262
4529DED21FA81EA800CEAB1D /* NSObjectOverrider.m in Sources */ = {isa = PBXBuildFile; fileRef = 4529DED11FA81EA800CEAB1D /* NSObjectOverrider.m */; };
6363
4529DED51FA823B900CEAB1D /* TestHelperFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4529DED41FA823B900CEAB1D /* TestHelperFunctions.m */; };
64-
4529DED81FA8253D00CEAB1D /* NSUserDefaultsOverrider.m in Sources */ = {isa = PBXBuildFile; fileRef = 4529DED71FA8253D00CEAB1D /* NSUserDefaultsOverrider.m */; };
6564
4529DEDB1FA8284E00CEAB1D /* NSDataOverrider.m in Sources */ = {isa = PBXBuildFile; fileRef = 4529DEDA1FA8284E00CEAB1D /* NSDataOverrider.m */; };
6665
4529DEDE1FA828E500CEAB1D /* NSDateOverrider.m in Sources */ = {isa = PBXBuildFile; fileRef = 4529DEDD1FA828E500CEAB1D /* NSDateOverrider.m */; };
6766
4529DEE11FA82AB300CEAB1D /* NSBundleOverrider.m in Sources */ = {isa = PBXBuildFile; fileRef = 4529DEE01FA82AB300CEAB1D /* NSBundleOverrider.m */; };
@@ -521,8 +520,6 @@
521520
4529DED11FA81EA800CEAB1D /* NSObjectOverrider.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NSObjectOverrider.m; sourceTree = "<group>"; };
522521
4529DED31FA823B900CEAB1D /* TestHelperFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestHelperFunctions.h; sourceTree = "<group>"; };
523522
4529DED41FA823B900CEAB1D /* TestHelperFunctions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestHelperFunctions.m; sourceTree = "<group>"; };
524-
4529DED61FA8253D00CEAB1D /* NSUserDefaultsOverrider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSUserDefaultsOverrider.h; sourceTree = "<group>"; };
525-
4529DED71FA8253D00CEAB1D /* NSUserDefaultsOverrider.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NSUserDefaultsOverrider.m; sourceTree = "<group>"; };
526523
4529DED91FA8284E00CEAB1D /* NSDataOverrider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSDataOverrider.h; sourceTree = "<group>"; };
527524
4529DEDA1FA8284E00CEAB1D /* NSDataOverrider.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NSDataOverrider.m; sourceTree = "<group>"; };
528525
4529DEDC1FA828E500CEAB1D /* NSDateOverrider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSDateOverrider.h; sourceTree = "<group>"; };
@@ -923,8 +920,6 @@
923920
4529DED11FA81EA800CEAB1D /* NSObjectOverrider.m */,
924921
4529DEE21FA82C6200CEAB1D /* NSURLSessionOverrider.h */,
925922
4529DEE31FA82C6200CEAB1D /* NSURLSessionOverrider.m */,
926-
4529DED61FA8253D00CEAB1D /* NSUserDefaultsOverrider.h */,
927-
4529DED71FA8253D00CEAB1D /* NSUserDefaultsOverrider.m */,
928923
4529DEEB1FA83C5D00CEAB1D /* OneSignalHelperOverrider.h */,
929924
4529DEEC1FA83C5D00CEAB1D /* OneSignalHelperOverrider.m */,
930925
CA08FC821FE99BB4004C445F /* OneSignalClientOverrider.h */,
@@ -1948,7 +1943,6 @@
19481943
CA63AF8720211FF800E340FB /* UnitTestCommonMethods.m in Sources */,
19491944
CA70E3372023D51300019273 /* OneSignalSetEmailParameters.m in Sources */,
19501945
7A5A8185248990CD002E07C8 /* OSIndirectNotification.m in Sources */,
1951-
4529DED81FA8253D00CEAB1D /* NSUserDefaultsOverrider.m in Sources */,
19521946
4529DEED1FA83C5D00CEAB1D /* OneSignalHelperOverrider.m in Sources */,
19531947
7AF98666244975AD00C36EAE /* OSOutcomeSourceBody.m in Sources */,
19541948
CA1A6E6C20DC2E31001C41B9 /* OneSignalDialogController.m in Sources */,

iOS_SDK/OneSignalSDK/UnitTests/BadgeTests.m

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ of this software and associated documentation files (the "Software"), to deal
2828
#import <XCTest/XCTest.h>
2929
#import "UnitTestCommonMethods.h"
3030
#import "OneSignalExtensionBadgeHandler.h"
31-
#import "NSUserDefaultsOverrider.h"
3231
#import "UNUserNotificationCenterOverrider.h"
3332
#import "UNUserNotificationCenter+OneSignal.h"
3433
#import "OneSignalHelperOverrider.h"
@@ -52,7 +51,7 @@ - (void)setUp {
5251

5352
UNUserNotificationCenterOverrider.authorizationStatus = [NSNumber numberWithInteger:UNAuthorizationStatusAuthorized];
5453

55-
[NSUserDefaultsOverrider clearInternalDictionary];
54+
[UnitTestCommonMethods clearUserDefaults];
5655
}
5756

5857
/*

iOS_SDK/OneSignalSDK/UnitTests/EmailTests.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ of this software and associated documentation files (the "Software"), to deal
4141
#import "UNUserNotificationCenterOverrider.h"
4242
#import "UNUserNotificationCenter+OneSignal.h"
4343
#import "NSBundleOverrider.h"
44-
#import "NSUserDefaultsOverrider.h"
4544
#import "OneSignalCommonDefines.h"
4645
#import "OneSignalTracker.h"
4746
#import "OneSignalInternal.h"

iOS_SDK/OneSignalSDK/UnitTests/InAppMessagingIntegrationTests.m

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ of this software and associated documentation files (the "Software"), to deal
4444
#import "UIApplicationOverrider.h"
4545
#import "OneSignalHelperOverrider.h"
4646
#import "UNUserNotificationCenterOverrider.h"
47-
#import "NSUserDefaultsOverrider.h"
4847
#import "NSBundleOverrider.h"
4948
#import "UNUserNotificationCenter+OneSignal.h"
5049
#import "Requests.h"
@@ -544,7 +543,7 @@ - (void)testIAMWithNoTriggersDisplayOnePerSession_Redisplay {
544543

545544
message.displayStats.lastDisplayTime = firstInterval - delay;
546545
// Save IAM for redisplay
547-
[OneSignalUserDefaults.initStandard saveDictionaryForKey:OS_IAM_REDISPLAY_DICTIONARY withValue:redisplayedInAppMessages];
546+
[OneSignalUserDefaults.initStandard saveCodeableDataForKey:OS_IAM_REDISPLAY_DICTIONARY withValue:redisplayedInAppMessages];
548547
// Set data for redisplay
549548
[OSMessagingControllerOverrider setMessagesForRedisplay:redisplayedInAppMessages];
550549
// Save IAM for dismiss
@@ -680,11 +679,11 @@ - (void)testIAMRemoveFromCache_Redisplay {
680679
[redisplayedInAppMessages setObject:message2 forKey:message2.messageId];
681680

682681
[OSMessagingControllerOverrider setMessagesForRedisplay:redisplayedInAppMessages];
683-
[standardUserDefaults saveDictionaryForKey:OS_IAM_REDISPLAY_DICTIONARY withValue:redisplayedInAppMessages];
682+
[standardUserDefaults saveCodeableDataForKey:OS_IAM_REDISPLAY_DICTIONARY withValue:redisplayedInAppMessages];
684683

685684
[self initOneSignalWithInAppMessage:message];
686685

687-
let redisplayMessagesCache = [standardUserDefaults getSavedDictionaryForKey:OS_IAM_REDISPLAY_DICTIONARY defaultValue:nil];
686+
NSMutableDictionary *redisplayMessagesCache = [standardUserDefaults getSavedCodeableDataForKey:OS_IAM_REDISPLAY_DICTIONARY defaultValue:nil];
688687
XCTAssertTrue([redisplayMessagesCache objectForKey:message1.messageId]);
689688
XCTAssertFalse([redisplayMessagesCache objectForKey:message2.messageId]);
690689
}

iOS_SDK/OneSignalSDK/UnitTests/OutcomeIntegrationTests.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ of this software and associated documentation files (the "Software"), to deal
4040
#import "UNUserNotificationCenterOverrider.h"
4141
#import "RestClientAsserts.h"
4242
#import "CommonAsserts.h"
43-
#import "NSUserDefaultsOverrider.h"
4443
#import "OneSignalClientOverrider.h"
4544
#import "UIApplicationOverrider.h"
4645
#import "OneSignalNotificationServiceExtensionHandler.h"

iOS_SDK/OneSignalSDK/UnitTests/OutcomeIntegrationV2Tests.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
#import "UNUserNotificationCenterOverrider.h"
4242
#import "RestClientAsserts.h"
4343
#import "CommonAsserts.h"
44-
#import "NSUserDefaultsOverrider.h"
4544
#import "OneSignalClientOverrider.h"
4645
#import "UIApplicationOverrider.h"
4746
#import "OneSignalNotificationServiceExtensionHandler.h"

iOS_SDK/OneSignalSDK/UnitTests/ProvisionalAuthorizationTests.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ of this software and associated documentation files (the "Software"), to deal
2828
#import <XCTest/XCTest.h>
2929
#import "UnitTestCommonMethods.h"
3030
#import "OneSignalExtensionBadgeHandler.h"
31-
#import "NSUserDefaultsOverrider.h"
3231
#import "UNUserNotificationCenterOverrider.h"
3332
#import "UNUserNotificationCenter+OneSignal.h"
3433
#import "OneSignalHelperOverrider.h"

iOS_SDK/OneSignalSDK/UnitTests/Shadows/NSUserDefaultsOverrider.h

Lines changed: 0 additions & 32 deletions
This file was deleted.

iOS_SDK/OneSignalSDK/UnitTests/Shadows/NSUserDefaultsOverrider.m

Lines changed: 0 additions & 142 deletions
This file was deleted.

iOS_SDK/OneSignalSDK/UnitTests/UnitTestCommonMethods.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ withNotificationWillShowInForegroundHandler:(OSNotificationWillShowInForegroundB
6969
+ (void)pullDownNotificationCenter;
7070
+ (void)useSceneLifecycle:(BOOL)useSceneLifecycle;
7171
+ (void)setCurrentNotificationPermissionAsUnanswered;
72+
+ (void)clearUserDefaults;
7273

7374
+ (UNNotificationResponse*)createBasiciOSNotificationResponseWithPayload:(NSDictionary*)userInfo;
7475
+ (UNNotification *)createBasiciOSNotificationWithPayload:(NSDictionary *)userInfo;

0 commit comments

Comments
 (0)