소스 검색

Fix tests for macOS

Kishikawa Katsumi 5 년 전
부모
커밋
24c351c8d4
2개의 변경된 파일17개의 추가작업 그리고 12개의 파일을 삭제
  1. 2 0
      Lib/KeychainAccess/Keychain.swift
  2. 15 12
      Lib/KeychainAccessTests/KeychainAccessTests.swift

+ 2 - 0
Lib/KeychainAccess/Keychain.swift

@@ -348,6 +348,8 @@ public final class Keychain {
         return options.service
     }
 
+    // This attribute (kSecAttrAccessGroup) applies to macOS keychain items only if you also set a value of true for the
+    // kSecUseDataProtectionKeychain key, the kSecAttrSynchronizable key, or both.
     public var accessGroup: String? {
         return options.accessGroup
     }

+ 15 - 12
Lib/KeychainAccessTests/KeychainAccessTests.swift

@@ -133,8 +133,11 @@ class KeychainAccessTests: XCTestCase {
     func testGenericPasswordWithAccessGroup1() {
         do {
             // Add Keychain items
-            let keychain = Keychain(service: "Twitter")
-            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared")
+            // This attribute (kSecAttrAccessGroup) applies to macOS keychain items only if you also set a value of true for the
+            // kSecUseDataProtectionKeychain key, the kSecAttrSynchronizable key, or both.
+            // https://developer.apple.com/documentation/security/ksecattraccessgroup
+            let keychain = Keychain(service: "Twitter").synchronizable(true)
+            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared").synchronizable(true)
 
             do { try keychain.set("kishikawa_katsumi", key: "username") } catch {}
             do { try keychain.set("password_1234", key: "password") } catch {}
@@ -150,8 +153,8 @@ class KeychainAccessTests: XCTestCase {
 
         do {
             // Update Keychain items
-            let keychain = Keychain(service: "Twitter")
-            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared")
+            let keychain = Keychain(service: "Twitter").synchronizable(true)
+            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared").synchronizable(true)
 
             do { try keychain.set("katsumi_kishikawa", key: "username") } catch {}
             do { try keychain.set("1234_password", key: "password") } catch {}
@@ -167,8 +170,8 @@ class KeychainAccessTests: XCTestCase {
 
         do {
             // Remove Keychain items
-            let keychain = Keychain(service: "Twitter")
-            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared")
+            let keychain = Keychain(service: "Twitter").synchronizable(true)
+            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared").synchronizable(true)
 
             XCTAssertNotNil(try! keychainWithAccessGroup.get("username"))
             XCTAssertNotNil(try! keychainWithAccessGroup.get("password"))
@@ -194,8 +197,8 @@ class KeychainAccessTests: XCTestCase {
     func testGenericPasswordWithAccessGroup2() {
         do {
             // Add Keychain items
-            let keychain = Keychain(service: "Twitter")
-            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared")
+            let keychain = Keychain(service: "Twitter").synchronizable(true)
+            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared").synchronizable(true)
 
             do { try keychain.set("kishikawa_katsumi", key: "username") } catch {}
             do { try keychain.set("password_1234", key: "password") } catch {}
@@ -211,8 +214,8 @@ class KeychainAccessTests: XCTestCase {
 
         do {
             // Update Keychain items
-            let keychain = Keychain(service: "Twitter")
-            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared")
+            let keychain = Keychain(service: "Twitter").synchronizable(true)
+            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared").synchronizable(true)
 
             do { try keychain.set("katsumi_kishikawa", key: "username") } catch {}
             do { try keychain.set("1234_password", key: "password") } catch {}
@@ -228,8 +231,8 @@ class KeychainAccessTests: XCTestCase {
 
         do {
             // Remove Keychain items
-            let keychain = Keychain(service: "Twitter")
-            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared")
+            let keychain = Keychain(service: "Twitter").synchronizable(true)
+            let keychainWithAccessGroup = Keychain(service: "Twitter", accessGroup: "27AEDK3C9F.shared").synchronizable(true)
 
             XCTAssertNotNil(try! keychainWithAccessGroup.get("username"))
             XCTAssertNotNil(try! keychainWithAccessGroup.get("password"))