Buckets:
localhost1978/localhost / LOCALHOST1978 /Modules /SSK_Foundation /Tests /SSK_FoundationTests /SparsebundleManagerTests.swift
| import XCTest | |
| import SSK_Abstractions | |
| @testable import SSK_Foundation | |
| final class SparsebundleManagerTests: XCTestCase { | |
| var vaultManager: SparsebundleManager! | |
| override func setUpWithError() throws { | |
| let keyManager = VaultKeyManager() | |
| vaultManager = SparsebundleManager(keyManager: keyManager) | |
| } | |
| override func tearDownWithError() throws { | |
| vaultManager = nil | |
| } | |
| #if os(macOS) | |
| func testVerificationUsesMandatedAPFSArguments() { | |
| let volume = URL(fileURLWithPath: "/dev/disk8s1") | |
| XCTAssertEqual( | |
| SparsebundleManager.verificationArguments(for: volume), | |
| [ | |
| "apfs", | |
| "unlock", | |
| "/dev/disk8s1", | |
| "-stdinpassphrase", | |
| "-verify", | |
| "-plist", | |
| ] | |
| ) | |
| } | |
| func testUnlockUsesPrivateMountPoint() { | |
| let volume = URL(fileURLWithPath: "/dev/disk8s1") | |
| let mountPoint = URL(fileURLWithPath: "/private/tmp/Vault Mount") | |
| let arguments = SparsebundleManager.unlockArguments( | |
| for: volume, | |
| mountPoint: mountPoint | |
| ) | |
| XCTAssertEqual(Array(arguments[0...3]), ["apfs", "unlock", "/dev/disk8s1", "-stdinpassphrase"]) | |
| XCTAssertEqual(Array(arguments[4...6]), ["-mountpoint", "/private/tmp/Vault Mount", "-plist"]) | |
| XCTAssertFalse(arguments.contains("/Volumes/Vault")) | |
| } | |
| func testAttachPlistSelectsInnerAPFSVolumeAndOuterDisk() throws { | |
| let plist: [String: Any] = [ | |
| "system-entities": [ | |
| ["dev-entry": "/dev/disk7"], | |
| ["dev-entry": "/dev/disk7s2"], | |
| ["dev-entry": "/dev/disk8"], | |
| ["dev-entry": "/dev/disk8s1"], | |
| ], | |
| ] | |
| let data = try PropertyListSerialization.data( | |
| fromPropertyList: plist, | |
| format: .xml, | |
| options: 0 | |
| ) | |
| let devices = try SparsebundleManager.attachedDevices(from: data) | |
| let wholeDisk = try SparsebundleManager.attachedWholeDisk(from: data) | |
| XCTAssertEqual(devices.apfsVolume.path, "/dev/disk8s1") | |
| XCTAssertEqual(devices.wholeDisk.path, "/dev/disk7") | |
| XCTAssertEqual(wholeDisk.path, "/dev/disk7") | |
| } | |
| func testAPFSContainerReferenceParsing() throws { | |
| let plist: [String: Any] = [ | |
| "Containers": [ | |
| ["ContainerReference": "disk8"], | |
| ], | |
| ] | |
| let data = try PropertyListSerialization.data( | |
| fromPropertyList: plist, | |
| format: .xml, | |
| options: 0 | |
| ) | |
| let container = try SparsebundleManager.containerReference(from: data) | |
| XCTAssertEqual(container.path, "/dev/disk8") | |
| } | |
| func testAPFSVolumeIdentityParsing() throws { | |
| let expectedUUID = UUID() | |
| let plist: [String: Any] = [ | |
| "Containers": [[ | |
| "Volumes": [[ | |
| "Name": "Vault", | |
| "DeviceIdentifier": "disk8s1", | |
| "VolumeUUID": expectedUUID.uuidString, | |
| ]], | |
| ]], | |
| ] | |
| let data = try PropertyListSerialization.data( | |
| fromPropertyList: plist, | |
| format: .xml, | |
| options: 0 | |
| ) | |
| let identity = try SparsebundleManager.volumeIdentity( | |
| from: data, | |
| matchingName: "Vault" | |
| ) | |
| XCTAssertEqual(identity.device.path, "/dev/disk8s1") | |
| XCTAssertEqual(identity.uuid, expectedUUID) | |
| } | |
| #endif | |
| } | |
Xet Storage Details
- Size:
- 3.55 kB
- Xet hash:
- c1f202234df7d8676b659782dcac0e4c84f86f31dbbd3a5deddb022e6da44c66
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.