From 2521e28b9905d9af0e09d963841422b1d52aedbc Mon Sep 17 00:00:00 2001 From: fractalwrench Date: Wed, 22 Apr 2020 14:04:01 +0100 Subject: [PATCH] feat: rename user properties --- CHANGELOG.md | 3 +++ Source/BugsnagConfiguration.m | 16 ++++++++-------- Source/BugsnagUser.h | 4 ++-- Source/BugsnagUser.m | 12 ++++++------ Tests/BugsnagClientTests.m | 8 ++++---- Tests/BugsnagConfigurationTests.m | 12 ++++++------ Tests/BugsnagSessionTest.m | 4 ++-- Tests/BugsnagSessionTrackerTest.m | 12 ++++++------ Tests/BugsnagUserTest.m | 9 ++++----- UPGRADING.md | 12 ++++++++++++ 10 files changed, 53 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b50ea2662..69fe8e10e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ Bugsnag Notifiers on other platforms. ## Enhancements +* Rename `BugsnagUser` properties + [#560](https://github.com/bugsnag/bugsnag-cocoa/pull/560) + * Make `BugsnagOnErrorBlock` return `BOOL` rather than `void` [#555](https://github.com/bugsnag/bugsnag-cocoa/pull/555) diff --git a/Source/BugsnagConfiguration.m b/Source/BugsnagConfiguration.m index 59a492f79..666e5a410 100644 --- a/Source/BugsnagConfiguration.m +++ b/Source/BugsnagConfiguration.m @@ -141,8 +141,8 @@ - (nonnull id)copyWithZone:(nullable NSZone *)zone { [copy setReleaseStage:self.releaseStage]; [copy setSession:[self.session copy]]; [copy setSendThreads:self.sendThreads]; - [copy setUser:self.user.userId - withEmail:self.user.emailAddress + [copy setUser:self.user.id + withEmail:self.user.email andName:self.user.name]; return copy; @@ -278,9 +278,9 @@ - (void)setUser:(NSString *_Nullable)userId * @param user A BugsnagUser object containing data to be added to the configuration metadata. */ - (void)setUserMetadataFromUser:(BugsnagUser *)user { - [self.metadata addMetadata:user.userId withKey:BSGKeyId toSection:BSGKeyUser]; + [self.metadata addMetadata:user.id withKey:BSGKeyId toSection:BSGKeyUser]; [self.metadata addMetadata:user.name withKey:BSGKeyName toSection:BSGKeyUser]; - [self.metadata addMetadata:user.emailAddress withKey:BSGKeyEmail toSection:BSGKeyUser]; + [self.metadata addMetadata:user.email withKey:BSGKeyEmail toSection:BSGKeyUser]; } // ============================================================================= @@ -399,8 +399,8 @@ - (void)persistUserData { @synchronized(self) { if (_user) { // Email - if (_user.emailAddress) { - [BSG_SSKeychain setPassword:_user.emailAddress + if (_user.email) { + [BSG_SSKeychain setPassword:_user.email forService:kBugsnagUserEmailAddress account:kBugsnagUserKeychainAccount]; } @@ -421,8 +421,8 @@ - (void)persistUserData { } // UserId - if (_user.userId) { - [BSG_SSKeychain setPassword:_user.userId + if (_user.id) { + [BSG_SSKeychain setPassword:_user.id forService:kBugsnagUserUserId account:kBugsnagUserKeychainAccount]; } diff --git a/Source/BugsnagUser.h b/Source/BugsnagUser.h index 1acde4c20..2f56d57bc 100644 --- a/Source/BugsnagUser.h +++ b/Source/BugsnagUser.h @@ -10,8 +10,8 @@ @interface BugsnagUser : NSObject -@property(readonly) NSString *userId; +@property(readonly) NSString *id; @property(readonly) NSString *name; -@property(readonly) NSString *emailAddress; +@property(readonly) NSString *email; @end diff --git a/Source/BugsnagUser.m b/Source/BugsnagUser.m index af6588c4d..590858210 100644 --- a/Source/BugsnagUser.m +++ b/Source/BugsnagUser.m @@ -13,8 +13,8 @@ @implementation BugsnagUser - (instancetype)initWithDictionary:(NSDictionary *)dict { if (self = [super init]) { - _userId = dict[@"id"]; - _emailAddress = dict[@"email"]; + _id = dict[@"id"]; + _email = dict[@"email"]; _name = dict[@"name"]; } return self; @@ -23,9 +23,9 @@ - (instancetype)initWithDictionary:(NSDictionary *)dict { - (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name emailAddress:(NSString *)emailAddress { self = [super init]; if (self) { - _userId = userId; + _id = userId; _name = name; - _emailAddress = emailAddress; + _email = emailAddress; } return self; } @@ -36,8 +36,8 @@ + (instancetype)userWithUserId:(NSString *)userId name:(NSString *)name emailAdd - (NSDictionary *)toJson { NSMutableDictionary *dict = [NSMutableDictionary new]; - BSGDictInsertIfNotNil(dict, self.userId, @"id"); - BSGDictInsertIfNotNil(dict, self.emailAddress, @"email"); + BSGDictInsertIfNotNil(dict, self.id, @"id"); + BSGDictInsertIfNotNil(dict, self.email, @"email"); BSGDictInsertIfNotNil(dict, self.name, @"name"); return [NSDictionary dictionaryWithDictionary:dict]; } diff --git a/Tests/BugsnagClientTests.m b/Tests/BugsnagClientTests.m index 2c064ca36..af32f4f29 100644 --- a/Tests/BugsnagClientTests.m +++ b/Tests/BugsnagClientTests.m @@ -134,15 +134,15 @@ - (void) testUserInfoStorageRetrieval { XCTAssertEqualObjects([client.metadata getMetadataFromSection:BSGKeyUser withKey:BSGKeyName], @"Jiminy Cricket"); XCTAssertEqualObjects([client.metadata getMetadataFromSection:BSGKeyUser withKey:BSGKeyEmail], @"jiminy@bugsnag.com"); - XCTAssertEqualObjects([client user].userId, @"Jiminy"); + XCTAssertEqualObjects([client user].id, @"Jiminy"); XCTAssertEqualObjects([client user].name, @"Jiminy Cricket"); - XCTAssertEqualObjects([client user].emailAddress, @"jiminy@bugsnag.com"); + XCTAssertEqualObjects([client user].email, @"jiminy@bugsnag.com"); [client setUser:nil withEmail:nil andName:@"Jiminy Cricket"]; - XCTAssertNil([client user].userId); + XCTAssertNil([client user].id); XCTAssertEqualObjects([client user].name, @"Jiminy Cricket"); - XCTAssertNil([client user].emailAddress); + XCTAssertNil([client user].email); } - (void)testMetadataMutability { diff --git a/Tests/BugsnagConfigurationTests.m b/Tests/BugsnagConfigurationTests.m index 87069d0a2..0b87c4d1c 100644 --- a/Tests/BugsnagConfigurationTests.m +++ b/Tests/BugsnagConfigurationTests.m @@ -441,9 +441,9 @@ - (void)testUserNonPesistence { BugsnagConfiguration *config2 = [[BugsnagConfiguration alloc] initWithApiKey:DUMMY_APIKEY_32CHAR_1]; XCTAssertNotNil(config2.user); - XCTAssertNil(config2.user.userId); + XCTAssertNil(config2.user.id); XCTAssertNil(config2.user.name); - XCTAssertNil(config2.user.emailAddress); + XCTAssertNil(config2.user.email); } /** @@ -656,9 +656,9 @@ - (void)testUser { [config setUser:@"123" withEmail:@"test@example.com" andName:@"foo"]; - XCTAssertEqualObjects(@"123", config.user.userId); + XCTAssertEqualObjects(@"123", config.user.id); XCTAssertEqualObjects(@"foo", config.user.name); - XCTAssertEqualObjects(@"test@example.com", config.user.emailAddress); + XCTAssertEqualObjects(@"test@example.com", config.user.email); } - (void)testDefaultRedactedKeys { @@ -822,8 +822,8 @@ - (void)testNSCopying { // Object [clone setUser:@"Cthulu" withEmail:@"hp@lovecraft.com" andName:@"Howard"]; - XCTAssertEqualObjects(config.user.userId, @"foo"); - XCTAssertEqualObjects(clone.user.userId, @"Cthulu"); + XCTAssertEqualObjects(config.user.id, @"foo"); + XCTAssertEqualObjects(clone.user.id, @"Cthulu"); // String [clone setApiKey:DUMMY_APIKEY_32CHAR_2]; diff --git a/Tests/BugsnagSessionTest.m b/Tests/BugsnagSessionTest.m index ad053ee69..a11ac3b1c 100644 --- a/Tests/BugsnagSessionTest.m +++ b/Tests/BugsnagSessionTest.m @@ -196,9 +196,9 @@ - (void)testPayloadDeserialization { // user XCTAssertNotNil(session.user); - XCTAssertEqualObjects(@"123", session.user.userId); + XCTAssertEqualObjects(@"123", session.user.id); XCTAssertEqualObjects(@"Joe Bloggs", session.user.name); - XCTAssertEqualObjects(@"joe@example.com", session.user.emailAddress); + XCTAssertEqualObjects(@"joe@example.com", session.user.email); // app BugsnagApp *app = session.app; diff --git a/Tests/BugsnagSessionTrackerTest.m b/Tests/BugsnagSessionTrackerTest.m index 981fd3081..7e5035be1 100644 --- a/Tests/BugsnagSessionTrackerTest.m +++ b/Tests/BugsnagSessionTrackerTest.m @@ -64,8 +64,8 @@ - (void)testStartNewSessionWithUser { XCTAssertNotNil(session.id); XCTAssertTrue([[NSDate date] timeIntervalSinceDate:session.startedAt] < 1); XCTAssertEqual(session.user.name, @"Bill"); - XCTAssertEqual(session.user.userId, @"123"); - XCTAssertNil(session.user.emailAddress); + XCTAssertEqual(session.user.id, @"123"); + XCTAssertNil(session.user.email); XCTAssertFalse(session.autoCaptured); } @@ -79,8 +79,8 @@ - (void)testStartNewAutoCapturedSession { XCTAssertTrue([[NSDate date] timeIntervalSinceDate:session.startedAt] < 1); XCTAssertTrue(session.autoCaptured); XCTAssertNil(session.user.name); - XCTAssertNil(session.user.userId); - XCTAssertNil(session.user.emailAddress); + XCTAssertNil(session.user.id); + XCTAssertNil(session.user.email); } - (void)testStartNewAutoCapturedSessionWithUser { @@ -93,8 +93,8 @@ - (void)testStartNewAutoCapturedSessionWithUser { XCTAssertNotNil(session.id); XCTAssertTrue([[NSDate date] timeIntervalSinceDate:session.startedAt] < 1); XCTAssertEqual(session.user.name, @"Bill"); - XCTAssertEqual(session.user.userId, @"123"); - XCTAssertEqual(session.user.emailAddress, @"bill@example.com"); + XCTAssertEqual(session.user.id, @"123"); + XCTAssertEqual(session.user.email, @"bill@example.com"); XCTAssertTrue(session.autoCaptured); } diff --git a/Tests/BugsnagUserTest.m b/Tests/BugsnagUserTest.m index 417e9304f..17ce07c88 100644 --- a/Tests/BugsnagUserTest.m +++ b/Tests/BugsnagUserTest.m @@ -19,7 +19,6 @@ @interface BugsnagUser () - (instancetype)initWithDictionary:(NSDictionary *)dict; - (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name emailAddress:(NSString *)emailAddress; - (NSDictionary *)toJson; -- (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name emailAddress:(NSString *)emailAddress; @end @interface BugsnagEvent () @@ -41,8 +40,8 @@ - (void)testDictDeserialisation { BugsnagUser *user = [[BugsnagUser alloc] initWithDictionary:dict]; XCTAssertNotNil(user); - XCTAssertEqualObjects(user.userId, @"test"); - XCTAssertEqualObjects(user.emailAddress, @"fake@example.com"); + XCTAssertEqualObjects(user.id, @"test"); + XCTAssertEqualObjects(user.email, @"fake@example.com"); XCTAssertEqualObjects(user.name, @"Tom Bombadil"); } @@ -67,9 +66,9 @@ - (void)testUserEvent { @"email": @"jane@example.com", } }}]; - XCTAssertEqualObjects(@"123", event.user.userId); + XCTAssertEqualObjects(@"123", event.user.id); XCTAssertEqualObjects(@"Jane Smith", event.user.name); - XCTAssertEqualObjects(@"jane@example.com", event.user.emailAddress); + XCTAssertEqualObjects(@"jane@example.com", event.user.email); } @end diff --git a/UPGRADING.md b/UPGRADING.md index cc3bd0cf9..6734b5b32 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -291,3 +291,15 @@ of the removed `addAttribute`: - user - sessionId ``` + +### `BugsnagUser` class + +#### Renames + +```diff +- userId ++ id + +- emailAddress ++ email +``` \ No newline at end of file