field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | LICENSE

FieldIdentityPolicyUITestProbe.swift (1173B)


      1 #if DEBUG
      2 import Foundation
      3 import RadrootsKit
      4 
      5 enum FieldIdentityPolicyUITestProbe {
      6     private static let enabledKey = "RADROOTS_FIELD_IOS_UI_TEST_IDENTITY_POLICY_PROBE"
      7 
      8     static var isRequested: Bool {
      9         FieldUITestHarness.string(enabledKey) == "true"
     10     }
     11 
     12     static func value() throws -> String? {
     13         guard isRequested else {
     14             return nil
     15         }
     16         let configuredPolicy = try FieldSecureIdentityStore.configuredAccessPolicy()
     17         let storePolicy = configuredPolicy.storePolicy
     18         return [
     19             "configured_policy=\(configuredPolicy.rawValue)",
     20             "store_policy_accessibility=\(accessibilityValue(storePolicy.accessibility))",
     21             "store_policy_device_local_only=\(storePolicy.deviceLocalOnly)",
     22             "store_policy_user_presence_required=\(storePolicy.userPresenceRequired)"
     23         ].joined(separator: ";")
     24     }
     25 
     26     private static func accessibilityValue(_ accessibility: RadrootsSecretAccessibility) -> String {
     27         switch accessibility {
     28         case .whenUnlocked:
     29             "when_unlocked"
     30         case .afterFirstUnlock:
     31             "after_first_unlock"
     32         }
     33     }
     34 }
     35 #endif