TM-SGNL-iOS/Signal/test/DeviceProvisioningURLTest.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

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")
}
}