PGPInterface can encrypt with multiple keys, PGPAgent can encrypt with all keys
This commit is contained in:
parent
8d4f3af475
commit
84eaf4ad7d
7 changed files with 158 additions and 19 deletions
|
|
@ -36,9 +36,20 @@ class MockPGPInterface: PGPInterface {
|
|||
let keyID: String?
|
||||
}
|
||||
|
||||
struct EncryptMultiKeyCall {
|
||||
let plainData: Data
|
||||
let keyIDs: [String]
|
||||
}
|
||||
|
||||
struct EncryptWithAllKeysCall {
|
||||
let plainData: Data
|
||||
}
|
||||
|
||||
var decryptCalls: [DecryptCall] = []
|
||||
var resolvedPassphrases: [String] = []
|
||||
var encryptCalls: [EncryptCall] = []
|
||||
var encryptMultiKeyCalls: [EncryptMultiKeyCall] = []
|
||||
var encryptWithAllKeysCalls: [EncryptWithAllKeysCall] = []
|
||||
var containsPublicKeyCalls: [String] = []
|
||||
var containsPrivateKeyCalls: [String] = []
|
||||
|
||||
|
|
@ -63,6 +74,22 @@ class MockPGPInterface: PGPInterface {
|
|||
return encryptResult
|
||||
}
|
||||
|
||||
func encryptWithAllKeys(plainData: Data) throws -> Data {
|
||||
encryptWithAllKeysCalls.append(EncryptWithAllKeysCall(plainData: plainData))
|
||||
if let error = encryptError {
|
||||
throw error
|
||||
}
|
||||
return encryptResult
|
||||
}
|
||||
|
||||
func encrypt(plainData: Data, keyIDs: [String]) throws -> Data {
|
||||
encryptMultiKeyCalls.append(EncryptMultiKeyCall(plainData: plainData, keyIDs: keyIDs))
|
||||
if let error = encryptError {
|
||||
throw error
|
||||
}
|
||||
return encryptResult
|
||||
}
|
||||
|
||||
func containsPublicKey(with keyID: String) -> Bool {
|
||||
containsPublicKeyCalls.append(keyID)
|
||||
return publicKeyIDs.contains { $0.hasSuffix(keyID.lowercased()) }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue