mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-25 16:05:19 +00:00
* Extract BLE service policy helpers * Stabilize image media transfer test --------- Co-authored-by: jack <jackjackbits@users.noreply.github.com>
79 lines
2.4 KiB
Swift
79 lines
2.4 KiB
Swift
import BitFoundation
|
|
import Foundation
|
|
import Testing
|
|
@testable import bitchat
|
|
|
|
@Suite("BLE peer sender display name tests")
|
|
struct BLEPeerSenderDisplayNameTests {
|
|
@Test("local peer resolves to local nickname")
|
|
func localPeerUsesLocalNickname() {
|
|
let local = PeerID(str: "1122334455667788")
|
|
|
|
#expect(BLEPeerSenderDisplayName.resolveKnownPeer(
|
|
peerID: local,
|
|
localPeerID: local,
|
|
localNickname: "me",
|
|
peers: [:],
|
|
allowConnectedUnverified: false
|
|
) == "me")
|
|
}
|
|
|
|
@Test("verified nickname collisions add peer suffix")
|
|
func verifiedCollisionAddsSuffix() {
|
|
let local = PeerID(str: "1122334455667788")
|
|
let peer = PeerID(str: "8877665544332211")
|
|
let peers = [
|
|
peer: makeInfo(peerID: peer, nickname: "sam", isConnected: false, isVerifiedNickname: true)
|
|
]
|
|
|
|
#expect(BLEPeerSenderDisplayName.resolveKnownPeer(
|
|
peerID: peer,
|
|
localPeerID: local,
|
|
localNickname: "sam",
|
|
peers: peers,
|
|
allowConnectedUnverified: false
|
|
) == "sam#8877")
|
|
}
|
|
|
|
@Test("connected unverified fallback is opt in")
|
|
func connectedUnverifiedFallbackIsOptIn() {
|
|
let local = PeerID(str: "1122334455667788")
|
|
let peer = PeerID(str: "8877665544332211")
|
|
let peers = [
|
|
peer: makeInfo(peerID: peer, nickname: "", isConnected: true, isVerifiedNickname: false)
|
|
]
|
|
|
|
#expect(BLEPeerSenderDisplayName.resolveKnownPeer(
|
|
peerID: peer,
|
|
localPeerID: local,
|
|
localNickname: "me",
|
|
peers: peers,
|
|
allowConnectedUnverified: false
|
|
) == nil)
|
|
#expect(BLEPeerSenderDisplayName.resolveKnownPeer(
|
|
peerID: peer,
|
|
localPeerID: local,
|
|
localNickname: "me",
|
|
peers: peers,
|
|
allowConnectedUnverified: true
|
|
) == "anon8877")
|
|
}
|
|
|
|
private func makeInfo(
|
|
peerID: PeerID,
|
|
nickname: String,
|
|
isConnected: Bool,
|
|
isVerifiedNickname: Bool
|
|
) -> BLEPeerInfo {
|
|
BLEPeerInfo(
|
|
peerID: peerID,
|
|
nickname: nickname,
|
|
isConnected: isConnected,
|
|
noisePublicKey: nil,
|
|
signingPublicKey: nil,
|
|
isVerifiedNickname: isVerifiedNickname,
|
|
lastSeen: Date(timeIntervalSince1970: 0)
|
|
)
|
|
}
|
|
}
|