import Foundation import Testing @testable import LocalData @Suite struct AuditTests { private struct AuditCatalog: StorageKeyCatalog { var allKeys: [AnyStorageKey] { [ .key(AuditTests.makeTestKey(name: "k1", domain: .userDefaults(suite: nil))), .key(AuditTests.makeTestKey( name: "k2", domain: .keychain(service: "s"), security: .keychain(accessibility: .afterFirstUnlock, accessControl: .userPresence) )), .key(AuditTests.makeTestKey(name: "k3", domain: .fileSystem(directory: .documents))), .key(AuditTests.makeTestKey(name: "k4", domain: .encryptedFileSystem(directory: .caches))), .key(AuditTests.makeTestKey( name: "k5", domain: .appGroupUserDefaults(identifier: "ig"), security: .encrypted(.recommended) )) ] } } private static func makeTestKey( name: String, domain: StorageDomain, security: SecurityPolicy = .none ) -> StorageKey { StorageKey( name: name, domain: domain, security: security, owner: "Audit", description: "Desc" ) } @Test func renderCatalogText() { let text = StorageAuditReport.renderText(AuditCatalog()) #expect(text.contains("name=k1")) #expect(text.contains("domain=userDefaults(standard)")) #expect(text.contains("name=k2")) #expect(text.contains("keychain(After First Unlock, User Presence)")) #expect(text.contains("name=k3")) #expect(text.contains("fileSystem(documents)")) #expect(text.contains("name=k4")) #expect(text.contains("encryptedFileSystem(caches)")) #expect(text.contains("name=k5")) #expect(text.contains("appGroupUserDefaults(ig)")) #expect(text.contains("security=encrypted(chacha20Poly1305(hkdf))")) } }