mirror of
https://github.com/bitwarden/ios.git
synced 2025-12-11 04:34:55 -06:00
51 lines
1.5 KiB
Swift
51 lines
1.5 KiB
Swift
import CryptoKit
|
|
import Foundation
|
|
|
|
@testable import AuthenticatorBridgeKit
|
|
|
|
class MockSharedCryptographyService: SharedCryptographyService {
|
|
var decryptCalled = false
|
|
var encryptCalled = false
|
|
var errorToThrow: Error?
|
|
|
|
func decryptAuthenticatorItems(
|
|
_ items: [AuthenticatorBridgeItemDataModel],
|
|
) async throws -> [AuthenticatorBridgeItemDataView] {
|
|
if let errorToThrow {
|
|
throw errorToThrow
|
|
}
|
|
decryptCalled = true
|
|
return items.map { model in
|
|
AuthenticatorBridgeItemDataView(
|
|
accountDomain: model.accountDomain,
|
|
accountEmail: model.accountEmail,
|
|
favorite: model.favorite,
|
|
id: model.id,
|
|
name: model.name,
|
|
totpKey: model.totpKey,
|
|
username: model.username,
|
|
)
|
|
}
|
|
}
|
|
|
|
func encryptAuthenticatorItems(
|
|
_ items: [AuthenticatorBridgeItemDataView],
|
|
) async throws -> [AuthenticatorBridgeItemDataModel] {
|
|
if let errorToThrow {
|
|
throw errorToThrow
|
|
}
|
|
encryptCalled = true
|
|
return items.map { view in
|
|
AuthenticatorBridgeItemDataModel(
|
|
accountDomain: view.accountDomain,
|
|
accountEmail: view.accountEmail,
|
|
favorite: view.favorite,
|
|
id: view.id,
|
|
name: view.name,
|
|
totpKey: view.totpKey,
|
|
username: view.username,
|
|
)
|
|
}
|
|
}
|
|
}
|