import UIKit import XCTest class SynchronizableTests: XCTestCase { var obj: KeychainSwift! override func setUp() { super.setUp() obj = KeychainSwift() obj.clear() obj.lastQueryParameters = nil obj.synchronizable = false } // MARK: - addSynchronizableIfRequired func testAddSynchronizableGroup() { let items: [String: NSObject] = [ "one": "two" ] obj.synchronizable = true let result = obj.addSynchronizableIfRequired(items) XCTAssertEqual(2, result.count) XCTAssertEqual("two", result["one"]) XCTAssertEqual(kSecAttrSynchronizableAny, result["sync"]) } func testAddSynchronizableGroup_nil() { let items: [String: NSObject] = [ "one": "two" ] let result = obj.addSynchronizableIfRequired(items) XCTAssertEqual(1, result.count) XCTAssertEqual("two", result["one"]) } func testSet() { obj.synchronizable = true obj.set("hello :)", forKey: "key 1") XCTAssertEqual(kSecAttrSynchronizableAny, obj.lastQueryParameters?["sync"]) } func testGet() { obj.synchronizable = true obj.get("key 1") XCTAssertEqual(kSecAttrSynchronizableAny, obj.lastQueryParameters?["sync"]) } func testDelete() { obj.synchronizable = true obj.delete("key 1") XCTAssertEqual(kSecAttrSynchronizableAny, obj.lastQueryParameters?["sync"]) } func testClear() { obj.synchronizable = true obj.clear() XCTAssertEqual(kSecAttrSynchronizableAny, obj.lastQueryParameters?["sync"]) } }