|
|
|
//
|
|
|
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import "OWSDeviceProvisioningURLParser.h"
|
|
|
|
#import "SignalBaseTest.h"
|
|
|
|
#import <SignalCoreKit/NSData+OWS.h>
|
|
|
|
|
|
|
|
@interface OWSDeviceProvisioningURLParserTest : SignalBaseTest
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
@implementation OWSDeviceProvisioningURLParserTest
|
|
|
|
|
|
|
|
- (void)testValid
|
|
|
|
{
|
|
|
|
OWSDeviceProvisioningURLParser *parser = [[OWSDeviceProvisioningURLParser alloc] initWithProvisioningURL:@""];
|
|
|
|
XCTAssertFalse(parser.isValid);
|
|
|
|
|
|
|
|
parser = [[OWSDeviceProvisioningURLParser alloc] initWithProvisioningURL:@"ts:/?uuid=MTIz"];
|
|
|
|
XCTAssertFalse(parser.isValid);
|
|
|
|
|
|
|
|
parser = [[OWSDeviceProvisioningURLParser alloc] initWithProvisioningURL:@"ts:/?pub_key=MTIz"];
|
|
|
|
XCTAssertFalse(parser.isValid);
|
|
|
|
|
|
|
|
parser = [[OWSDeviceProvisioningURLParser alloc] initWithProvisioningURL:@"ts:/uuid=asd&pub_key=MTIz"];
|
|
|
|
XCTAssertFalse(parser.isValid);
|
|
|
|
|
|
|
|
parser = [[OWSDeviceProvisioningURLParser alloc] initWithProvisioningURL:@"ts:/?uuid=asd&pub_key=MTIz"];
|
|
|
|
XCTAssert(parser.isValid);
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)testPublicKey
|
|
|
|
{
|
|
|
|
OWSDeviceProvisioningURLParser *parser =
|
|
|
|
[[OWSDeviceProvisioningURLParser alloc] initWithProvisioningURL:@"ts:/?uuid=asd&pub_key=MTIz"];
|
|
|
|
|
|
|
|
XCTAssertEqualObjects(@"MTIz", [parser.publicKey base64EncodedString]);
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)testEphemeralDeviceId
|
|
|
|
{
|
|
|
|
OWSDeviceProvisioningURLParser *parser =
|
|
|
|
[[OWSDeviceProvisioningURLParser alloc] initWithProvisioningURL:@"ts:/?uuid=asd&pub_key=MTIz"];
|
|
|
|
|
|
|
|
XCTAssertEqualObjects(@"asd", parser.ephemeralDeviceId);
|
|
|
|
}
|
|
|
|
|
|
|
|
@end
|