Skip to content

Commit ba789d8

Browse files
refactor: Port MPIUserDefaults to Swift (#327)
1 parent 8913355 commit ba789d8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1195
-1399
lines changed

UnitTests/MPAppNotificationHandlerTests.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ @interface MParticle ()
1111
+ (dispatch_queue_t)messageQueue;
1212
@property (nonatomic, strong) MPStateMachine_PRIVATE *stateMachine;
1313
@property (nonatomic, strong, readonly) MPAppNotificationHandler *appNotificationHandler;
14-
@property (nonatomic, strong, readonly) MPPersistenceController *persistenceController;
14+
@property (nonatomic, strong, readonly) MPPersistenceController_PRIVATE *persistenceController;
1515

1616
@end
1717

UnitTests/MPBackendControllerTests.m

Lines changed: 105 additions & 106 deletions
Large diffs are not rendered by default.

UnitTests/MPBaseTestCase.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#import "MPIConstants.h"
1414

1515
@interface MParticle (Tests)
16-
@property (nonatomic, strong) MPPersistenceController *persistenceController;
16+
@property (nonatomic, strong) MPPersistenceController_PRIVATE *persistenceController;
1717
@end
1818

1919
@interface MPTestConnectorFactory : NSObject <MPConnectorFactoryProtocol>
@@ -39,7 +39,7 @@ - (void)setUpWithCompletionHandler:(void (^)(NSError * _Nullable))completion {
3939
MParticle *instance = [MParticle sharedInstance];
4040
if (!instance.persistenceController) {
4141
// Ensure we have a persistence controller to reset the db etc
42-
instance.persistenceController = [[MPPersistenceController alloc] init];
42+
instance.persistenceController = [[MPPersistenceController_PRIVATE alloc] init];
4343
}
4444

4545
[instance reset:^{

UnitTests/MPCustomModuleTests.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ - (NSDictionary *)customModuleConfiguration {
9292

9393
- (void)setUp {
9494
[super setUp];
95-
[MPPersistenceController setMpid:@1];
95+
[MPPersistenceController_PRIVATE setMpid:@1];
9696
}
9797

9898
- (void)testConfiguration {

UnitTests/MPDataModelTests.m

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#import "MPPersistenceController.h"
99
#import "MPBaseTestCase.h"
1010
#import "mParticle.h"
11+
#import "MParticleSwift.h"
1112

1213
@interface MParticle ()
1314

@@ -29,7 +30,7 @@ - (void)setUp {
2930
}
3031

3132
- (void)testSessionInstance {
32-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
33+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
3334
XCTAssertNotNil(session, @"Should not have been nil");
3435

3536
MPSession *sessionCopy = [session copy];
@@ -63,7 +64,7 @@ - (void)testSessionInstance {
6364
}
6465

6566
- (void)testMessageInstance {
66-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
67+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
6768

6869
MPMessageBuilder *messageBuilder = [[MPMessageBuilder alloc] initWithMessageType:MPMessageTypeEvent
6970
session:session
@@ -149,7 +150,7 @@ - (void)testFixInvalidKeysInDictionary {
149150
}
150151

151152
- (void)testMessageInstanceWithInfinite {
152-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
153+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
153154

154155
double four = 4.0;
155156
double zed = 0.0;
@@ -185,7 +186,7 @@ - (void)testMessageInstanceWithInfinite {
185186
}
186187

187188
- (void)testUploadInstance {
188-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
189+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
189190

190191
MPMessageBuilder *messageBuilder = [[MPMessageBuilder alloc] initWithMessageType:MPMessageTypeEvent
191192
session:session
@@ -199,7 +200,7 @@ - (void)testUploadInstance {
199200
kMPMessagesKey:@[[message dictionaryRepresentation]],
200201
kMPMessageIdKey:[[NSUUID UUID] UUIDString]};
201202

202-
MPUpload *upload = [[MPUpload alloc] initWithSessionId:[NSNumber numberWithLongLong:session.sessionId] uploadDictionary:uploadDictionary dataPlanId:@"test" dataPlanVersion:@(1) uploadSettings:[MPUploadSettings currentUploadSettings]];
203+
MPUpload *upload = [[MPUpload alloc] initWithSessionId:[NSNumber numberWithLongLong:session.sessionId] uploadDictionary:uploadDictionary dataPlanId:@"test" dataPlanVersion:@(1) uploadSettings:[MPUploadSettings currentUploadSettingsWithStateMachine:[MParticle sharedInstance].stateMachine networkOptions:[MParticle sharedInstance].networkOptions]];
203204
XCTAssertNotNil(upload, @"Should not have been nil.");
204205

205206
NSString *description = [upload description];
@@ -227,7 +228,7 @@ - (void)testUploadInstance {
227228
}
228229

229230
- (void)testBreadcrumbInstance {
230-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
231+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
231232

232233
MPMessageBuilder *messageBuilder = [[MPMessageBuilder alloc] initWithMessageType:MPMessageTypeEvent
233234
session:session
@@ -275,7 +276,7 @@ - (void)testBreadcrumbInstance {
275276
}
276277

277278
- (void)testMessageEncoding {
278-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
279+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
279280

280281
MPMessageBuilder *messageBuilder = [[MPMessageBuilder alloc] initWithMessageType:MPMessageTypeEvent
281282
session:session
@@ -290,7 +291,7 @@ - (void)testMessageEncoding {
290291
}
291292

292293
- (void)testBreadcrumbEncoding {
293-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
294+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
294295

295296
MPMessageBuilder *messageBuilder = [[MPMessageBuilder alloc] initWithMessageType:MPMessageTypeEvent
296297
session:session

UnitTests/MPDeviceTests.m

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
#import <XCTest/XCTest.h>
22
#import <OCMock/OCMock.h>
33
#import "MPDevice.h"
4-
#import "MPIUserDefaults.h"
4+
#import "mParticle.h"
55
#import "MPIConstants.h"
6+
#import "MParticleSwift.h"
7+
8+
@interface MParticle ()
9+
10+
@property (nonatomic, strong, readonly) MPStateMachine_PRIVATE *stateMachine;
11+
@property (nonatomic, strong, nonnull) MPBackendController_PRIVATE *backendController;
12+
13+
@end
614

715
@interface MPDeviceTests : XCTestCase
816

@@ -23,7 +31,7 @@ - (void)testTelephonyRadioAccessTechnology {
2331

2432
- (void)testDictionaryDescription {
2533
#if TARGET_OS_IOS == 1
26-
MPIUserDefaults *userDefaults = [MPIUserDefaults standardUserDefaults];
34+
MPUserDefaults *userDefaults = [MPUserDefaults standardUserDefaultsWithStateMachine:[MParticle sharedInstance].stateMachine backendController:[MParticle sharedInstance].backendController identity:[MParticle sharedInstance].identity];
2735
NSData *testDeviceToken = [@"<000000000000000000000000000000>" dataUsingEncoding:NSUTF8StringEncoding];
2836
userDefaults[kMPDeviceTokenKey] = testDeviceToken;
2937

UnitTests/MPEventTests.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ - (void)testInvalidTypes {
145145
}
146146

147147
- (void)testDictionaryRepresentation {
148-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
148+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
149149
MPStateMachine_PRIVATE *stateMachine = [MParticle sharedInstance].stateMachine;
150150
stateMachine.currentSession = session;
151151

@@ -179,7 +179,7 @@ - (void)testDictionaryRepresentation {
179179
}
180180

181181
- (void)testDictionaryRepresentationWithDictionaryValues {
182-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
182+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
183183
MPStateMachine_PRIVATE *stateMachine = [MParticle sharedInstance].stateMachine;
184184
stateMachine.currentSession = session;
185185

@@ -214,7 +214,7 @@ - (void)testDictionaryRepresentationWithDictionaryValues {
214214
}
215215

216216
- (void)testDictionaryRepresentationWithDictionaryValuesContainingDictionary {
217-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
217+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
218218
MPStateMachine_PRIVATE *stateMachine = [MParticle sharedInstance].stateMachine;
219219
stateMachine.currentSession = session;
220220

@@ -249,7 +249,7 @@ - (void)testDictionaryRepresentationWithDictionaryValuesContainingDictionary {
249249
}
250250

251251
- (void)testDictionaryRepresentationWithNullValues {
252-
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController mpId]];
252+
MPSession *session = [[MPSession alloc] initWithStartTime:[[NSDate date] timeIntervalSince1970] userId:[MPPersistenceController_PRIVATE mpId]];
253253
MPStateMachine_PRIVATE *stateMachine = [MParticle sharedInstance].stateMachine;
254254
stateMachine.currentSession = session;
255255

UnitTests/MPIdentityTests.m

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#import "MPKitContainer.h"
1414
#import "MPPersistenceController.h"
1515
#import "MPStateMachine.h"
16-
#import "MPIUserDefaults.h"
1716

1817
typedef NS_ENUM(NSUInteger, MPIdentityRequestType) {
1918
MPIdentityRequestIdentify = 0,
@@ -59,7 +58,7 @@ - (instancetype)initWithIdentities:(NSDictionary *)identities;
5958
@interface MParticle ()
6059

6160
@property (nonatomic, strong) MPKitContainer_PRIVATE *kitContainer_PRIVATE;
62-
@property (nonatomic, strong, readonly) MPPersistenceController *persistenceController;
61+
@property (nonatomic, strong, readonly) MPPersistenceController_PRIVATE *persistenceController;
6362

6463
@end
6564

@@ -610,7 +609,7 @@ - (void)testIdentityRequestComplete {
610609
}
611610

612611
- (void)testIdentifyIdentityRequestCompleteWithKits {
613-
id mockPersistenceController = OCMClassMock([MPPersistenceController class]);
612+
id mockPersistenceController = OCMClassMock([MPPersistenceController_PRIVATE class]);
614613
[[[mockPersistenceController stub] andReturn:@"42"] mpId];
615614

616615
id mockInstance = OCMClassMock([MParticle class]);
@@ -642,7 +641,7 @@ - (void)testIdentifyIdentityRequestCompleteWithKits {
642641
}
643642

644643
- (void)testLoginIdentityRequestCompleteWithKits {
645-
id mockPersistenceController = OCMClassMock([MPPersistenceController class]);
644+
id mockPersistenceController = OCMClassMock([MPPersistenceController_PRIVATE class]);
646645
[[[mockPersistenceController stub] andReturn:@"42"] mpId];
647646

648647
id mockInstance = OCMClassMock([MParticle class]);
@@ -674,7 +673,7 @@ - (void)testLoginIdentityRequestCompleteWithKits {
674673
}
675674

676675
- (void)testLogoutIdentityRequestCompleteWithKits {
677-
id mockPersistenceController = OCMClassMock([MPPersistenceController class]);
676+
id mockPersistenceController = OCMClassMock([MPPersistenceController_PRIVATE class]);
678677
[[[mockPersistenceController stub] andReturn:@"42"] mpId];
679678

680679
id mockInstance = OCMClassMock([MParticle class]);
@@ -702,7 +701,7 @@ - (void)testLogoutIdentityRequestCompleteWithKits {
702701
}
703702

704703
- (void)testIdentifyIdentityRequestCompleteWithKitsAndNoUserChange {
705-
id mockPersistenceController = OCMClassMock([MPPersistenceController class]);
704+
id mockPersistenceController = OCMClassMock([MPPersistenceController_PRIVATE class]);
706705
[[[mockPersistenceController stub] andReturn:@"42"] mpId];
707706

708707
id mockInstance = OCMClassMock([MParticle class]);
@@ -734,7 +733,7 @@ - (void)testIdentifyIdentityRequestCompleteWithKitsAndNoUserChange {
734733
}
735734

736735
- (void)testLoginIdentityRequestCompleteWithKitsAndNoUserChange {
737-
id mockPersistenceController = OCMClassMock([MPPersistenceController class]);
736+
id mockPersistenceController = OCMClassMock([MPPersistenceController_PRIVATE class]);
738737
[[[mockPersistenceController stub] andReturn:@"42"] mpId];
739738

740739
id mockInstance = OCMClassMock([MParticle class]);
@@ -766,7 +765,7 @@ - (void)testLoginIdentityRequestCompleteWithKitsAndNoUserChange {
766765
}
767766

768767
- (void)testLogoutIdentityRequestCompleteWithKitsAndNoUserChange {
769-
id mockPersistenceController = OCMClassMock([MPPersistenceController class]);
768+
id mockPersistenceController = OCMClassMock([MPPersistenceController_PRIVATE class]);
770769
[[[mockPersistenceController stub] andReturn:@"42"] mpId];
771770

772771
id mockInstance = OCMClassMock([MParticle class]);
@@ -794,7 +793,7 @@ - (void)testLogoutIdentityRequestCompleteWithKitsAndNoUserChange {
794793
}
795794

796795
- (void)testMPIdZeroToMPId {
797-
id mockPersistenceController = OCMClassMock([MPPersistenceController class]);
796+
id mockPersistenceController = OCMClassMock([MPPersistenceController_PRIVATE class]);
798797
[[[mockPersistenceController stub] andReturn:@"0"] mpId];
799798

800799
id mockInstance = OCMClassMock([MParticle class]);

UnitTests/MPKitAPITests.m

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#import "MPPersistenceController.h"
1111
#import "MPKitContainer.h"
1212
#import "MPKitConfiguration.h"
13-
#import "MPIUserDefaults.h"
1413
#import "MPIConstants.h"
1514

1615
@interface MPKitContainer_PRIVATE ()
@@ -22,8 +21,9 @@ @interface MPKitContainer_PRIVATE ()
2221
@interface MParticle ()
2322

2423
+ (dispatch_queue_t)messageQueue;
24+
@property (nonatomic, strong) MPStateMachine_PRIVATE *stateMachine;
2525
@property (nonatomic, strong) MPBackendController_PRIVATE *backendController;
26-
@property (nonatomic, strong) MPPersistenceController *persistenceController;
26+
@property (nonatomic, strong) MPPersistenceController_PRIVATE *persistenceController;
2727
@property (nonatomic, strong) MPKitContainer_PRIVATE *kitContainer_PRIVATE;
2828

2929
@end
@@ -58,7 +58,7 @@ - (void)setUp {
5858
[MParticle sharedInstance].kitContainer_PRIVATE = [[MPKitContainer_PRIVATE alloc] init];
5959
_kitContainer = [MParticle sharedInstance].kitContainer_PRIVATE;
6060

61-
[MParticle sharedInstance].persistenceController = [[MPPersistenceController alloc] init];
61+
[MParticle sharedInstance].persistenceController = [[MPPersistenceController_PRIVATE alloc] init];
6262

6363
NSSet<id<MPExtensionProtocol>> *registeredKits = [MPKitContainer_PRIVATE registeredKits];
6464
if (!registeredKits) {
@@ -119,7 +119,7 @@ - (void)testUserIdentities {
119119
@"f":@NO
120120
}
121121
];
122-
MPIUserDefaults *userDefaults = [MPIUserDefaults standardUserDefaults];
122+
MPUserDefaults *userDefaults = [MPUserDefaults standardUserDefaultsWithStateMachine:[MParticle sharedInstance].stateMachine backendController:[MParticle sharedInstance].backendController identity:[MParticle sharedInstance].identity];
123123
[userDefaults setMPObject:userIdentities forKey:kMPUserIdentityArrayKey userId:currentUser.userId];
124124
[userDefaults removeMPObjectForKey:@"ua"];
125125

@@ -162,7 +162,7 @@ - (void)testUserAttributeFromCache {
162162
@"better data":@"ABC",
163163
@"bad data":@"12345"
164164
};
165-
MPIUserDefaults *userDefaults = [MPIUserDefaults standardUserDefaults];
165+
MPUserDefaults *userDefaults = [MPUserDefaults standardUserDefaultsWithStateMachine:[MParticle sharedInstance].stateMachine backendController:[MParticle sharedInstance].backendController identity:[MParticle sharedInstance].identity];
166166
[userDefaults setMPObject:userAttributes forKey:kMPUserAttributeKey userId:currentUser.userId];
167167

168168
NSString *goodHashedKey = [MPIHasher hashString:@"good data"];

0 commit comments

Comments
 (0)