localhost1978's picture
download
raw
2.51 kB
//
// IDManagementTests.swift
// SSK_AbstractionsTests
//
// Unit tests for ID management, UDID harmonization, Kasset URIs, and Specification URIs.
//
import XCTest
@testable import SSK_Abstractions
final class IDManagementTests: XCTestCase {
func testSpecificationRegistrationCanonicalURI() {
let spec = SpecificationRegistration(
standardId: "ACP-1.0",
name: "Autonomous Credential Protocol v1.0",
version: "1.0.0",
isActive: true
)
let uri = spec.canonicalURI
XCTAssertEqual(
uri.authority,
.spec(standardID: SSKURI.StandardIdentifier(rawValue: "ACP-1.0"))
)
XCTAssertEqual(uri.domain, .spec)
XCTAssertEqual(uri.subdomain, "mandate")
XCTAssertEqual(uri.stringValue, "ssk://spec:ACP-1.0/spec/mandate")
}
func testKassetItemCanonicalURI() {
let fixedUUID = UUID(uuidString: "12345678-1234-1234-1234-123456789abc")!
let sskURI = SSKURI(
authority: .cas(hash: SSKURI.ContentHash(rawValue: fixedUUID.uuidString)),
domain: .vault,
subdomain: "kasset",
pathComponents: [SSKURI.PathComponent(rawValue: "TelemetryRecording.wav")]
)
let kasset = KassetItem(
sskURI: sskURI,
displayName: "TelemetryRecording.wav",
iconName: "waveform",
mimeType: "audio/wav",
fileSize: 1024,
createdAt: Date()
)
XCTAssertEqual(kasset.sskURI, sskURI)
XCTAssertEqual(kasset.sskURI.authority, .cas(hash: SSKURI.ContentHash(rawValue: fixedUUID.uuidString)))
XCTAssertEqual(kasset.sskURI.domain, .vault)
XCTAssertEqual(kasset.sskURI.subdomain, "kasset")
XCTAssertEqual(kasset.sskURI.pathComponents, [SSKURI.PathComponent(rawValue: "TelemetryRecording.wav")])
XCTAssertEqual(kasset.sskURI.stringValue, "ssk://cas:\(fixedUUID.uuidString)/vault/kasset/TelemetryRecording.wav")
}
func testNodeAuthorityParsing() {
let nodeString = "ssk://node:macbook-pro-m3/identity/node"
guard let uri = SSKURI(nodeString) else {
XCTFail("Failed to parse node SSKURI: \(nodeString)")
return
}
XCTAssertEqual(
uri.authority,
.node(nodeID: SSKURI.NodeIdentifier(rawValue: "macbook-pro-m3"))
)
XCTAssertEqual(uri.domain, .identity)
XCTAssertEqual(uri.subdomain, "node")
}
}

Xet Storage Details

Size:
2.51 kB
·
Xet hash:
1935de214714625c986af8fcedd55f7dec6bafb7e74af5a08d97d705f5f75048

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.