TM-SGNL-iOS/SignalServiceKit/Mocks/KeyBackupService/SVRAuthCredentialStorageMock.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

44 lines
1.4 KiB
Swift

//
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
#if TESTABLE_BUILD
public class SVRAuthCredentialStorageMock: SVRAuthCredentialStorage {
public init() {}
// MARK: - SVR2
public var currentSVR2Username: String?
public var svr2Dict = [String: SVR2AuthCredential]()
public func storeAuthCredentialForCurrentUsername(_ auth: SVR2AuthCredential, _ transaction: DBWriteTransaction) {
svr2Dict[auth.credential.username] = auth
currentSVR2Username = auth.credential.username
}
public func getAuthCredentials(_ transaction: DBReadTransaction) -> [SVR2AuthCredential] {
return Array(svr2Dict.values)
}
public func getAuthCredentialForCurrentUser(_ transaction: DBReadTransaction) -> SVR2AuthCredential? {
guard let currentUsername = currentSVR2Username else {
return nil
}
return svr2Dict[currentUsername]
}
public func deleteInvalidCredentials(_ invalidCredentials: [SVR2AuthCredential], _ transaction: DBWriteTransaction) {
invalidCredentials.lazy.map(\.credential.username).forEach { svr2Dict[$0] = nil }
}
public func removeSVR2CredentialsForCurrentUser(_ transaction: DBWriteTransaction) {
guard let currentSVR2Username else { return }
svr2Dict[currentSVR2Username] = nil
}
}
#endif