// // TSStorageIdentityKeyStoreTests.m // TextSecureKit // // Created by Frederic Jacobs on 06/11/14. // Copyright (c) 2014 Open Whisper Systems. All rights reserved. // #import #import <25519/Curve25519.h> #import "TSStorageManager.h" #import "TSStorageManager+IdentityKeyStore.h" #import "SecurityUtils.h" @interface TSStorageIdentityKeyStoreTests : XCTestCase @end @implementation TSStorageIdentityKeyStoreTests - (void)setUp { [super setUp]; [[TSStorageManager sharedManager] purgeCollection:@"TSStorageManagerTrustedKeysCollection"]; // 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)testNewEmptyKey { NSData *newKey = [SecurityUtils generateRandomBytes:32]; NSString *recipientId = @"test@gmail.com"; XCTAssert([[TSStorageManager sharedManager] isTrustedIdentityKey:newKey recipientId:recipientId]); } - (void)testAlreadyRegisteredKey { NSData *newKey = [SecurityUtils generateRandomBytes:32]; NSString *recipientId = @"test@gmail.com"; [[TSStorageManager sharedManager] saveRemoteIdentity:newKey recipientId:recipientId]; XCTAssert([[TSStorageManager sharedManager] isTrustedIdentityKey:newKey recipientId:recipientId]); } - (void)testChangedKey { NSData *newKey = [SecurityUtils generateRandomBytes:32]; NSString *recipientId = @"test@gmail.com"; [[TSStorageManager sharedManager] saveRemoteIdentity:newKey recipientId:recipientId]; XCTAssert([[TSStorageManager sharedManager] isTrustedIdentityKey:newKey recipientId:recipientId]); NSData *otherKey = [SecurityUtils generateRandomBytes:32]; XCTAssertFalse([[TSStorageManager sharedManager] isTrustedIdentityKey:otherKey recipientId:recipientId]); } - (void)testIdentityKey { [[TSStorageManager sharedManager] generateNewIdentityKey]; XCTAssert([[[TSStorageManager sharedManager] identityKeyPair].publicKey length] == 32); } @end