// // PersistenceService+Mock.swift // // Copyright 2026 Brendan Szymanski // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // SPDX-License-Identifier: GPL-3.0-or-later // import Foundation public final class MockPersistenceService: @unchecked Sendable, PersistenceService { private var authData: AuthData? private var preferences: [String: String] = [:] public init() {} public func loadAuth() async throws -> AuthData { guard let authData else { throw PersistenceError.notFound } return authData } public func saveAuth(_ auth: AuthData) async throws { authData = auth } public func clearAuth() async throws { authData = nil } public func getPreference(key: String) async throws -> String? { preferences[key] } public func setPreference(key: String, value: String) async throws { preferences[key] = value } public func clearAll() async throws { authData = nil preferences = [:] } }