| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- import XCTest
- @testable import KeychainSwift
- class KeychainSwiftTests: XCTestCase {
-
- var obj: KeychainSwift!
-
- override func setUp() {
- super.setUp()
-
- obj = KeychainSwift()
- obj.clear()
- obj.lastQueryParameters = nil
- }
- // MARK: - Set text
- // -----------------------
- func testSet() {
- XCTAssertTrue(obj.set("hello :)", forKey: "key 1"))
- XCTAssertEqual("hello :)", obj.get("key 1")!)
- }
-
- func testSet_usesAccessibleWhenUnlockedByDefault() {
- XCTAssertTrue(obj.set("hello :)", forKey: "key 1"))
-
- let accessValue = obj.lastQueryParameters?[KeychainSwiftConstants.accessible] as? String
- XCTAssertEqual(KeychainSwiftAccessOptions.accessibleWhenUnlocked.value, accessValue!)
- }
-
- func testSetWithAccessOption() {
- obj.set("hello :)", forKey: "key 1", withAccess: .accessibleAfterFirstUnlock)
- let accessValue = obj.lastQueryParameters?[KeychainSwiftConstants.accessible] as? String
- XCTAssertEqual(KeychainSwiftAccessOptions.accessibleAfterFirstUnlock.value, accessValue!)
- }
-
- // MARK: - Set data
- // -----------------------
-
- func testSetData() {
- let data = "hello world".data(using: String.Encoding.utf8)!
-
- XCTAssertTrue(obj.set(data, forKey: "key 123"))
-
- let dataFromKeychain = obj.getData("key 123")!
- let textFromKeychain = String(data: dataFromKeychain, encoding:String.Encoding.utf8)!
- XCTAssertEqual("hello world", textFromKeychain)
- }
-
- func testSetData_usesAccessibleWhenUnlockedByDefault() {
- let data = "hello world".data(using: String.Encoding.utf8)!
-
- obj.set(data, forKey: "key 123")
-
- let accessValue = obj.lastQueryParameters?[KeychainSwiftConstants.accessible] as? String
- XCTAssertEqual(KeychainSwiftAccessOptions.accessibleWhenUnlocked.value, accessValue!)
- }
- // MARK: - Set bool
- // -----------------------
- func testSetBool() {
- XCTAssertTrue(obj.set(true, forKey: "key bool"))
- XCTAssertTrue(obj.getBool("key bool")!)
- XCTAssertTrue(obj.set(false, forKey: "key bool"))
- XCTAssertFalse(obj.getBool("key bool")!)
- }
- func testSetBool_usesAccessibleWhenUnlockedByDefault() {
- XCTAssertTrue(obj.set(false, forKey: "key bool"))
- let accessValue = obj.lastQueryParameters?[KeychainSwiftConstants.accessible] as? String
- XCTAssertEqual(KeychainSwiftAccessOptions.accessibleWhenUnlocked.value, accessValue!)
- }
- // MARK: - Get
- // -----------------------
- func testGet_returnNilWhenValueNotSet() {
- XCTAssert(obj.get("key 1") == nil)
- }
- // MARK: - Get bool
- // -----------------------
- func testGetBool_returnNilWhenValueNotSet() {
- XCTAssert(obj.getBool("some bool key") == nil)
- }
- // MARK: - Delete
- // -----------------------
- func testDelete() {
- obj.set("hello :)", forKey: "key 1")
- obj.delete("key 1")
-
- XCTAssert(obj.get("key 1") == nil)
- }
- func testDelete_deleteOnSingleKey() {
- obj.set("hello :)", forKey: "key 1")
- obj.set("hello two", forKey: "key 2")
- obj.delete("key 1")
-
- XCTAssertEqual("hello two", obj.get("key 2")!)
- }
- }
|