37 lines
1.3 KiB
Swift
37 lines
1.3 KiB
Swift
//
|
|
// Copyright 2022 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
//
|
|
|
|
import LibSignalClient
|
|
import SignalServiceKit
|
|
import XCTest
|
|
|
|
@testable import Signal
|
|
|
|
class DeviceProvisioningURLTest: XCTestCase {
|
|
func testValid() {
|
|
func isValid(_ provisioningURL: String) -> Bool {
|
|
DeviceProvisioningURL(urlString: provisioningURL) != nil
|
|
}
|
|
|
|
XCTAssertFalse(isValid(""))
|
|
XCTAssertFalse(isValid("ts:/?uuid=BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
|
XCTAssertFalse(isValid("ts:/?pub_key=BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
|
XCTAssertFalse(isValid("ts:/uuid=asd&pub_key=BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
|
|
|
XCTAssertTrue(isValid("ts:/?uuid=asd&pub_key=BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
|
}
|
|
|
|
func testPublicKey() throws {
|
|
let url = try XCTUnwrap(DeviceProvisioningURL(urlString: "ts:/?uuid=asd&pub_key=BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
|
|
|
XCTAssertEqual(url.publicKey, try PublicKey(keyData: Data(repeating: 0, count: 32)))
|
|
}
|
|
|
|
func testEphemeralDeviceId() throws {
|
|
let url = try XCTUnwrap(DeviceProvisioningURL(urlString: "ts:/?uuid=asd&pub_key=BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
|
|
|
XCTAssertEqual(url.ephemeralDeviceId, "asd")
|
|
}
|
|
}
|