aboutsummaryrefslogtreecommitdiff
path: root/xcode/OLMKitTests
diff options
context:
space:
mode:
authormanuroe <manu@matrix.org>2019-03-13 14:54:04 +0100
committermanuroe <manu@matrix.org>2019-04-10 23:26:02 +0200
commit5de295da3e5f9ae7e4de6cfe009e2d0ad4e6a08b (patch)
tree4fd40a644de10e680f1ac914f5db0f8ad8c99c84 /xcode/OLMKitTests
parent3609227c6ee4214d561ac7affff9a7e99bc658de (diff)
OLMKit: add Short Authentication String verification
(cherry picked from commit 3e954ca2729d3333ea853c878602d1696f616573)
Diffstat (limited to 'xcode/OLMKitTests')
-rw-r--r--xcode/OLMKitTests/OLMKitSASTests.m69
1 files changed, 69 insertions, 0 deletions
diff --git a/xcode/OLMKitTests/OLMKitSASTests.m b/xcode/OLMKitTests/OLMKitSASTests.m
new file mode 100644
index 0000000..08a2490
--- /dev/null
+++ b/xcode/OLMKitTests/OLMKitSASTests.m
@@ -0,0 +1,69 @@
+/*
+ Copyright 2019 New Vector Ltd
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+#import <XCTest/XCTest.h>
+#import <OLMKit/OLMKit.h>
+
+@interface OLMKitSASTests : XCTestCase {
+ OLMSAS *alice;
+ OLMSAS *bob;
+}
+
+@end
+
+@implementation OLMKitSASTests
+
+- (void)setUp {
+ alice = [OLMSAS new];
+ bob = [OLMSAS new];
+}
+
+- (void)tearDown {
+ alice = nil;
+ bob = nil;
+}
+
+- (void)testSASRandomness
+{
+ XCTAssertNotEqualObjects(alice.publicKey, bob.publicKey);
+}
+
+- (void)testSASBytesMatch {
+ [alice setTheirPublicKey:bob.publicKey];
+ [bob setTheirPublicKey:alice.publicKey];
+
+ NSString *sas = @"SAS";
+ NSUInteger length = 5;
+
+ XCTAssertEqualObjects([alice generateBytes:sas length:length],
+ [bob generateBytes:sas length:length]);
+}
+
+- (void)testMACsMatch {
+ [alice setTheirPublicKey:bob.publicKey];
+ [bob setTheirPublicKey:alice.publicKey];
+
+ NSString *string = @"test";
+ NSString *info = @"MAC";
+
+ NSError *aliceError, *bobError;
+ XCTAssertEqualObjects([alice calculateMac:string info:info error:&aliceError],
+ [bob calculateMac:string info:info error:&bobError]);
+ XCTAssertNil(aliceError);
+ XCTAssertNil(bobError);
+}
+
+@end