SynchronizableTests.swift 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import UIKit
  2. import XCTest
  3. class SynchronizableTests: XCTestCase {
  4. var obj: KeychainSwift!
  5. override func setUp() {
  6. super.setUp()
  7. obj = KeychainSwift()
  8. obj.clear()
  9. obj.lastQueryParameters = nil
  10. obj.synchronizable = false
  11. }
  12. // MARK: - addSynchronizableIfRequired
  13. func testAddSynchronizableGroup() {
  14. let items: [String: NSObject] = [
  15. "one": "two"
  16. ]
  17. obj.synchronizable = true
  18. let result = obj.addSynchronizableIfRequired(items)
  19. XCTAssertEqual(2, result.count)
  20. XCTAssertEqual("two", result["one"])
  21. XCTAssertEqual(kSecAttrSynchronizableAny, result["sync"])
  22. }
  23. func testAddSynchronizableGroup_nil() {
  24. let items: [String: NSObject] = [
  25. "one": "two"
  26. ]
  27. let result = obj.addSynchronizableIfRequired(items)
  28. XCTAssertEqual(1, result.count)
  29. XCTAssertEqual("two", result["one"])
  30. }
  31. // MARK: - Set
  32. func testSet() {
  33. obj.synchronizable = true
  34. obj.set("hello :)", forKey: "key 1")
  35. XCTAssertEqual(kSecAttrSynchronizableAny, obj.lastQueryParameters?["sync"])
  36. }
  37. func testSet_doNotSetSynchronizable() {
  38. obj.set("hello :)", forKey: "key 1")
  39. XCTAssertNil(obj.lastQueryParameters?["sync"])
  40. }
  41. // MARK: - Get
  42. func testGet() {
  43. obj.synchronizable = true
  44. obj.get("key 1")
  45. XCTAssertEqual(kSecAttrSynchronizableAny, obj.lastQueryParameters?["sync"])
  46. }
  47. func testGet_doNotSetSynchronizable() {
  48. obj.get("key 1")
  49. XCTAssertNil(obj.lastQueryParameters?["sync"])
  50. }
  51. // MARK: - Delete
  52. func testDelete() {
  53. obj.synchronizable = true
  54. obj.delete("key 1")
  55. XCTAssertEqual(kSecAttrSynchronizableAny, obj.lastQueryParameters?["sync"])
  56. }
  57. func testDelete_doNotSetSynchronizable() {
  58. obj.delete("key 1")
  59. XCTAssertNil(obj.lastQueryParameters?["sync"])
  60. }
  61. // MARK: - Clear
  62. func testClear() {
  63. obj.synchronizable = true
  64. obj.clear()
  65. XCTAssertEqual(kSecAttrSynchronizableAny, obj.lastQueryParameters?["sync"])
  66. }
  67. func testClear_doNotSetSynchronizable() {
  68. obj.clear()
  69. XCTAssertNil(obj.lastQueryParameters?["sync"])
  70. }
  71. }