secretive/SecretAgentKitTests/StubWitness.swift

33 lines
770 B
Swift
Raw Normal View History

2020-03-24 06:22:22 +00:00
import SecretKit
import SecretAgentKit
struct StubWitness {
let speakNow: (AnySecret, SigningRequestProvenance) -> Bool
let witness: (AnySecret, SigningRequestProvenance) -> ()
}
extension StubWitness: SigningWitness {
func speakNowOrForeverHoldYourPeace(forAccessTo secret: AnySecret, from store: AnySecretStore, by provenance: SigningRequestProvenance) throws {
2020-03-24 06:22:22 +00:00
let objection = speakNow(secret, provenance)
if objection {
throw TheresMyChance()
}
}
func witness(accessTo secret: AnySecret, from store: AnySecretStore, by provenance: SigningRequestProvenance, requiredAuthentication: Bool) throws {
2020-03-24 06:22:22 +00:00
witness(secret, provenance)
}
}
extension StubWitness {
struct TheresMyChance: Error {
}
}