fixed unit tests for Xcode5.

This commit is contained in:
Kelp 2013-10-04 17:44:38 +08:00
parent d8faffaa46
commit e3d01fb7eb
10 changed files with 517 additions and 224 deletions

View File

@ -0,0 +1,9 @@
//
// Prefix header
//
// The contents of this file are implicitly included at the beginning of every source file.
//
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif

View File

@ -0,0 +1,65 @@
//
// CocoaSecurityDecoder_Tests.m
// CocoaSecurity
//
// Created by Kelp on 2013/10/04.
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurityDecoder_Tests : XCTestCase {
CocoaSecurityDecoder *_decoder;
}
@end
@implementation CocoaSecurityDecoder_Tests
- (void)setUp
{
[super setUp];
_decoder = [CocoaSecurityDecoder new];
}
- (void)tearDown
{
// Put teardown code here; it will be run once, after the last test case.
[super tearDown];
}
- (void)testDecodeHex
{
NSData *expected = [@"AO" dataUsingEncoding:NSUTF8StringEncoding];
NSData *actual = [_decoder hex:@"414F"];
XCTAssertEqualObjects(expected, actual, @"");
actual = [_decoder hex:@"414f"];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testDecodeHexNil
{
NSData *actual = [_decoder hex:@""];
XCTAssertNil(actual, @"");
}
- (void)testDecodeBase64
{
NSData *expected = [@"source" dataUsingEncoding:NSUTF8StringEncoding];
NSData *actual = [_decoder base64:@"c291cmNl"];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testDecodeBase64Nil
{
NSData *actual = [_decoder base64:@""];
XCTAssertNil(actual, @"");
}
@end

View File

@ -0,0 +1,69 @@
//
// CocoaSecurity_Tests.m
// CocoaSecurity Tests
//
// Created by Kelp on 2013/10/04.
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurityEncoder_Tests : XCTestCase {
CocoaSecurityEncoder *_encoder;
}
@end
@implementation CocoaSecurityEncoder_Tests
- (void)setUp
{
[super setUp];
_encoder = [CocoaSecurityEncoder new];
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testEncodeHex
{
NSString *expected = @"414F";
NSData *data = [@"AO" dataUsingEncoding:NSUTF8StringEncoding];
NSString *actual = [_encoder hex:data useLower:NO];
XCTAssertEqualObjects(expected, actual, @"");
expected = @"414f";
actual = [_encoder hex:data useLower:YES];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testEncodeHexNil
{
NSString *actual = [_encoder hex:[NSData new] useLower:YES];
XCTAssertNil(actual, @"");
}
- (void)testEncodeBase64
{
NSString *expected = @"c291cmNl";
NSData *data = [@"source" dataUsingEncoding:NSUTF8StringEncoding];
NSString *actual = [_encoder base64:data];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testEncodeBase64Nil
{
NSString *actual = [_encoder base64:[NSData new]];
XCTAssertNil(actual, @"");
}
@end

View File

@ -0,0 +1,71 @@
//
// CocoaSecurityResult_Test.m
// CocoaSecurity
//
// Created by Kelp on 2013/10/04.
//
//
#import <XCTest/XCTest.h>
# import "CocoaSecurity.h"
@interface CocoaSecurityResult_Test : XCTestCase {
unsigned char *_data;
CocoaSecurityResult *_result;
}
@end
@implementation CocoaSecurityResult_Test
- (void)setUp
{
[super setUp];
unsigned char data[] =
{
0xcd, 0x3d, 0x4f, 0x4b, 0xae, 0x0c, 0x9d, 0x72,
0x14, 0x0c, 0x25, 0x22, 0xcb, 0x5d, 0xd1, 0x46
};
_data = malloc(16);
memcpy(_data, data, 16);
_result = [[CocoaSecurityResult alloc] initWithBytes:_data length:16];
}
- (void)tearDown
{
// Put teardown code here; it will be run once, after the last test case.
[super tearDown];
}
- (void)testBase64
{
NSString *expected = @"zT1PS64MnXIUDCUiy13RRg==";
NSString *actual = _result.base64;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHex
{
NSString *expected = @"CD3D4F4BAE0C9D72140C2522CB5DD146";
NSString *actual = _result.hex;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHexLower
{
NSString *expected = @"cd3d4f4bae0c9d72140c2522cb5dd146";
NSString *actual = _result.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testData
{
NSData *expected = [NSData dataWithBytes:_data length:16];
NSData *actual = _result.data;
XCTAssertEqualObjects(expected, actual, @"");
}
@end

View File

@ -0,0 +1,198 @@
//
// CocoaSecurity_Tests.m
// CocoaSecurity Tests
//
// Created by Kelp on 2013/10/04.
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurity_Tests : XCTestCase
@end
@implementation CocoaSecurity_Tests
- (void)setUp
{
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testEncryptAES128
{
NSString *expected = @"zT1PS64MnXIUDCUiy13RRg==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"C40C69779E15780ADAE46C45EB451E23"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAES192
{
NSString *expected = @"zSpp/l/B/Gp+j0vByqcTVg==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAES256
{
NSString *expected = @"WQYg5qvcGyCBY3IF0hPsoQ==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAESDefault
{
NSString *expected = @"ez9uubPneV1d2+rpjnabJw==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp" key:@"key"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testDecryptAES128
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"zT1PS64MnXIUDCUiy13RRg=="
hexKey:@"C40C69779E15780ADAE46C45EB451E23"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAES192
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"zSpp/l/B/Gp+j0vByqcTVg=="
hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAES256
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"WQYg5qvcGyCBY3IF0hPsoQ=="
hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAESDefault
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"ez9uubPneV1d2+rpjnabJw==" key:@"key"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testMD5
{
NSString *expected = @"C40C69779E15780ADAE46C45EB451E23";
CocoaSecurityResult *md5 = [CocoaSecurity md5:@"kelp"];
NSString *actual = md5.hex;
XCTAssertEqualObjects(expected, actual , @"");
}
- (void)testHmacMD5
{
NSString *expected = @"2DFF352719234D5D6A9839FD8F43C8D2";
CocoaSecurityResult *hmacMd5 = [CocoaSecurity hmacMd5:@"kelp" hmacKey:@"key"];
NSString *actual = hmacMd5.hex;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA1
{
NSString *expected = @"70b6a0495fb444a63297c83de187b1730a18e85a";
CocoaSecurityResult *sha1 = [CocoaSecurity sha1:@"kelp"];
NSString *actual = sha1.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA224
{
NSString *expected = @"1e124576cebf14ecdac30b8ca05ff94deb343f54ebb0eab21559dcf1";
CocoaSecurityResult *sha224 = [CocoaSecurity sha224:@"kelp"];
NSString *actual = sha224.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA256
{
NSString *expected = @"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9";
CocoaSecurityResult *sha256 = [CocoaSecurity sha256:@"kelp"];
NSString *actual = sha256.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA384
{
NSString *expected = @"e0801e06e6eea6257018bc0f2aaf1f7ec23385ce2ac9865fe209322262f323e80c81f65e711e30d162af5638ef8b4334";
CocoaSecurityResult *sha384 = [CocoaSecurity sha384:@"kelp"];
NSString *actual = sha384.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA512
{
NSString *expected = @"af8489a9fb6dcb8973515cdda3366c939ebcc8ac8fb0a7c322f1333babe03655222930ad48b4924f1a1f13c23856bc3c2e1b93cb10c74e72362e5457756517ff";
CocoaSecurityResult *sha512 = [CocoaSecurity sha512:@"kelp"];
NSString *actual = sha512.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA1
{
NSString *expected = @"fae888da051e44eb0c57f43935ad82cdbedf482f";
CocoaSecurityResult *sha1 = [CocoaSecurity hmacSha1:@"kelp" hmacKey:@"key"];
NSString *actual = sha1.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA224
{
NSString *expected = @"4777556ee573705fcf6194de22947e09562653a84684c4b015a91e0c";
CocoaSecurityResult *sha224 = [CocoaSecurity hmacSha224:@"kelp" hmacKey:@"key"];
NSString *actual = sha224.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA256
{
NSString *expected = @"09e6c01ee44e4fc87871d3d8eb5265b67a941e9bf68d1b33851aeeed0114cd33";
CocoaSecurityResult *sha256 = [CocoaSecurity hmacSha256:@"kelp" hmacKey:@"key"];
NSString *actual = sha256.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA384
{
NSString *expected = @"99f2a12918f5e0c7e21ef4759ecb8dd882c95af32a204ac83928aa413e1d8e9ed312c29c41e2f3c00a78d448df11d15e";
CocoaSecurityResult *sha384 = [CocoaSecurity hmacSha384:@"kelp" hmacKey:@"key"];
NSString *actual = sha384.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA512
{
NSString *expected = @"3807619fdaa2dd77e3dd554a627284406000a5c924db72202af0e6b1832789a94bacc710dc2b7da61fbfd6e1065dfe39085a872538f5b19fde112092c90d893a";
CocoaSecurityResult *sha512 = [CocoaSecurity hmacSha512:@"kelp" hmacKey:@"key"];
NSString *actual = sha512.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
@end

View File

@ -10,16 +10,18 @@
2113923B16EAD6AF00AFDF87 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; };
2113924016EAD6AF00AFDF87 /* CocoaSecurity.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 2113923F16EAD6AF00AFDF87 /* CocoaSecurity.h */; };
2113924216EAD6AF00AFDF87 /* CocoaSecurity.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */; };
2113924A16EAD6AF00AFDF87 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113924916EAD6AF00AFDF87 /* SenTestingKit.framework */; };
2113924C16EAD6AF00AFDF87 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113924B16EAD6AF00AFDF87 /* UIKit.framework */; };
2113924D16EAD6AF00AFDF87 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; };
2113925016EAD6AF00AFDF87 /* libCocoaSecurity.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923716EAD6AF00AFDF87 /* libCocoaSecurity.a */; };
2113925616EAD6AF00AFDF87 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2113925416EAD6AF00AFDF87 /* InfoPlist.strings */; };
2113925916EAD6AF00AFDF87 /* CocoaSecurityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113925816EAD6AF00AFDF87 /* CocoaSecurityTests.m */; };
2164336617FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */; };
2164336817FEB8B0006C71F4 /* CocoaSecurityResult_Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */; };
21BB8A2F17FEA0EC0032C38C /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21BB8A2E17FEA0EC0032C38C /* XCTest.framework */; };
21BB8A3017FEA0EC0032C38C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; };
21BB8A3717FEA0EC0032C38C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */; };
21BB8A3917FEA0EC0032C38C /* CocoaSecurity_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */; };
21BB8A4017FEA5190032C38C /* CocoaSecurity.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */; };
21BB8A4317FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
2113924E16EAD6AF00AFDF87 /* PBXContainerItemProxy */ = {
21BB8A3B17FEA0EC0032C38C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 2113922F16EAD6AF00AFDF87 /* Project object */;
proxyType = 1;
@ -46,13 +48,17 @@
2113923A16EAD6AF00AFDF87 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
2113923F16EAD6AF00AFDF87 /* CocoaSecurity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CocoaSecurity.h; sourceTree = "<group>"; };
2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurity.m; sourceTree = "<group>"; };
2113924816EAD6AF00AFDF87 /* CocoaSecurityTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoaSecurityTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
2113924916EAD6AF00AFDF87 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
2113924B16EAD6AF00AFDF87 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
2113925316EAD6AF00AFDF87 /* CocoaSecurityTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CocoaSecurityTests-Info.plist"; sourceTree = "<group>"; };
2113925516EAD6AF00AFDF87 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
2113925716EAD6AF00AFDF87 /* CocoaSecurityTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CocoaSecurityTests.h; sourceTree = "<group>"; };
2113925816EAD6AF00AFDF87 /* CocoaSecurityTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityTests.m; sourceTree = "<group>"; };
2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityDecoder_Tests.m; sourceTree = "<group>"; };
2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityResult_Test.m; sourceTree = "<group>"; };
21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CocoaSecurity Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
21BB8A2E17FEA0EC0032C38C /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
21BB8A3417FEA0EC0032C38C /* CocoaSecurity Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CocoaSecurity Tests-Info.plist"; sourceTree = "<group>"; };
21BB8A3617FEA0EC0032C38C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurity_Tests.m; sourceTree = "<group>"; };
21BB8A3A17FEA0EC0032C38C /* CocoaSecurity Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CocoaSecurity Tests-Prefix.pch"; sourceTree = "<group>"; };
21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityEncoder_Tests.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -64,14 +70,12 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
2113924416EAD6AF00AFDF87 /* Frameworks */ = {
21BB8A2A17FEA0EC0032C38C /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
2113924A16EAD6AF00AFDF87 /* SenTestingKit.framework in Frameworks */,
2113924C16EAD6AF00AFDF87 /* UIKit.framework in Frameworks */,
2113924D16EAD6AF00AFDF87 /* Foundation.framework in Frameworks */,
2113925016EAD6AF00AFDF87 /* libCocoaSecurity.a in Frameworks */,
21BB8A2F17FEA0EC0032C38C /* XCTest.framework in Frameworks */,
21BB8A3017FEA0EC0032C38C /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -82,7 +86,7 @@
isa = PBXGroup;
children = (
2113923C16EAD6AF00AFDF87 /* CocoaSecurity */,
2113925116EAD6AF00AFDF87 /* CocoaSecurityTests */,
21BB8A3217FEA0EC0032C38C /* CocoaSecurity Tests */,
2113923916EAD6AF00AFDF87 /* Frameworks */,
2113923816EAD6AF00AFDF87 /* Products */,
);
@ -92,7 +96,7 @@
isa = PBXGroup;
children = (
2113923716EAD6AF00AFDF87 /* libCocoaSecurity.a */,
2113924816EAD6AF00AFDF87 /* CocoaSecurityTests.octest */,
21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */,
);
name = Products;
sourceTree = "<group>";
@ -103,6 +107,7 @@
2113923A16EAD6AF00AFDF87 /* Foundation.framework */,
2113924916EAD6AF00AFDF87 /* SenTestingKit.framework */,
2113924B16EAD6AF00AFDF87 /* UIKit.framework */,
21BB8A2E17FEA0EC0032C38C /* XCTest.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@ -116,21 +121,24 @@
path = CocoaSecurity;
sourceTree = "<group>";
};
2113925116EAD6AF00AFDF87 /* CocoaSecurityTests */ = {
21BB8A3217FEA0EC0032C38C /* CocoaSecurity Tests */ = {
isa = PBXGroup;
children = (
2113925716EAD6AF00AFDF87 /* CocoaSecurityTests.h */,
2113925816EAD6AF00AFDF87 /* CocoaSecurityTests.m */,
2113925216EAD6AF00AFDF87 /* Supporting Files */,
21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */,
21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */,
2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */,
2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */,
21BB8A3317FEA0EC0032C38C /* Supporting Files */,
);
path = CocoaSecurityTests;
path = "CocoaSecurity Tests";
sourceTree = "<group>";
};
2113925216EAD6AF00AFDF87 /* Supporting Files */ = {
21BB8A3317FEA0EC0032C38C /* Supporting Files */ = {
isa = PBXGroup;
children = (
2113925316EAD6AF00AFDF87 /* CocoaSecurityTests-Info.plist */,
2113925416EAD6AF00AFDF87 /* InfoPlist.strings */,
21BB8A3417FEA0EC0032C38C /* CocoaSecurity Tests-Info.plist */,
21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */,
21BB8A3A17FEA0EC0032C38C /* CocoaSecurity Tests-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
@ -155,24 +163,23 @@
productReference = 2113923716EAD6AF00AFDF87 /* libCocoaSecurity.a */;
productType = "com.apple.product-type.library.static";
};
2113924716EAD6AF00AFDF87 /* CocoaSecurityTests */ = {
21BB8A2C17FEA0EC0032C38C /* CocoaSecurity Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2113925F16EAD6AF00AFDF87 /* Build configuration list for PBXNativeTarget "CocoaSecurityTests" */;
buildConfigurationList = 21BB8A3D17FEA0EC0032C38C /* Build configuration list for PBXNativeTarget "CocoaSecurity Tests" */;
buildPhases = (
2113924316EAD6AF00AFDF87 /* Sources */,
2113924416EAD6AF00AFDF87 /* Frameworks */,
2113924516EAD6AF00AFDF87 /* Resources */,
2113924616EAD6AF00AFDF87 /* ShellScript */,
21BB8A2917FEA0EC0032C38C /* Sources */,
21BB8A2A17FEA0EC0032C38C /* Frameworks */,
21BB8A2B17FEA0EC0032C38C /* Resources */,
);
buildRules = (
);
dependencies = (
2113924F16EAD6AF00AFDF87 /* PBXTargetDependency */,
21BB8A3C17FEA0EC0032C38C /* PBXTargetDependency */,
);
name = CocoaSecurityTests;
productName = CocoaSecurityTests;
productReference = 2113924816EAD6AF00AFDF87 /* CocoaSecurityTests.octest */;
productType = "com.apple.product-type.bundle";
name = "CocoaSecurity Tests";
productName = "CocoaSecurity Tests";
productReference = 21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
@ -181,6 +188,11 @@
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0460;
TargetAttributes = {
21BB8A2C17FEA0EC0032C38C = {
TestTargetID = 2113923616EAD6AF00AFDF87;
};
};
};
buildConfigurationList = 2113923216EAD6AF00AFDF87 /* Build configuration list for PBXProject "CocoaSecurity" */;
compatibilityVersion = "Xcode 3.2";
@ -195,38 +207,22 @@
projectRoot = "";
targets = (
2113923616EAD6AF00AFDF87 /* CocoaSecurity */,
2113924716EAD6AF00AFDF87 /* CocoaSecurityTests */,
21BB8A2C17FEA0EC0032C38C /* CocoaSecurity Tests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
2113924516EAD6AF00AFDF87 /* Resources */ = {
21BB8A2B17FEA0EC0032C38C /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2113925616EAD6AF00AFDF87 /* InfoPlist.strings in Resources */,
21BB8A3717FEA0EC0032C38C /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
2113924616EAD6AF00AFDF87 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
2113923316EAD6AF00AFDF87 /* Sources */ = {
isa = PBXSourcesBuildPhase;
@ -236,29 +232,33 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
2113924316EAD6AF00AFDF87 /* Sources */ = {
21BB8A2917FEA0EC0032C38C /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2113925916EAD6AF00AFDF87 /* CocoaSecurityTests.m in Sources */,
2164336617FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m in Sources */,
21BB8A4017FEA5190032C38C /* CocoaSecurity.m in Sources */,
21BB8A3917FEA0EC0032C38C /* CocoaSecurity_Tests.m in Sources */,
21BB8A4317FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m in Sources */,
2164336817FEB8B0006C71F4 /* CocoaSecurityResult_Test.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
2113924F16EAD6AF00AFDF87 /* PBXTargetDependency */ = {
21BB8A3C17FEA0EC0032C38C /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 2113923616EAD6AF00AFDF87 /* CocoaSecurity */;
targetProxy = 2113924E16EAD6AF00AFDF87 /* PBXContainerItemProxy */;
targetProxy = 21BB8A3B17FEA0EC0032C38C /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
2113925416EAD6AF00AFDF87 /* InfoPlist.strings */ = {
21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
2113925516EAD6AF00AFDF87 /* en */,
21BB8A3617FEA0EC0032C38C /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
@ -343,33 +343,60 @@
};
name = Release;
};
2113926016EAD6AF00AFDF87 /* Debug */ = {
21BB8A3E17FEA0EC0032C38C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
FRAMEWORK_SEARCH_PATHS = (
"\"$(SDKROOT)/Developer/Library/Frameworks\"",
"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = "CocoaSecurityTests/CocoaSecurityTests-Info.plist";
GCC_PREFIX_HEADER = "CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = "CocoaSecurity Tests/CocoaSecurity Tests-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = octest;
WRAPPER_EXTENSION = xctest;
};
name = Debug;
};
2113926116EAD6AF00AFDF87 /* Release */ = {
21BB8A3F17FEA0EC0032C38C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
ENABLE_NS_ASSERTIONS = NO;
FRAMEWORK_SEARCH_PATHS = (
"\"$(SDKROOT)/Developer/Library/Frameworks\"",
"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = "CocoaSecurityTests/CocoaSecurityTests-Info.plist";
GCC_PREFIX_HEADER = "CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch";
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = "CocoaSecurity Tests/CocoaSecurity Tests-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = octest;
WRAPPER_EXTENSION = xctest;
};
name = Release;
};
@ -394,11 +421,11 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2113925F16EAD6AF00AFDF87 /* Build configuration list for PBXNativeTarget "CocoaSecurityTests" */ = {
21BB8A3D17FEA0EC0032C38C /* Build configuration list for PBXNativeTarget "CocoaSecurity Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2113926016EAD6AF00AFDF87 /* Debug */,
2113926116EAD6AF00AFDF87 /* Release */,
21BB8A3E17FEA0EC0032C38C /* Debug */,
21BB8A3F17FEA0EC0032C38C /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;

View File

@ -1,14 +0,0 @@
//
// CocoaSecurityTests.h
// CocoaSecurityTests
//
// Created by Kelp on 12/5/13.
// Copyright (c) 2012 Phate. All rights reserved.
//
#import <SenTestingKit/SenTestingKit.h>
#import "CocoaSecurity.h"
@interface CocoaSecurityTests : SenTestCase
@end

View File

@ -1,132 +0,0 @@
//
// CocoaSecurityTests.m
// CocoaSecurityTests
//
// Created by Kelp on 12/5/13.
// Copyright (c) 2012 Phate. All rights reserved.
//
#import "CocoaSecurityTests.h"
@implementation CocoaSecurityTests
- (void)setUp
{
[super setUp];
// Set-up code here.
}
- (void)tearDown
{
// Tear-down code here.
[super tearDown];
}
- (void)testEncodeDecode
{
CocoaSecurityDecoder *decoder = [CocoaSecurityDecoder new];
CocoaSecurityEncoder *encoder = [CocoaSecurityEncoder new];
// HEX
STAssertEqualObjects([encoder hex:[decoder hex:@"CC0A69779E15780ADAE46C45EB451A23"] useLower:false],
@"CC0A69779E15780ADAE46C45EB451A23", nil);
STAssertNil([encoder hex:[NSData new] useLower:YES], nil);
STAssertNil([decoder hex:@""], nil);
// Base64
STAssertEqualObjects([encoder base64:[decoder base64:@"zT1PS64MnXIUDCUiy13RRg=="]], @"zT1PS64MnXIUDCUiy13RRg==", nil);
STAssertNil([encoder base64:[NSData new]], nil);
STAssertNil([decoder base64:@""], nil);
}
- (void)testAES
{
// AES128
CocoaSecurityResult *aes128 = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"C40C69779E15780ADAE46C45EB451E23"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
STAssertEqualObjects(aes128.base64, @"zT1PS64MnXIUDCUiy13RRg==", nil);
STAssertEqualObjects([CocoaSecurity aesDecryptWithBase64:aes128.base64
hexKey:@"C40C69779E15780ADAE46C45EB451E23"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"].utf8String, @"kelp", nil);
// AES192
CocoaSecurityResult *aes192 = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
STAssertEqualObjects(aes192.base64, @"zSpp/l/B/Gp+j0vByqcTVg==", nil);
STAssertEqualObjects([CocoaSecurity aesDecryptWithBase64:aes192.base64
hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"].utf8String, @"kelp", nil);
// AES256
CocoaSecurityResult *aes256 = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
STAssertEqualObjects(aes256.base64, @"WQYg5qvcGyCBY3IF0hPsoQ==", nil);
STAssertEqualObjects([CocoaSecurity aesDecryptWithBase64:aes256.base64
hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"].utf8String, @"kelp", nil);
// AES default
CocoaSecurityResult *aesDefault = [CocoaSecurity aesEncrypt:@"kelp" key:@"key"];
STAssertEqualObjects(aesDefault.base64, @"ez9uubPneV1d2+rpjnabJw==", nil);
STAssertEqualObjects([CocoaSecurity aesDecryptWithBase64:aesDefault.base64 key:@"key"].utf8String, @"kelp", nil);
}
- (void)testMD5
{
CocoaSecurityResult *md5 = [CocoaSecurity md5:@"kelp"];
CocoaSecurityResult *hmacMd5 = [CocoaSecurity hmacMd5:@"kelp" hmacKey:@"key"];
STAssertEqualObjects(md5.hex, @"C40C69779E15780ADAE46C45EB451E23", nil);
STAssertEqualObjects(md5.hexLower, @"c40c69779e15780adae46c45eb451e23", nil);
STAssertEqualObjects(md5.base64, @"xAxpd54VeAra5GxF60UeIw==", nil);
STAssertEqualObjects(hmacMd5.hex, @"2DFF352719234D5D6A9839FD8F43C8D2", nil);
STAssertEqualObjects(hmacMd5.hexLower, @"2dff352719234d5d6a9839fd8f43c8d2", nil);
STAssertEqualObjects(hmacMd5.base64, @"Lf81JxkjTV1qmDn9j0PI0g==", nil);
}
- (void)testSHA
{
CocoaSecurityResult *sha1 = [CocoaSecurity sha1:@"kelp"];
CocoaSecurityResult *sha224 = [CocoaSecurity sha224:@"kelp"];
CocoaSecurityResult *sha256 = [CocoaSecurity sha256:@"kelp"];
CocoaSecurityResult *sha384 = [CocoaSecurity sha384:@"kelp"];
CocoaSecurityResult *sha512 = [CocoaSecurity sha512:@"kelp"];
CocoaSecurityResult *hmacSha1 = [CocoaSecurity hmacSha1:@"kelp" hmacKey:@"key"];
CocoaSecurityResult *hmacSha224 = [CocoaSecurity hmacSha224:@"kelp" hmacKey:@"key"];
CocoaSecurityResult *hmacSha256 = [CocoaSecurity hmacSha256:@"kelp" hmacKey:@"key"];
CocoaSecurityResult *hmacSha384 = [CocoaSecurity hmacSha384:@"kelp" hmacKey:@"key"];
CocoaSecurityResult *hmacSha512 = [CocoaSecurity hmacSha512:@"kelp" hmacKey:@"key"];
STAssertEqualObjects(sha1.hexLower, @"70b6a0495fb444a63297c83de187b1730a18e85a", nil);
STAssertEqualObjects(sha1.base64, @"cLagSV+0RKYyl8g94YexcwoY6Fo=", nil);
STAssertEqualObjects(hmacSha1.hexLower, @"fae888da051e44eb0c57f43935ad82cdbedf482f", nil);
STAssertEqualObjects(hmacSha1.base64, @"+uiI2gUeROsMV/Q5Na2Czb7fSC8=", nil);
STAssertEqualObjects(sha224.hexLower, @"1e124576cebf14ecdac30b8ca05ff94deb343f54ebb0eab21559dcf1", nil);
STAssertEqualObjects(sha224.base64, @"HhJFds6/FOzawwuMoF/5Tes0P1TrsOqyFVnc8Q==", nil);
STAssertEqualObjects(hmacSha224.hexLower, @"4777556ee573705fcf6194de22947e09562653a84684c4b015a91e0c", nil);
STAssertEqualObjects(hmacSha224.base64, @"R3dVbuVzcF/PYZTeIpR+CVYmU6hGhMSwFakeDA==", nil);
STAssertEqualObjects(sha256.hexLower, @"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9", nil);
STAssertEqualObjects(sha256.base64, @"KA+LuMQ9Uy84nvDipTISILB4KwZSBdzfy42PAu1RFbk=", nil);
STAssertEqualObjects(hmacSha256.hexLower, @"09e6c01ee44e4fc87871d3d8eb5265b67a941e9bf68d1b33851aeeed0114cd33", nil);
STAssertEqualObjects(hmacSha256.base64, @"CebAHuROT8h4cdPY61JltnqUHpv2jRszhRru7QEUzTM=", nil);
STAssertEqualObjects(sha384.hexLower, @"e0801e06e6eea6257018bc0f2aaf1f7ec23385ce2ac9865fe209322262f323e80c81f65e711e30d162af5638ef8b4334", nil);
STAssertEqualObjects(sha384.base64, @"4IAeBubupiVwGLwPKq8ffsIzhc4qyYZf4gkyImLzI+gMgfZecR4w0WKvVjjvi0M0", nil);
STAssertEqualObjects(hmacSha384.hexLower, @"99f2a12918f5e0c7e21ef4759ecb8dd882c95af32a204ac83928aa413e1d8e9ed312c29c41e2f3c00a78d448df11d15e", nil);
STAssertEqualObjects(hmacSha384.base64, @"mfKhKRj14MfiHvR1nsuN2ILJWvMqIErIOSiqQT4djp7TEsKcQeLzwAp41EjfEdFe", nil);
STAssertEqualObjects(sha512.hexLower, @"af8489a9fb6dcb8973515cdda3366c939ebcc8ac8fb0a7c322f1333babe03655222930ad48b4924f1a1f13c23856bc3c2e1b93cb10c74e72362e5457756517ff", nil);
STAssertEqualObjects(sha512.base64, @"r4SJqftty4lzUVzdozZsk568yKyPsKfDIvEzO6vgNlUiKTCtSLSSTxofE8I4Vrw8LhuTyxDHTnI2LlRXdWUX/w==", nil);
STAssertEqualObjects(hmacSha512.hexLower, @"3807619fdaa2dd77e3dd554a627284406000a5c924db72202af0e6b1832789a94bacc710dc2b7da61fbfd6e1065dfe39085a872538f5b19fde112092c90d893a", nil);
STAssertEqualObjects(hmacSha512.base64, @"OAdhn9qi3Xfj3VVKYnKEQGAApckk23IgKvDmsYMnialLrMcQ3Ct9ph+/1uEGXf45CFqHJTj1sZ/eESCSyQ2JOg==", nil);
}
@end