mirror of
https://github.com/maxgoedjen/secretive.git
synced 2026-03-20 16:17:26 +01:00
Adding stub reader/writers.
This commit is contained in:
@@ -5,23 +5,36 @@ import SecretKit
|
||||
|
||||
class AgentTests: XCTestCase {
|
||||
|
||||
let stubWriter = StubFileHandleWriter()
|
||||
|
||||
// MARK: Identity Listing
|
||||
|
||||
func testEmptyStores() {
|
||||
let stubReader = StubFileHandleReader(availableData: Constants.Requests.requestIdentities)
|
||||
let agent = Agent(storeList: SecretStoreList())
|
||||
agent.handle(reader: stubReader, writer: stubWriter)
|
||||
XCTAssertEqual(stubWriter.data, Constants.Responses.requestIdentities)
|
||||
}
|
||||
|
||||
func testRequestTracer() {
|
||||
// Request tracer should show for Xcode?
|
||||
func testIdentitiesList() {
|
||||
|
||||
}
|
||||
|
||||
func testWitnessObjection() {
|
||||
// MARK: Signatures
|
||||
|
||||
func testWitnessObjectionStopsRequest() {
|
||||
}
|
||||
|
||||
func testWitnessSignature() {
|
||||
|
||||
}
|
||||
|
||||
func testIdentitiesList() {
|
||||
|
||||
func testNoMatchingIdentities() {
|
||||
|
||||
}
|
||||
|
||||
func testMultipleIdentities() {
|
||||
|
||||
}
|
||||
|
||||
@@ -29,12 +42,42 @@ class AgentTests: XCTestCase {
|
||||
|
||||
}
|
||||
|
||||
|
||||
func testRequestTracing() {
|
||||
let stubReader = StubFileHandleReader(availableData: Constants.Requests.requestIdentities)
|
||||
let agent = Agent(storeList: SecretStoreList())
|
||||
agent.handle(reader: stubReader, writer: stubWriter)
|
||||
XCTAssert(stubWriter.data == Constants.Requests.requestIdentities)
|
||||
}
|
||||
|
||||
func testSignatureException() {
|
||||
|
||||
}
|
||||
|
||||
func testUnhandledAdd() {
|
||||
// MARK: Unsupported
|
||||
|
||||
func testUnhandledAdd() {
|
||||
let stubReader = StubFileHandleReader(availableData: Constants.Requests.addIdentity)
|
||||
let agent = Agent(storeList: SecretStoreList())
|
||||
agent.handle(reader: stubReader, writer: stubWriter)
|
||||
XCTAssertEqual(stubWriter.data, Constants.Responses.requestFailure)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension AgentTests {
|
||||
|
||||
enum Constants {
|
||||
|
||||
enum Requests {
|
||||
static let requestIdentities = Data(base64Encoded: "AAAAAQs=")!
|
||||
static let addIdentity = Data(base64Encoded: "AAAAAQs=")!
|
||||
}
|
||||
|
||||
enum Responses {
|
||||
static let requestIdentities = Data(base64Encoded: "AAAABQwAAAAA")!
|
||||
static let requestFailure = Data(base64Encoded: "AAAABQwAAAAA")!
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
11
SecretAgentKitTests/StubFileHandleReader.swift
Normal file
11
SecretAgentKitTests/StubFileHandleReader.swift
Normal file
@@ -0,0 +1,11 @@
|
||||
import SecretAgentKit
|
||||
import AppKit
|
||||
|
||||
struct StubFileHandleReader: FileHandleReader {
|
||||
|
||||
let availableData: Data
|
||||
var fileDescriptor: Int32 {
|
||||
return NSRunningApplication.current.processIdentifier
|
||||
}
|
||||
|
||||
}
|
||||
11
SecretAgentKitTests/StubFileHandleWriter.swift
Normal file
11
SecretAgentKitTests/StubFileHandleWriter.swift
Normal file
@@ -0,0 +1,11 @@
|
||||
import SecretAgentKit
|
||||
|
||||
class StubFileHandleWriter: FileHandleWriter {
|
||||
|
||||
var data = Data()
|
||||
|
||||
func write(_ data: Data) {
|
||||
self.data.append(data)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user