TM-SGNL-iOS/SignalUI/Payments/MobileCoinHelperSDKTest.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

46 lines
1.9 KiB
Swift

//
// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import SignalServiceKit
import XCTest
@testable import SignalUI
class MobileCoinHelperSDKTests: XCTestCase {
func testInfoForReceiptData() {
let receiptData = Data(base64Encoded: """
CiIKIARfCkd3ZdIMRhXSGvi72N2cDjtc5A0LvdPCgTMBWX5JEiIKIFf4+WnFJ5XvgQ3Si6ewxByjiZKIhwJO4AfN1cP\
9PDr+GGQiLQoiCiDIZT/y7TcjyGcnounBT/vfd3aEthkR9NSPRDC3iwGQFxG5uTt4u1G0bg==
""")!
let helperSDK = MobileCoinHelperSDK()
let helperMinimal = MobileCoinHelperMinimal()
let infoSDK = try! helperSDK.info(forReceiptData: receiptData)
let infoMinimal = try! helperMinimal.info(forReceiptData: receiptData)
XCTAssertEqual(infoSDK.txOutPublicKey, infoMinimal.txOutPublicKey)
let txOutPublicKeyData = Data(base64Encoded: "BF8KR3dl0gxGFdIa+LvY3ZwOO1zkDQu908KBMwFZfkk=")!
XCTAssertEqual(txOutPublicKeyData, infoSDK.txOutPublicKey)
XCTAssertEqual(txOutPublicKeyData, infoMinimal.txOutPublicKey)
}
func testIsValidMobileCoinPublicAddress() {
let addressData = Data(base64Encoded: """
CiIKIAitQoKLk05lkHlPeIxaVZmvoSyoCAuQr7u/kooKMM1vEiIKIEqh630jt7/k2zlzJ32Fhy633P4XXJPFyHWOz9e\
ArWoQGiRmb2c6Ly9mb2ctcmVwb3J0LmZha2UubW9iaWxlY29pbi5jb20qQEIjVGb+GOA3SXR9U2uPAY9AX02bJQsh28\
MHNhMoep49uuWGzbq7a0Ya2YJyNb7xUqpSBnmjAKfpUQLqQkMMzYE=
""")!
let helperSDK = MobileCoinHelperSDK()
let helperMinimal = MobileCoinHelperMinimal()
XCTAssertTrue(helperSDK.isValidMobileCoinPublicAddress(addressData))
XCTAssertTrue(helperMinimal.isValidMobileCoinPublicAddress(addressData))
let randomData = Randomness.generateRandomBytes(UInt(addressData.count))
XCTAssertFalse(helperSDK.isValidMobileCoinPublicAddress(randomData))
XCTAssertFalse(helperMinimal.isValidMobileCoinPublicAddress(randomData))
}
}