mirror of
https://github.com/zhigang1992/UICKeyChainStore.git
synced 2026-01-12 22:53:17 +08:00
@@ -13,7 +13,7 @@ for file in *.gcda; do
|
||||
gcov "\${file}"
|
||||
done
|
||||
|
||||
coveralls --root "${SRCROOT}/../" --extension ".m" -e "Lib/UICKeyChainStoreTests/" -e "Lib/vendor/" --no-gcov
|
||||
coveralls --root "${SRCROOT}/../" --extension ".m" -e "Lib/UICKeyChainStoreTests/" -e "Examples/" -e "Lib/vendor/" --no-gcov
|
||||
EOF
|
||||
|
||||
chmod +x "${COVERALLS_SCRIPT_PATH}"
|
||||
|
||||
@@ -402,6 +402,61 @@
|
||||
|
||||
#pragma mark -
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
- (void)testRemoveAllItemsWithErrorClassMethod
|
||||
{
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"username"], @"not stored username");
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"password"], @"not stored password");
|
||||
|
||||
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username"];
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"username"], @"kishikawakatsumi", @"stored username");
|
||||
|
||||
[UICKeyChainStore setString:@"password1234" forKey:@"password"];
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"password"], @"password1234", @"stored password");
|
||||
|
||||
NSError *error = nil;
|
||||
[UICKeyChainStore removeAllItemsWithError:&error];
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"username"], @"removed username");
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"password"], @"removed password");
|
||||
XCTAssertNil(error);
|
||||
}
|
||||
#else
|
||||
- (void)testRemoveAllItemsWithErrorClassMethod
|
||||
{
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"username"], @"not stored username");
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"password"], @"not stored password");
|
||||
|
||||
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username"];
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"username"], @"kishikawakatsumi", @"stored username");
|
||||
|
||||
[UICKeyChainStore setString:@"password1234" forKey:@"password"];
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"password"], @"password1234", @"stored password");
|
||||
|
||||
[UICKeyChainStore removeAllItemsWithError:nil];
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"username"], @"removed username");
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"password"], @"removed password");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
- (void)testRemoveAllItemsForServiceClassMethod
|
||||
{
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"username" service:@"Twitter"], @"not stored username");
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"password" service:@"Twitter"], @"not stored password");
|
||||
|
||||
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username" service:@"Twitter"];
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"username" service:@"Twitter"], @"kishikawakatsumi", @"stored username");
|
||||
|
||||
[UICKeyChainStore setString:@"password1234" forKey:@"password" service:@"Twitter"];
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"password" service:@"Twitter"], @"password1234", @"stored password");
|
||||
|
||||
[UICKeyChainStore removeAllItemsForService:@"Twitter" error:nil];
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"username"], @"removed username");
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"password"], @"removed password");
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)testSubscripting
|
||||
{
|
||||
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
@@ -432,7 +487,7 @@
|
||||
{
|
||||
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"Twitter" accessGroup:@"12ABCD3E4F.shared"];
|
||||
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
BOOL succeeded = [keychain removeAllItemsWithError:&error];
|
||||
XCTAssertNil(error, "no error occurred");
|
||||
XCTAssertTrue(succeeded, "succeeded");
|
||||
@@ -440,7 +495,7 @@
|
||||
{
|
||||
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
BOOL succeeded = [keychain removeAllItemsWithError:&error];
|
||||
XCTAssertNil(error, "no error occurred");
|
||||
XCTAssertTrue(succeeded, "succeeded");
|
||||
@@ -448,7 +503,7 @@
|
||||
{
|
||||
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithServer:[NSURL URLWithString:@"https://kishikawakatsumi.com"] protocolType:UICKeyChainStoreProtocolTypeHTTPS];
|
||||
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
BOOL succeeded = [keychain removeAllItemsWithError:&error];
|
||||
XCTAssertNil(error, "no error occurred");
|
||||
XCTAssertTrue(succeeded, "succeeded");
|
||||
@@ -456,7 +511,7 @@
|
||||
{
|
||||
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStore];
|
||||
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
BOOL succeeded = [keychain removeAllItemsWithError:&error];
|
||||
XCTAssertNil(error, "no error occurred");
|
||||
XCTAssertTrue(succeeded, "succeeded");
|
||||
@@ -466,7 +521,7 @@
|
||||
// Add Keychain items
|
||||
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
BOOL succeeded = [keychain setString:@"kishikawa_katsumi" forKey:@"username" error:&error];
|
||||
XCTAssertNil(error, "no error occurred");
|
||||
XCTAssertTrue(succeeded, "succeeded");
|
||||
@@ -488,7 +543,7 @@
|
||||
// Update Keychain items
|
||||
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
BOOL succeeded = [keychain setString:@"katsumi_kishikawa" forKey:@"username" error:&error];
|
||||
XCTAssertNil(error, "no error occurred");
|
||||
XCTAssertTrue(succeeded, "succeeded");
|
||||
@@ -510,7 +565,7 @@
|
||||
// Remove Keychain items
|
||||
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
BOOL succeeded = [keychain removeItemForKey:@"username" error:&error];
|
||||
XCTAssertNil(error, "no error occurred");
|
||||
XCTAssertTrue(succeeded, "succeeded");
|
||||
@@ -677,7 +732,7 @@
|
||||
XCTAssertNil([store stringForKey:@"password"], @"removed password");
|
||||
}
|
||||
|
||||
- (void)testSetStringWithServiceClassMethod
|
||||
- (void)testSetStringWithServiceClassMethod1
|
||||
{
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
[store removeAllItems];
|
||||
@@ -701,6 +756,42 @@
|
||||
XCTAssertNil([store stringForKey:@"password"], @"removed password");
|
||||
}
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
- (void)testSetStringWithServiceClassMethod2
|
||||
{
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
[store removeAllItems];
|
||||
|
||||
NSError *error = nil;
|
||||
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username" service:@"Twitter" error:&error];
|
||||
XCTAssertNil(error);
|
||||
[UICKeyChainStore setString:@"password1234" forKey:@"password" service:@"Twitter" error:&error];
|
||||
XCTAssertNil(error);
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"username" service:@"Twitter" error:&error], @"kishikawakatsumi", @"stored username");
|
||||
XCTAssertNil(error);
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"password" service:@"Twitter" error:&error], @"password1234", @"stored password");
|
||||
XCTAssertNil(error);
|
||||
XCTAssertEqualObjects([store stringForKey:@"username"], @"kishikawakatsumi", @"stored username");
|
||||
XCTAssertEqualObjects([store stringForKey:@"password"], @"password1234", @"stored password");
|
||||
|
||||
[UICKeyChainStore removeItemForKey:@"username" service:@"Twitter" error:&error];
|
||||
XCTAssertNil(error);
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"username" service:@"Twitter" error:&error], @"removed username");
|
||||
XCTAssertEqualObjects([UICKeyChainStore stringForKey:@"password" service:@"Twitter" error:&error], @"password1234", @"left password");
|
||||
XCTAssertNil(error);
|
||||
XCTAssertEqualObjects([store stringForKey:@"password"], @"password1234", @"left password");
|
||||
|
||||
[UICKeyChainStore removeItemForKey:@"password" service:@"Twitter" error:&error];
|
||||
XCTAssertNil(error);
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"username" service:@"Twitter" error:&error], @"removed username");
|
||||
XCTAssertNil(error);
|
||||
XCTAssertNil([UICKeyChainStore stringForKey:@"password" service:@"Twitter" error:&error], @"removed password");
|
||||
XCTAssertNil(error);
|
||||
XCTAssertNil([store stringForKey:@"username"], @"removed username");
|
||||
XCTAssertNil([store stringForKey:@"password"], @"removed password");
|
||||
}
|
||||
#endif
|
||||
|
||||
- (void)testSetStringWithServiceAndAccessGroupClassMethod
|
||||
{
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"Twitter" accessGroup:@"12ABCD3E4F.shared"];
|
||||
@@ -728,7 +819,7 @@
|
||||
#if TARGET_OS_IPHONE
|
||||
- (void)testSetStringClassMethodAndError
|
||||
{
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStore];
|
||||
[store removeAllItemsWithError:&error];
|
||||
@@ -846,7 +937,7 @@
|
||||
NSData *usernameData = [@"kishikawakatsumi" dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSData *passwordData = [@"password1234" dataUsingEncoding:NSUTF8StringEncoding];
|
||||
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
|
||||
[UICKeyChainStore setData:usernameData forKey:@"username" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
@@ -872,6 +963,67 @@
|
||||
XCTAssertNil([UICKeyChainStore dataForKey:@"password" error:&error], @"removed password");
|
||||
XCTAssertNil(error, @"no error");
|
||||
}
|
||||
|
||||
- (void)testSetDataWithServiceClassMethodAndError
|
||||
{
|
||||
NSData *usernameData = [@"kishikawakatsumi" dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSData *passwordData = [@"password1234" dataUsingEncoding:NSUTF8StringEncoding];
|
||||
|
||||
NSError *error = nil;
|
||||
[UICKeyChainStore setData:usernameData forKey:@"username" service:@"Twitter" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
[UICKeyChainStore setData:passwordData forKey:@"password" service:@"Twitter" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertEqualObjects([UICKeyChainStore dataForKey:@"username" service:@"Twitter" error:&error], usernameData, @"stored username");
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertEqualObjects([UICKeyChainStore dataForKey:@"password" service:@"Twitter" error:&error], passwordData, @"stored password");
|
||||
XCTAssertNil(error, @"no error");
|
||||
|
||||
[UICKeyChainStore removeItemForKey:@"username" service:@"Twitter" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertNil([UICKeyChainStore dataForKey:@"username" service:@"Twitter" error:&error], @"removed username");
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertEqualObjects([UICKeyChainStore dataForKey:@"password" service:@"Twitter" error:&error], passwordData, @"left password");
|
||||
XCTAssertNil(error, @"no error");
|
||||
|
||||
[UICKeyChainStore removeItemForKey:@"password" service:@"Twitter" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertNil([UICKeyChainStore dataForKey:@"username" service:@"Twitter" error:&error], @"removed username");
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertNil([UICKeyChainStore dataForKey:@"password" service:@"Twitter" error:&error], @"removed password");
|
||||
XCTAssertNil(error, @"no error");
|
||||
}
|
||||
|
||||
- (void)testSetDataWithServiceAndAccessGroupClassMethodAndError
|
||||
{
|
||||
NSData *usernameData = [@"kishikawakatsumi" dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSData *passwordData = [@"password1234" dataUsingEncoding:NSUTF8StringEncoding];
|
||||
|
||||
NSError *error = nil;
|
||||
[UICKeyChainStore setData:usernameData forKey:@"username" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
[UICKeyChainStore setData:passwordData forKey:@"password" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertEqualObjects([UICKeyChainStore dataForKey:@"username" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error], usernameData, @"stored username");
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertEqualObjects([UICKeyChainStore dataForKey:@"password" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error], passwordData, @"stored password");
|
||||
XCTAssertNil(error, @"no error");
|
||||
|
||||
[UICKeyChainStore removeItemForKey:@"username" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertNil([UICKeyChainStore dataForKey:@"username" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error], @"removed username");
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertEqualObjects([UICKeyChainStore dataForKey:@"password" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error], passwordData, @"left password");
|
||||
XCTAssertNil(error, @"no error");
|
||||
|
||||
[UICKeyChainStore removeItemForKey:@"password" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertNil([UICKeyChainStore dataForKey:@"username" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error], @"removed username");
|
||||
XCTAssertNil(error, @"no error");
|
||||
XCTAssertNil([UICKeyChainStore dataForKey:@"password" service:@"Twitter" accessGroup:@"12ABCD3E4F.shared" error:&error], @"removed password");
|
||||
XCTAssertNil(error, @"no error");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
- (void)testSetNilData
|
||||
@@ -920,7 +1072,7 @@
|
||||
#if TARGET_OS_IPHONE
|
||||
- (void)testClassMethodsSetAndRemoveItemWithNoError
|
||||
{
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
|
||||
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username" error:&error];
|
||||
XCTAssertNil(error, @"no error");
|
||||
@@ -953,7 +1105,7 @@
|
||||
#if TARGET_OS_IPHONE
|
||||
- (void)testInstanceMethodsSetAndRemoveItemWithNoError
|
||||
{
|
||||
NSError *error;
|
||||
NSError *error = nil;
|
||||
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
@@ -1136,7 +1288,7 @@
|
||||
[store removeAllItems];
|
||||
}
|
||||
|
||||
- (void)testGetAllKeysClassMethod
|
||||
- (void)testGetAllKeysGenericPasswordClassMethod
|
||||
{
|
||||
[UICKeyChainStore removeAllItemsForService:@"github.com"];
|
||||
|
||||
@@ -1209,7 +1361,7 @@
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)testSetLabelAndComment
|
||||
- (void)testSetStringLabelAndComment
|
||||
{
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
@@ -1224,6 +1376,17 @@
|
||||
XCTAssertNil(username);
|
||||
}
|
||||
|
||||
- (void)testSetDataLabelAndComment
|
||||
{
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:@[@"Keychain"]];
|
||||
[store setData:data forKey:@"data" label:@"Label" comment:@"Comment"];
|
||||
XCTAssertEqualObjects(data, [store dataForKey:@"data"]);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)testDescription
|
||||
{
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"github.com"];
|
||||
@@ -1286,6 +1449,29 @@
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)testStringConversionError
|
||||
{
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:@[@"Keychain"]];
|
||||
|
||||
[store setData:data forKey:@"data"];
|
||||
|
||||
NSError *error = nil;
|
||||
NSString *s = [store stringForKey:@"data" error:&error];
|
||||
XCTAssertNil(s);
|
||||
XCTAssertNotNil(error);
|
||||
}
|
||||
|
||||
- (void)testArgumentError
|
||||
{
|
||||
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"Twitter"];
|
||||
|
||||
NSError *error = nil;
|
||||
[store setString:@"kishikawakatsumi" forKey:nil error:&error];
|
||||
XCTAssertNotNil(error);
|
||||
}
|
||||
|
||||
- (void)testProtocolTypeAndAuthenticationTypePrivateMethod
|
||||
{
|
||||
NSURL *URL = [NSURL URLWithString:@"https://kishikawakatsumi.com"];
|
||||
|
||||
Reference in New Issue
Block a user