From 03a5759c775d27aceeccb5520a6b0f8055689e70 Mon Sep 17 00:00:00 2001 From: Harshdeep Singh <6162866+harsh62@users.noreply.github.com> Date: Wed, 13 Sep 2023 20:34:11 -0400 Subject: [PATCH 1/8] feat: Adding enter TOTP code view (#39) * feat: Adding enter TOTP code view * making doc changes --- Sources/Authenticator/Authenticator.swift | 19 ++++- .../Models/AuthenticatorStep.swift | 18 +++-- .../Models/Internal/MFAType.swift | 12 +++ .../Authenticator/Models/Internal/Step.swift | 3 + .../Resources/en.lproj/Localizable.strings | 8 ++ .../States/AuthenticatorBaseState.swift | 6 +- ...ConfirmSignInWithCustomChallengeView.swift | 3 +- .../Views/ConfirmSignInWithMFACodeView.swift | 21 +++++- .../Views/ConfirmSignInWithTOTPCodeView.swift | 74 +++++++++++++++++++ .../Internal/ConfirmSignInWithCodeView.swift | 38 +++++++++- .../Mocks/MockAuthenticationService.swift | 2 +- 11 files changed, 184 insertions(+), 20 deletions(-) create mode 100644 Sources/Authenticator/Models/Internal/MFAType.swift create mode 100644 Sources/Authenticator/Views/ConfirmSignInWithTOTPCodeView.swift diff --git a/Sources/Authenticator/Authenticator.swift b/Sources/Authenticator/Authenticator.swift index 094e2ea..4850f4d 100644 --- a/Sources/Authenticator/Authenticator.swift +++ b/Sources/Authenticator/Authenticator.swift @@ -13,6 +13,7 @@ public struct Authenticator ConfirmSignInWithMFACodeContent = { state in ConfirmSignInWithMFACodeView(state: state) }, + @ViewBuilder confirmSignInWithTOTPContent: (ConfirmSignInWithCodeState) -> ConfirmSignInWithTOTPContent = { state in + ConfirmSignInWithTOTPView(state: state) + }, @ViewBuilder confirmSignInWithCustomChallengeContent: (ConfirmSignInWithCodeState) -> ConfirmSignInWithCustomChallengeContent = { state in ConfirmSignInWithCustomChallengeView(state: state) }, @@ -135,6 +142,12 @@ public struct Authenticator Header = { ConfirmSignInWithMFACodeHeader() }, @ViewBuilder footerContent: () -> Footer = { - EmptyView() + ConfirmSignInWithMFACodeFooter() } ) { self.state = state self.content = ConfirmSignInWithCodeView( state: state, headerContent: headerContent, - footerContent: footerContent + footerContent: footerContent, + mfaType: .sms ) } @@ -62,3 +63,17 @@ public struct ConfirmSignInWithMFACodeHeader: View { ) } } + +/// Default footer for the ``ConfirmSignInWithMFACodeView``. It displays the "Back to Sign In" button +public struct ConfirmSignInWithMFACodeFooter: View { + @Environment(\.authenticatorState) private var authenticatorState + + public init() {} + public var body: some View { + Button("authenticator.confirmSignInWithCode.button.backToSignIn".localized()) { + authenticatorState.move(to: .signIn) + } + .buttonStyle(.link) + } +} + diff --git a/Sources/Authenticator/Views/ConfirmSignInWithTOTPCodeView.swift b/Sources/Authenticator/Views/ConfirmSignInWithTOTPCodeView.swift new file mode 100644 index 0000000..7365250 --- /dev/null +++ b/Sources/Authenticator/Views/ConfirmSignInWithTOTPCodeView.swift @@ -0,0 +1,74 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Amplify +import SwiftUI + +/// Represents the content being displayed when the ``Authenticator`` is in the ``AuthenticatorStep/confirmSignInWithTOTPCode`` step. +public struct ConfirmSignInWithTOTPView: View { + @Environment(\.authenticatorState) private var authenticatorState + @ObservedObject private var state: ConfirmSignInWithCodeState + private let content: ConfirmSignInWithCodeView + + /// Creates a `ConfirmSignInWithTOTPView` + /// - Parameter state: The ``ConfirmSignInWithCodeState`` that is observed by this view + /// - Parameter headerContent: The content displayed above the fields. Defaults to ``ConfirmSignInWithTOTPHeader`` + /// - Parameter footerContent: The content displayed bellow the fields. Defaults to ``ConfirmSignInWithTOTPFooter`` + public init( + state: ConfirmSignInWithCodeState, + @ViewBuilder headerContent: () -> Header = { + ConfirmSignInWithTOTPHeader() + }, + @ViewBuilder footerContent: () -> Footer = { + ConfirmSignInWithTOTPFooter() + } + ) { + self.state = state + self.content = ConfirmSignInWithCodeView( + state: state, + headerContent: headerContent, + footerContent: footerContent, + mfaType: .totp + ) + } + + public var body: some View { + content + } + + /// Sets a custom error mapping function for the `AuthError`s that are displayed + /// - Parameter errorTransform: A closure that takes an `AuthError` and returns a ``AuthenticatorError`` that will be displayed. + public func errorMap(_ errorTransform: @escaping (AuthError) -> AuthenticatorError) -> Self { + state.errorTransform = errorTransform + return self + } +} + +/// Default header for the ``ConfirmSignInWithTOTPCodeView``. It displays the view's title +public struct ConfirmSignInWithTOTPHeader: View { + public init() {} + public var body: some View { + DefaultHeader( + title: "authenticator.confirmSignInWithCode.totp.title".localized() + ) + } +} + +/// Default footer for the ``ConfirmSignInWithTOTPCodeView``. It displays the "Back to Sign In" button +public struct ConfirmSignInWithTOTPFooter: View { + @Environment(\.authenticatorState) private var authenticatorState + + public init() {} + public var body: some View { + Button("authenticator.confirmSignInWithCode.totp.button.backToSignIn".localized()) { + authenticatorState.move(to: .signIn) + } + .buttonStyle(.link) + } +} + diff --git a/Sources/Authenticator/Views/Internal/ConfirmSignInWithCodeView.swift b/Sources/Authenticator/Views/Internal/ConfirmSignInWithCodeView.swift index c468fd9..dd18a89 100644 --- a/Sources/Authenticator/Views/Internal/ConfirmSignInWithCodeView.swift +++ b/Sources/Authenticator/Views/Internal/ConfirmSignInWithCodeView.swift @@ -13,6 +13,7 @@ struct ConfirmSignInWithCodeView Footer = { EmptyView() }, - errorTransform: ((AuthError) -> AuthenticatorError)? = nil + errorTransform: ((AuthError) -> AuthenticatorError)? = nil, + mfaType: MFAType ) { self.state = state self.headerContent = headerContent() @@ -32,6 +34,34 @@ struct ConfirmSignInWithCodeView Date: Thu, 14 Sep 2023 13:50:08 -0400 Subject: [PATCH 2/8] feat: Add MFA selection view (#40) * feat: Add MFA selection view * worked on review comments --- Sources/Authenticator/Authenticator.swift | 15 +++ .../Models/AuthenticatorStep.swift | 4 + ...AType.swift => AuthenticatorMFAType.swift} | 2 +- .../Authenticator/Models/Internal/Step.swift | 5 + .../Resources/en.lproj/Localizable.strings | 10 +- .../States/AuthenticatorBaseState.swift | 17 ++- .../States/ConfirmSignInWithCodeState.swift | 9 ++ .../Views/ConfirmSignInWithTOTPCodeView.swift | 2 +- .../ContinueSignInWithMFASelectionView.swift | 119 ++++++++++++++++++ .../Internal/ConfirmSignInWithCodeView.swift | 4 +- .../Mocks/MockAuthenticationService.swift | 2 +- 11 files changed, 181 insertions(+), 8 deletions(-) rename Sources/Authenticator/Models/Internal/{MFAType.swift => AuthenticatorMFAType.swift} (85%) create mode 100644 Sources/Authenticator/Views/ContinueSignInWithMFASelectionView.swift diff --git a/Sources/Authenticator/Authenticator.swift b/Sources/Authenticator/Authenticator.swift index 4850f4d..09b3d4f 100644 --- a/Sources/Authenticator/Authenticator.swift +++ b/Sources/Authenticator/Authenticator.swift @@ -14,6 +14,7 @@ public struct Authenticator ConfirmSignInWithTOTPContent = { state in ConfirmSignInWithTOTPView(state: state) }, + @ViewBuilder continueSignInWithMFASelectionContent: (ConfirmSignInWithCodeState) -> ContinueSignInWithMFASelectionContent = { state in + ContinueSignInWithMFASelectionView(state: state) + }, @ViewBuilder confirmSignInWithCustomChallengeContent: (ConfirmSignInWithCodeState) -> ConfirmSignInWithCustomChallengeContent = { state in ConfirmSignInWithCustomChallengeView(state: state) }, @@ -148,6 +155,12 @@ public struct Authenticator: View { + Footer: View>: View { @Environment(\.authenticatorState) private var authenticatorState @ObservedObject private var state: ConfirmSignInWithCodeState private let content: ConfirmSignInWithCodeView diff --git a/Sources/Authenticator/Views/ContinueSignInWithMFASelectionView.swift b/Sources/Authenticator/Views/ContinueSignInWithMFASelectionView.swift new file mode 100644 index 0000000..881c1a2 --- /dev/null +++ b/Sources/Authenticator/Views/ContinueSignInWithMFASelectionView.swift @@ -0,0 +1,119 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Amplify +import SwiftUI + +/// Represents the content being displayed when the ``Authenticator`` is in the ``AuthenticatorStep/continueSignInWithMFASelection`` step. +public struct ContinueSignInWithMFASelectionView: View { + @Environment(\.authenticatorState) private var authenticatorState + @ObservedObject private var state: ConfirmSignInWithCodeState + private let headerContent: Header + private let footerContent: Footer + + /// Creates a `ContinueSignInWithMFASelectionView` + /// - Parameter state: The ``ConfirmSignInWithCodeState`` that is observed by this view + /// - Parameter headerContent: The content displayed above the fields. Defaults to ``ConfirmSignInWithMFASelectionHeader`` + /// - Parameter footerContent: The content displayed bellow the fields. Defaults to ``ConfirmSignInWithMFASelectionFooter`` + public init( + state: ConfirmSignInWithCodeState, + @ViewBuilder headerContent: () -> Header = { + ConfirmSignInWithMFASelectionHeader() + }, + @ViewBuilder footerContent: () -> Footer = { + ConfirmSignInWithMFASelectionFooter() + } + ) { + self.state = state + self.headerContent = headerContent() + self.footerContent = footerContent() + } + + public var body: some View { + AuthenticatorView(isBusy: state.isBusy) { + headerContent + + /// Only add TOTP option if it is allowed for selection by the service + if(state.allowedMFATypes.contains(.totp)) { + RadioButton( + label: "authenticator.continueSignInWithMFASelection.totp.radioButton.title".localized(), + isSelected: .constant(state.confirmationCode.elementsEqual(MFAType.totp.challengeResponse)) + ) { + state.confirmationCode = MFAType.totp.challengeResponse + } + .accessibilityAddTraits(state.confirmationCode.elementsEqual(MFAType.totp.challengeResponse) ? .isSelected : .isButton) + .animation(.none, value: state.confirmationCode) + } + + /// Only add SMS option if it is allowed for selection by the service + if(state.allowedMFATypes.contains(.sms)) { + RadioButton( + label: "authenticator.continueSignInWithMFASelection.sms.radioButton.title".localized(), + isSelected: .constant(state.confirmationCode.elementsEqual(MFAType.sms.challengeResponse)) + ) { + state.confirmationCode = MFAType.sms.challengeResponse + } + .accessibilityAddTraits(state.confirmationCode.elementsEqual(MFAType.sms.challengeResponse) ? .isSelected : .isButton) + .animation(.none, value: state.confirmationCode) + } + + Button("authenticator.continueSignInWithMFASelection.button.submit".localized()) { + Task { await confirmSignIn() } + } + .buttonStyle(.primary) + .disabled(state.confirmationCode.isEmpty) + .opacity(state.confirmationCode.isEmpty ? 0.5 : 1) + + footerContent + } + .messageBanner($state.message) + .onSubmit { + Task { + await confirmSignIn() + } + } + .onDisappear{ + state.confirmationCode = "" + } + } + + private func confirmSignIn() async { + try? await state.confirmSignIn() + } + + /// Sets a custom error mapping function for the `AuthError`s that are displayed + /// - Parameter errorTransform: A closure that takes an `AuthError` and returns a ``AuthenticatorError`` that will be displayed. + public func errorMap(_ errorTransform: @escaping (AuthError) -> AuthenticatorError) -> Self { + state.errorTransform = errorTransform + return self + } +} + +/// Default header for the ``ContinueSignInWithMFASelectionView``. It displays the view's title +public struct ConfirmSignInWithMFASelectionHeader: View { + public init() {} + public var body: some View { + DefaultHeader( + title: "authenticator.continueSignInWithMFASelection.title".localized() + ) + } +} + +/// Default footer for the ``ContinueSignInWithMFASelectionView``. It displays the "Back to Sign In" button +public struct ConfirmSignInWithMFASelectionFooter: View { + @Environment(\.authenticatorState) private var authenticatorState + + public init() {} + public var body: some View { + Button("authenticator.continueSignInWithMFASelection.button.backToSignIn".localized()) { + authenticatorState.move(to: .signIn) + } + .buttonStyle(.link) + } +} + diff --git a/Sources/Authenticator/Views/Internal/ConfirmSignInWithCodeView.swift b/Sources/Authenticator/Views/Internal/ConfirmSignInWithCodeView.swift index dd18a89..04baa40 100644 --- a/Sources/Authenticator/Views/Internal/ConfirmSignInWithCodeView.swift +++ b/Sources/Authenticator/Views/Internal/ConfirmSignInWithCodeView.swift @@ -13,7 +13,7 @@ struct ConfirmSignInWithCodeView AuthenticatorError)? = nil, - mfaType: MFAType + mfaType: AuthenticatorMFAType ) { self.state = state self.headerContent = headerContent() diff --git a/Tests/AuthenticatorTests/Mocks/MockAuthenticationService.swift b/Tests/AuthenticatorTests/Mocks/MockAuthenticationService.swift index ef7444c..8dd26ec 100644 --- a/Tests/AuthenticatorTests/Mocks/MockAuthenticationService.swift +++ b/Tests/AuthenticatorTests/Mocks/MockAuthenticationService.swift @@ -10,7 +10,7 @@ import Amplify import Foundation class MockAuthenticationService: AuthenticationService { - + // MARK: - Sign In var signInCount = 0 From 8b1ae934bf7609e9d8ef2121e21b184164cc48a2 Mon Sep 17 00:00:00 2001 From: Harsh <6162866+harsh62@users.noreply.github.com> Date: Tue, 19 Sep 2023 13:41:24 -0400 Subject: [PATCH 3/8] feat: Adding TOTP Setup view during sign in (#41) * feat: Adding TOTP Setup view during sign in * removed init and added view modifier for issuer * worked on review comments and refactored bunch of things to log stuff --- Sources/Authenticator/Authenticator.swift | 21 ++ .../Configuration/AuthenticatorOptions.swift | 1 + .../Extensions/Bundle+Utils.swift | 25 +++ .../Models/AuthenticatorStep.swift | 4 + .../Authenticator/Models/Internal/Step.swift | 4 + .../Authenticator/Options/TOTPOptions.swift | 23 ++ .../Resources/en.lproj/Localizable.strings | 13 ++ .../States/AuthenticatorBaseState.swift | 5 +- .../States/ConfirmSignInWithCodeState.swift | 9 + .../Theming/AuthenticatorTheme.swift | 6 + .../ContinueSignInWithTOTPSetupView.swift | 204 ++++++++++++++++++ .../AuthenticatorTextWithHeader.swift | 43 ++++ .../Views/Internal/DefaultHeader.swift | 10 +- .../Views/Primitives/Button.swift | 65 ++++-- 14 files changed, 416 insertions(+), 17 deletions(-) create mode 100644 Sources/Authenticator/Extensions/Bundle+Utils.swift create mode 100644 Sources/Authenticator/Options/TOTPOptions.swift create mode 100644 Sources/Authenticator/Views/ContinueSignInWithTOTPSetupView.swift create mode 100644 Sources/Authenticator/Views/Internal/AuthenticatorTextWithHeader.swift diff --git a/Sources/Authenticator/Authenticator.swift b/Sources/Authenticator/Authenticator.swift index 09b3d4f..72361f8 100644 --- a/Sources/Authenticator/Authenticator.swift +++ b/Sources/Authenticator/Authenticator.swift @@ -15,6 +15,7 @@ public struct Authenticator = .weakObjects() private let loadingContent: LoadingContent @@ -38,6 +40,7 @@ public struct Authenticator LoadingContent = { ProgressView() }, @@ -104,6 +112,9 @@ public struct Authenticator ContinueSignInWithMFASelectionContent = { state in ContinueSignInWithMFASelectionView(state: state) }, + @ViewBuilder continueSignInWithTOTPSetupContent: (ConfirmSignInWithCodeState) -> ContinueSignInWithTOTPSetupContent = { state in + ContinueSignInWithTOTPSetupView(state: state) + }, @ViewBuilder confirmSignInWithCustomChallengeContent: (ConfirmSignInWithCodeState) -> ConfirmSignInWithCustomChallengeContent = { state in ConfirmSignInWithCustomChallengeView(state: state) }, @@ -136,6 +147,7 @@ public struct Authenticator SignedInContent ) { self.initialStep = initialStep + self.totpOptions = totpOptions self.loadingContent = loadingContent() let credentials = Credentials() @@ -161,6 +173,12 @@ public struct Authenticator: View { + @Environment(\.authenticatorState) private var authenticatorState + @Environment(\.authenticatorTheme) private var theme + @Environment(\.authenticatorOptions) private var options + @ObservedObject private var state: ConfirmSignInWithCodeState + @StateObject private var codeValidator: Validator + private let headerContent: Header + private let footerContent: Footer + + /// Creates a `ConfirmSignInWithTOTPView` + /// - Parameter state: The ``ConfirmSignInWithCodeState`` that is observed by this view + /// - Parameter headerContent: The content displayed above the fields. Defaults to ``ContinueSignInWithTOTPSetupHeader`` + /// - Parameter footerContent: The content displayed bellow the fields. Defaults to ``ContinueSignInWithTOTPSetupFooter`` + public init( + state: ConfirmSignInWithCodeState, + @ViewBuilder headerContent: () -> Header = { + ContinueSignInWithTOTPSetupHeader() + }, + @ViewBuilder footerContent: () -> Footer = { + ContinueSignInWithTOTPSetupFooter() + } + ) { + self.state = state + self.headerContent = headerContent() + self.footerContent = footerContent() + self._codeValidator = StateObject(wrappedValue: Validator( + using: FieldValidators.required + )) + } + + public var body: some View { + AuthenticatorView(isBusy: state.isBusy) { + + headerContent + + Spacer() + + AuthenticatorTextWithHeader( + title: "authenticator.continueSignInWithTOTPSetup.step1.label.title".localized(), + content: "authenticator.continueSignInWithTOTPSetup.step1.label.content".localized() + ) + + AuthenticatorTextWithHeader( + title: "authenticator.continueSignInWithTOTPSetup.step2.label.title".localized(), + content: "authenticator.continueSignInWithTOTPSetup.step2.label.content".localized() + ) + + // If the TOTP details were returned, build the QR Code and the button + if let totpSetupDetails = state.totpSetupDetails { + + if let qrCodeImage = generateQRCode(totpSetupDetails: totpSetupDetails) { + Image(decorative: qrCodeImage, scale: 1) + .interpolation(.none) + .resizable() + .scaledToFit() + .frame(width: theme.components.authenticator.qrCodeSize, + height: theme.components.authenticator.qrCodeSize) + } + + Button("authenticator.continueSignInWithTOTPSetup.button.copyKey".localized()) { +#if os(iOS) + UIPasteboard.general.string = totpSetupDetails.sharedSecret +#elseif os(macOS) + let pasteboard = NSPasteboard.general + pasteboard.clearContents() + pasteboard.setString(totpSetupDetails.sharedSecret, forType: .string) +#endif + } + .buttonStyle(.capsule) + + } + + AuthenticatorTextWithHeader( + title: "authenticator.continueSignInWithTOTPSetup.step3.label.title".localized(), + content: "authenticator.continueSignInWithTOTPSetup.step3.label.content".localized() + ) + + TextField( + "authenticator.continueSignInWithTOTPSetup.field.code.placeholder".localized(), + text: $state.confirmationCode, + validator: codeValidator + ) + .textContentType(.oneTimeCode) +#if os(iOS) + .keyboardType(.default) +#endif + + + Button("authenticator.continueSignInWithTOTPSetup.button.submit".localized()) { + Task { await confirmSignIn() } + } + .buttonStyle(.primary) + .disabled(state.confirmationCode.isEmpty) + .opacity(state.confirmationCode.isEmpty ? 0.5 : 1) + + footerContent + } + .messageBanner($state.message) + .onSubmit { + Task { + await confirmSignIn() + } + } + + } + + + private func extractIssuerForQRCodeGeneration() -> String? { + if let issuer = options.totpOptions?.issuer { + return issuer + } + log.warn("`totpOptions` not provided as part of initialization. Falling back to extract application name from Bundle.") + + if let applicationName = Bundle.main.applicationName { + return applicationName + } + log.error("Unable to extract the application name from Bundle") + return nil + } + + private func generateQRCode(totpSetupDetails: TOTPSetupDetails) -> CGImage? { + guard let issuer = extractIssuerForQRCodeGeneration() else { + log.error("Unable to create TOTP Setup QR code due to missing issuer.") + return nil + } + + let qrCodeURIString: String + do { + qrCodeURIString = try totpSetupDetails.getSetupURI(appName: issuer).absoluteString + } catch { + log.error(error: error) + return nil + } + + let filter = CIFilter.qrCodeGenerator() + filter.message = Data(qrCodeURIString.utf8) + guard let outputImage = filter.outputImage else { + log.error("Unable to create a CI Image for TOTP Setup QRCode") + return nil + } + guard let cgImage = CIContext().createCGImage(outputImage, from: outputImage.extent) else { + log.error("Unable to create a CGImage from CIImage for TOTP Setup QRCode ") + return nil + } + return cgImage + } + + private func confirmSignIn() async { + guard codeValidator.validate() else { + log.verbose("Code validation failed") + return + } + + try? await state.confirmSignIn() + } + + /// Sets a custom error mapping function for the `AuthError`s that are displayed + /// - Parameter errorTransform: A closure that takes an `AuthError` and returns a ``AuthenticatorError`` that will be displayed. + public func errorMap(_ errorTransform: @escaping (AuthError) -> AuthenticatorError) -> Self { + state.errorTransform = errorTransform + return self + } +} + +extension ContinueSignInWithTOTPSetupView: AuthenticatorLogging {} + +/// Default header for the ``ContinueSignInWithTOTPSetupView``. It displays the view's title +public struct ContinueSignInWithTOTPSetupHeader: View { + public init() {} + public var body: some View { + DefaultHeader( + title: "authenticator.continueSignInWithTOTPSetup.title".localized() + ) + .alignment(.center) + } +} + +/// Default footer for the ``ContinueSignInWithTOTPSetupView``. It displays the "Back to Sign In" button +public struct ContinueSignInWithTOTPSetupFooter: View { + @Environment(\.authenticatorState) private var authenticatorState + + public init() {} + public var body: some View { + Button("authenticator.continueSignInWithTOTPSetup.button.backToSignIn".localized()) { + authenticatorState.move(to: .signIn) + } + .buttonStyle(.link) + } +} + diff --git a/Sources/Authenticator/Views/Internal/AuthenticatorTextWithHeader.swift b/Sources/Authenticator/Views/Internal/AuthenticatorTextWithHeader.swift new file mode 100644 index 0000000..598609f --- /dev/null +++ b/Sources/Authenticator/Views/Internal/AuthenticatorTextWithHeader.swift @@ -0,0 +1,43 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import SwiftUI + +struct AuthenticatorTextWithHeader: View { + @Environment(\.authenticatorTheme) private var theme + private var title: String + private var content: String + + init(title: String, content: String) { + self.title = title + self.content = content + } + + var body: some View { + VStack { + + SwiftUI.Text(title) + .font(theme.fonts.headline) + .foregroundColor(theme.colors.foreground.primary) + .accessibilityAddTraits(.isStaticText) + .multilineTextAlignment(.leading) + .frame(maxWidth: .infinity, alignment: .leading) + + Spacer(minLength: 10) + + SwiftUI.Text(content) + .font(theme.fonts.body) + .foregroundColor(theme.colors.foreground.primary) + .accessibilityAddTraits(.isStaticText) + .multilineTextAlignment(.leading) + .frame(maxWidth: .infinity, alignment: .leading) + + Spacer() + } + } + +} diff --git a/Sources/Authenticator/Views/Internal/DefaultHeader.swift b/Sources/Authenticator/Views/Internal/DefaultHeader.swift index 3ca6fa5..1a22e02 100644 --- a/Sources/Authenticator/Views/Internal/DefaultHeader.swift +++ b/Sources/Authenticator/Views/Internal/DefaultHeader.swift @@ -12,6 +12,7 @@ struct DefaultHeader: View { var title: String private var font: Font? = nil private var foregroundColor: Color? = nil + private var alignment: Alignment = .leading init(title: String) { self.title = title @@ -20,9 +21,10 @@ struct DefaultHeader: View { var body: some View { HStack { SwiftUI.Text(title) + .frame(maxWidth: .infinity, alignment: alignment) .font(font ?? theme.fonts.title) .foregroundColor(foregroundColor ?? theme.colors.foreground.primary) - .accessibilityAddTraits(.isHeader) + .accessibilityAddTraits(.isHeader) Spacer() } } @@ -38,4 +40,10 @@ struct DefaultHeader: View { view.foregroundColor = foregroundColor return view } + + func alignment(_ alignment: Alignment) -> DefaultHeader { + var view = self + view.alignment = alignment + return view + } } diff --git a/Sources/Authenticator/Views/Primitives/Button.swift b/Sources/Authenticator/Views/Primitives/Button.swift index 2d3112c..4ee1daf 100644 --- a/Sources/Authenticator/Views/Primitives/Button.swift +++ b/Sources/Authenticator/Views/Primitives/Button.swift @@ -31,7 +31,7 @@ struct Button: View { switch viewModifiers.style { case .primary: return theme.colors.background.interactive - case .link: + case .link, .capsule: return .clear default: return theme.colors.background.error @@ -42,7 +42,7 @@ struct Button: View { switch viewModifiers.style { case .primary: return theme.colors.foreground.inverse - case .link: + case .link, .capsule: return theme.colors.foreground.interactive default: return theme.colors.foreground.primary @@ -55,6 +55,8 @@ struct Button: View { return theme.components.button.primary.cornerRadius case .link: return theme.components.button.link.cornerRadius + case .capsule: + return theme.components.button.capsule.cornerRadius default: return theme.components.authenticator.cornerRadius } @@ -62,7 +64,7 @@ struct Button: View { private var borderColor: Color { switch viewModifiers.style { - case .default: + case .default, .capsule: return theme.colors.border.interactive default: return .clear @@ -71,7 +73,7 @@ struct Button: View { private var borderWidth: CGFloat { switch viewModifiers.style { - case .default: + case .default, .capsule: return theme.components.authenticator.borderWidth default: return 0 @@ -84,17 +86,30 @@ struct Button: View { return theme.components.button.primary.font case .link: return theme.components.button.link.font + case .capsule: + return theme.components.button.capsule.font default: return theme.fonts.body } } + private var maxWidth: CGFloat? { + switch viewModifiers.style { + case .capsule: + return nil + default: + return viewModifiers.frame.maxWidth + } + } + private var padding: AuthenticatorTheme.Padding? { switch viewModifiers.style { case .primary: return theme.components.button.primary.padding case .link: return theme.components.button.link.padding + case .capsule: + return theme.components.button.capsule.padding default: return theme.components.authenticator.padding } @@ -107,7 +122,10 @@ struct Button: View { backgroundColor: backgroundColor, cornerRadius: cornerRadius, padding: padding, - maxWidth: viewModifiers.frame.maxWidth + maxWidth: maxWidth, + borderWidth: borderWidth, + borderColor: borderColor, + useOverlay: viewModifiers.style == .capsule ) } } @@ -137,6 +155,7 @@ extension Button { case `default` case primary case link + case capsule } func frame( @@ -173,15 +192,35 @@ private struct AuthenticatorButtonStyle: ButtonStyle { let cornerRadius: CGFloat let padding: AuthenticatorTheme.Padding? let maxWidth: CGFloat? + let borderWidth: CGFloat + let borderColor: Color + let useOverlay: Bool func makeBody(configuration: Self.Configuration) -> some View { - configuration.label - .font(font) - .padding(padding) - .multilineTextAlignment(.center) - .frame(maxWidth: maxWidth) - .foregroundColor(configuration.isPressed ? foregroundColor.opacity(0.5) : foregroundColor) - .background(configuration.isPressed ? backgroundColor.opacity(0.5) : backgroundColor) - .cornerRadius(cornerRadius) + if useOverlay { + configuration.label + .font(font) + .padding(padding) + .multilineTextAlignment(.center) + .frame(maxWidth: maxWidth) + .foregroundColor(configuration.isPressed ? foregroundColor.opacity(0.5) : foregroundColor) + .background(configuration.isPressed ? backgroundColor.opacity(0.5) : backgroundColor) + .overlay( + RoundedRectangle(cornerRadius: .infinity) + .stroke(borderColor, + lineWidth: borderWidth) + ) + } else { + configuration.label + .font(font) + .padding(padding) + .multilineTextAlignment(.center) + .frame(maxWidth: maxWidth) + .foregroundColor(configuration.isPressed ? foregroundColor.opacity(0.5) : foregroundColor) + .background(configuration.isPressed ? backgroundColor.opacity(0.5) : backgroundColor) + .cornerRadius(cornerRadius) + .border(borderColor, width: borderWidth) + } + } } From 4385d14070671defde2394ec69b1859907b69c34 Mon Sep 17 00:00:00 2001 From: Harsh <6162866+harsh62@users.noreply.github.com> Date: Thu, 28 Sep 2023 16:34:22 -0400 Subject: [PATCH 4/8] feat: add UI testing module for Authenticator (#42) * feat: add login for testing snaphshots * updated the image diff logic * refactored process argument logic * renamed and regrouped files * adding new test case * adding enter totp view tests * renaming the utils file * updated entitlements that are not needed * adding mfa selection test * adding totp setup tests * updates tolerance and image * restructuring and renaming * removing the hardcoded test key * clean up --- .../Models/AuthenticatorStep.swift | 4 + .../project.pbxproj | 618 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/swiftpm/Package.resolved | 104 +++ .../xcschemes/AuthenticatorHostApp.xcscheme | 95 +++ .../AuthenticatorHostApp.xctestplan | 32 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 63 ++ .../Assets.xcassets/Contents.json | 6 + .../AuthenticatorHostApp.entitlements | 8 + .../AuthenticatorHostApp.swift | 89 +++ .../AuthenticatorHostApp/ContentView.swift | 49 ++ .../Mocks/MockAuthenticationService.swift | 202 ++++++ .../Preview Assets.xcassets/Contents.json | 6 + .../AuthCategoryConfigurationFactory.swift | 59 ++ .../AuthenticatorBaseTestCase.swift | 87 +++ .../AuthenticatorUITestUtils.swift | 36 + .../CleanCounterBetweenTestCases.swift | 33 + .../SnapshotLogic/ImageDiff.swift | 93 +++ .../SnapshotLogic/Snapshotter.swift | 120 ++++ .../ConfirmSignInWithTOTPCodeViewTests.swift | 20 + ...tinueSignInWithMFASelectionViewTests.swift | 20 + ...ContinueSignInWithTOTPSetupViewTests.swift | 20 + .../TestCases/ResetPasswordViewTests.swift | 20 + .../TestCases/SignInViewTests.swift | 29 + .../TestCases/SignUpViewTests.swift | 18 + .../testConfirmSignInWithTOTPCodeView.1.png | Bin 0 -> 103882 bytes ...stContinueSignInWithMFASelectionView.1.png | Bin 0 -> 110238 bytes .../testContinueSignInWithTOTPSetupView.1.png | Bin 0 -> 204476 bytes ...asswordViewWithUsernameAsPhoneNumber.1.png | Bin 0 -> 93932 bytes ...nInViewWithWithUsernameAsPhoneNumber.1.png | Bin 0 -> 101308 bytes .../testSignInViewWithoutSignUp.1.png | Bin 0 -> 98427 bytes .../testDefaultSignUpView.1.png | Bin 0 -> 128730 bytes 34 files changed, 1857 insertions(+) create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.pbxproj create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/xcshareddata/xcschemes/AuthenticatorHostApp.xcscheme create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp.xctestplan create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/Contents.json create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/AuthenticatorHostApp.entitlements create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/AuthenticatorHostApp.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/ContentView.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/Mocks/MockAuthenticationService.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostApp/Utils/AuthCategoryConfigurationFactory.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/AuthenticatorBaseTestCase.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/AuthenticatorUITestUtils.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/CleanCounterBetweenTestCases.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/ImageDiff.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/Snapshotter.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ConfirmSignInWithTOTPCodeViewTests.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ContinueSignInWithMFASelectionViewTests.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ContinueSignInWithTOTPSetupViewTests.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ResetPasswordViewTests.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/SignInViewTests.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/SignUpViewTests.swift create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ConfirmSignInWithTOTPCodeViewTests/testConfirmSignInWithTOTPCodeView.1.png create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ContinueSignInWithMFASelectionViewTests/testContinueSignInWithMFASelectionView.1.png create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ContinueSignInWithTOTPSetupViewTests/testContinueSignInWithTOTPSetupView.1.png create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ResetPasswordViewTests/testResetPasswordViewWithUsernameAsPhoneNumber.1.png create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/SignInViewTests/testSignInViewWithWithUsernameAsPhoneNumber.1.png create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/SignInViewTests/testSignInViewWithoutSignUp.1.png create mode 100644 Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/SignUpViewTests/testDefaultSignUpView.1.png diff --git a/Sources/Authenticator/Models/AuthenticatorStep.swift b/Sources/Authenticator/Models/AuthenticatorStep.swift index 715749e..70364c8 100644 --- a/Sources/Authenticator/Models/AuthenticatorStep.swift +++ b/Sources/Authenticator/Models/AuthenticatorStep.swift @@ -92,3 +92,7 @@ public struct AuthenticatorStep: Equatable { /// An authenticated user has successfully signed in. public static let signedIn = AuthenticatorStep("signedIn") } + +extension AuthenticatorInitialStep: Codable { } + +extension AuthenticatorStep: Codable { } diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.pbxproj b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.pbxproj new file mode 100644 index 0000000..90fbaf2 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.pbxproj @@ -0,0 +1,618 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + 482D01142ABE21F7000A3140 /* AuthenticatorUITestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 482D01122ABE21F7000A3140 /* AuthenticatorUITestUtils.swift */; }; + 482D01172ABE2344000A3140 /* Authenticator in Frameworks */ = {isa = PBXBuildFile; productRef = 482D01162ABE2344000A3140 /* Authenticator */; }; + 482D01192ABE238E000A3140 /* Authenticator in Frameworks */ = {isa = PBXBuildFile; productRef = 482D01182ABE238E000A3140 /* Authenticator */; }; + 482D011B2AC1E824000A3140 /* SignInViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 482D011A2AC1E824000A3140 /* SignInViewTests.swift */; }; + 482D011D2AC1E839000A3140 /* SignUpViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 482D011C2AC1E839000A3140 /* SignUpViewTests.swift */; }; + 482D011F2AC1E85C000A3140 /* ResetPasswordViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 482D011E2AC1E85C000A3140 /* ResetPasswordViewTests.swift */; }; + 482D01212AC1EB69000A3140 /* AuthenticatorUITestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 482D01122ABE21F7000A3140 /* AuthenticatorUITestUtils.swift */; }; + 482D01242AC1F00D000A3140 /* ConfirmSignInWithTOTPCodeViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 482D01232AC1F00D000A3140 /* ConfirmSignInWithTOTPCodeViewTests.swift */; }; + 483E09412ABBC0D800EFD1D7 /* AuthenticatorHostApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 483E09402ABBC0D800EFD1D7 /* AuthenticatorHostApp.swift */; }; + 483E09432ABBC0D800EFD1D7 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 483E09422ABBC0D800EFD1D7 /* ContentView.swift */; }; + 483E09452ABBC0D900EFD1D7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 483E09442ABBC0D900EFD1D7 /* Assets.xcassets */; }; + 483E09492ABBC0D900EFD1D7 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 483E09482ABBC0D900EFD1D7 /* Preview Assets.xcassets */; }; + 483E09512ABBC17A00EFD1D7 /* Authenticator in Frameworks */ = {isa = PBXBuildFile; productRef = 483E09502ABBC17A00EFD1D7 /* Authenticator */; }; + 483E09542ABBC26C00EFD1D7 /* MockAuthenticationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 483E09532ABBC26C00EFD1D7 /* MockAuthenticationService.swift */; }; + 483E09572ABBC2C100EFD1D7 /* AuthCategoryConfigurationFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 483E09562ABBC2C100EFD1D7 /* AuthCategoryConfigurationFactory.swift */; }; + 4873E7532ABC99E4001EDA1D /* ImageDiff.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4873E7522ABC99E4001EDA1D /* ImageDiff.swift */; }; + 4873E7572ABC9B51001EDA1D /* CleanCounterBetweenTestCases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4873E7562ABC9B51001EDA1D /* CleanCounterBetweenTestCases.swift */; }; + 4873E7592ABC9C58001EDA1D /* AuthenticatorBaseTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4873E7582ABC9C58001EDA1D /* AuthenticatorBaseTestCase.swift */; }; + 48DED8F12AC2011100F44908 /* ContinueSignInWithMFASelectionViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48DED8F02AC2011100F44908 /* ContinueSignInWithMFASelectionViewTests.swift */; }; + 48DED8F32AC201E600F44908 /* ContinueSignInWithTOTPSetupViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48DED8F22AC201E600F44908 /* ContinueSignInWithTOTPSetupViewTests.swift */; }; + 48DED8F52AC2050800F44908 /* Snapshotter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48DED8F42AC2050800F44908 /* Snapshotter.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 483E09622ABBC4AC00EFD1D7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 483E09352ABBC0D800EFD1D7 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 483E093C2ABBC0D800EFD1D7; + remoteInfo = AuthenticatorHostApp; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 482D01122ABE21F7000A3140 /* AuthenticatorUITestUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticatorUITestUtils.swift; sourceTree = ""; }; + 482D011A2AC1E824000A3140 /* SignInViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignInViewTests.swift; sourceTree = ""; }; + 482D011C2AC1E839000A3140 /* SignUpViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpViewTests.swift; sourceTree = ""; }; + 482D011E2AC1E85C000A3140 /* ResetPasswordViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetPasswordViewTests.swift; sourceTree = ""; }; + 482D01222AC1EC3B000A3140 /* AuthenticatorHostApp.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = AuthenticatorHostApp.xctestplan; sourceTree = ""; }; + 482D01232AC1F00D000A3140 /* ConfirmSignInWithTOTPCodeViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmSignInWithTOTPCodeViewTests.swift; sourceTree = ""; }; + 483E093D2ABBC0D800EFD1D7 /* AuthenticatorHostApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AuthenticatorHostApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 483E09402ABBC0D800EFD1D7 /* AuthenticatorHostApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticatorHostApp.swift; sourceTree = ""; }; + 483E09422ABBC0D800EFD1D7 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 483E09442ABBC0D900EFD1D7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 483E09462ABBC0D900EFD1D7 /* AuthenticatorHostApp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AuthenticatorHostApp.entitlements; sourceTree = ""; }; + 483E09482ABBC0D900EFD1D7 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 483E09532ABBC26C00EFD1D7 /* MockAuthenticationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAuthenticationService.swift; sourceTree = ""; }; + 483E09562ABBC2C100EFD1D7 /* AuthCategoryConfigurationFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthCategoryConfigurationFactory.swift; sourceTree = ""; }; + 483E095C2ABBC4AC00EFD1D7 /* AuthenticatorHostAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AuthenticatorHostAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 4873E7522ABC99E4001EDA1D /* ImageDiff.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageDiff.swift; sourceTree = ""; }; + 4873E7562ABC9B51001EDA1D /* CleanCounterBetweenTestCases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CleanCounterBetweenTestCases.swift; sourceTree = ""; }; + 4873E7582ABC9C58001EDA1D /* AuthenticatorBaseTestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticatorBaseTestCase.swift; sourceTree = ""; }; + 48DED8F02AC2011100F44908 /* ContinueSignInWithMFASelectionViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContinueSignInWithMFASelectionViewTests.swift; sourceTree = ""; }; + 48DED8F22AC201E600F44908 /* ContinueSignInWithTOTPSetupViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContinueSignInWithTOTPSetupViewTests.swift; sourceTree = ""; }; + 48DED8F42AC2050800F44908 /* Snapshotter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Snapshotter.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 483E093A2ABBC0D800EFD1D7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 482D01172ABE2344000A3140 /* Authenticator in Frameworks */, + 483E09512ABBC17A00EFD1D7 /* Authenticator in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 483E09592ABBC4AC00EFD1D7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 482D01192ABE238E000A3140 /* Authenticator in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 482D01202AC1E939000A3140 /* TestCases */ = { + isa = PBXGroup; + children = ( + 482D011A2AC1E824000A3140 /* SignInViewTests.swift */, + 482D011C2AC1E839000A3140 /* SignUpViewTests.swift */, + 482D011E2AC1E85C000A3140 /* ResetPasswordViewTests.swift */, + 482D01232AC1F00D000A3140 /* ConfirmSignInWithTOTPCodeViewTests.swift */, + 48DED8F02AC2011100F44908 /* ContinueSignInWithMFASelectionViewTests.swift */, + 48DED8F22AC201E600F44908 /* ContinueSignInWithTOTPSetupViewTests.swift */, + ); + path = TestCases; + sourceTree = ""; + }; + 483E09342ABBC0D800EFD1D7 = { + isa = PBXGroup; + children = ( + 482D01222AC1EC3B000A3140 /* AuthenticatorHostApp.xctestplan */, + 483E093F2ABBC0D800EFD1D7 /* AuthenticatorHostApp */, + 483E095D2ABBC4AC00EFD1D7 /* AuthenticatorHostAppUITests */, + 483E093E2ABBC0D800EFD1D7 /* Products */, + ); + sourceTree = ""; + }; + 483E093E2ABBC0D800EFD1D7 /* Products */ = { + isa = PBXGroup; + children = ( + 483E093D2ABBC0D800EFD1D7 /* AuthenticatorHostApp.app */, + 483E095C2ABBC4AC00EFD1D7 /* AuthenticatorHostAppUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 483E093F2ABBC0D800EFD1D7 /* AuthenticatorHostApp */ = { + isa = PBXGroup; + children = ( + 483E09552ABBC2A800EFD1D7 /* Utils */, + 483E09522ABBC25900EFD1D7 /* Mocks */, + 483E09402ABBC0D800EFD1D7 /* AuthenticatorHostApp.swift */, + 483E09422ABBC0D800EFD1D7 /* ContentView.swift */, + 483E09442ABBC0D900EFD1D7 /* Assets.xcassets */, + 483E09462ABBC0D900EFD1D7 /* AuthenticatorHostApp.entitlements */, + 483E09472ABBC0D900EFD1D7 /* Preview Content */, + ); + path = AuthenticatorHostApp; + sourceTree = ""; + }; + 483E09472ABBC0D900EFD1D7 /* Preview Content */ = { + isa = PBXGroup; + children = ( + 483E09482ABBC0D900EFD1D7 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + 483E09522ABBC25900EFD1D7 /* Mocks */ = { + isa = PBXGroup; + children = ( + 483E09532ABBC26C00EFD1D7 /* MockAuthenticationService.swift */, + ); + path = Mocks; + sourceTree = ""; + }; + 483E09552ABBC2A800EFD1D7 /* Utils */ = { + isa = PBXGroup; + children = ( + 483E09562ABBC2C100EFD1D7 /* AuthCategoryConfigurationFactory.swift */, + ); + path = Utils; + sourceTree = ""; + }; + 483E095D2ABBC4AC00EFD1D7 /* AuthenticatorHostAppUITests */ = { + isa = PBXGroup; + children = ( + 482D01122ABE21F7000A3140 /* AuthenticatorUITestUtils.swift */, + 4873E7582ABC9C58001EDA1D /* AuthenticatorBaseTestCase.swift */, + 482D01202AC1E939000A3140 /* TestCases */, + 4873E74E2ABC9944001EDA1D /* SnapshotLogic */, + ); + path = AuthenticatorHostAppUITests; + sourceTree = ""; + }; + 4873E74E2ABC9944001EDA1D /* SnapshotLogic */ = { + isa = PBXGroup; + children = ( + 48DED8F42AC2050800F44908 /* Snapshotter.swift */, + 4873E7522ABC99E4001EDA1D /* ImageDiff.swift */, + 4873E7562ABC9B51001EDA1D /* CleanCounterBetweenTestCases.swift */, + ); + path = SnapshotLogic; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 483E093C2ABBC0D800EFD1D7 /* AuthenticatorHostApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = 483E094C2ABBC0D900EFD1D7 /* Build configuration list for PBXNativeTarget "AuthenticatorHostApp" */; + buildPhases = ( + 483E09392ABBC0D800EFD1D7 /* Sources */, + 483E093A2ABBC0D800EFD1D7 /* Frameworks */, + 483E093B2ABBC0D800EFD1D7 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AuthenticatorHostApp; + packageProductDependencies = ( + 483E09502ABBC17A00EFD1D7 /* Authenticator */, + 482D01162ABE2344000A3140 /* Authenticator */, + ); + productName = AuthenticatorHostApp; + productReference = 483E093D2ABBC0D800EFD1D7 /* AuthenticatorHostApp.app */; + productType = "com.apple.product-type.application"; + }; + 483E095B2ABBC4AC00EFD1D7 /* AuthenticatorHostAppUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 483E09642ABBC4AC00EFD1D7 /* Build configuration list for PBXNativeTarget "AuthenticatorHostAppUITests" */; + buildPhases = ( + 483E09582ABBC4AC00EFD1D7 /* Sources */, + 483E09592ABBC4AC00EFD1D7 /* Frameworks */, + 483E095A2ABBC4AC00EFD1D7 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 483E09632ABBC4AC00EFD1D7 /* PBXTargetDependency */, + ); + name = AuthenticatorHostAppUITests; + packageProductDependencies = ( + 482D01182ABE238E000A3140 /* Authenticator */, + ); + productName = AuthenticatorHostAppUITests; + productReference = 483E095C2ABBC4AC00EFD1D7 /* AuthenticatorHostAppUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 483E09352ABBC0D800EFD1D7 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + TargetAttributes = { + 483E093C2ABBC0D800EFD1D7 = { + CreatedOnToolsVersion = 15.0; + }; + 483E095B2ABBC4AC00EFD1D7 = { + CreatedOnToolsVersion = 15.0; + TestTargetID = 483E093C2ABBC0D800EFD1D7; + }; + }; + }; + buildConfigurationList = 483E09382ABBC0D800EFD1D7 /* Build configuration list for PBXProject "AuthenticatorHostApp" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 483E09342ABBC0D800EFD1D7; + packageReferences = ( + 482D01152ABE2344000A3140 /* XCLocalSwiftPackageReference "../.." */, + ); + productRefGroup = 483E093E2ABBC0D800EFD1D7 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 483E093C2ABBC0D800EFD1D7 /* AuthenticatorHostApp */, + 483E095B2ABBC4AC00EFD1D7 /* AuthenticatorHostAppUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 483E093B2ABBC0D800EFD1D7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 483E09492ABBC0D900EFD1D7 /* Preview Assets.xcassets in Resources */, + 483E09452ABBC0D900EFD1D7 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 483E095A2ABBC4AC00EFD1D7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 483E09392ABBC0D800EFD1D7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 483E09432ABBC0D800EFD1D7 /* ContentView.swift in Sources */, + 482D01212AC1EB69000A3140 /* AuthenticatorUITestUtils.swift in Sources */, + 483E09572ABBC2C100EFD1D7 /* AuthCategoryConfigurationFactory.swift in Sources */, + 483E09542ABBC26C00EFD1D7 /* MockAuthenticationService.swift in Sources */, + 483E09412ABBC0D800EFD1D7 /* AuthenticatorHostApp.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 483E09582ABBC4AC00EFD1D7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4873E7572ABC9B51001EDA1D /* CleanCounterBetweenTestCases.swift in Sources */, + 4873E7592ABC9C58001EDA1D /* AuthenticatorBaseTestCase.swift in Sources */, + 482D011B2AC1E824000A3140 /* SignInViewTests.swift in Sources */, + 48DED8F52AC2050800F44908 /* Snapshotter.swift in Sources */, + 482D01142ABE21F7000A3140 /* AuthenticatorUITestUtils.swift in Sources */, + 4873E7532ABC99E4001EDA1D /* ImageDiff.swift in Sources */, + 48DED8F12AC2011100F44908 /* ContinueSignInWithMFASelectionViewTests.swift in Sources */, + 482D011D2AC1E839000A3140 /* SignUpViewTests.swift in Sources */, + 482D011F2AC1E85C000A3140 /* ResetPasswordViewTests.swift in Sources */, + 482D01242AC1F00D000A3140 /* ConfirmSignInWithTOTPCodeViewTests.swift in Sources */, + 48DED8F32AC201E600F44908 /* ContinueSignInWithTOTPSetupViewTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 483E09632ABBC4AC00EFD1D7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 483E093C2ABBC0D800EFD1D7 /* AuthenticatorHostApp */; + targetProxy = 483E09622ABBC4AC00EFD1D7 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 483E094A2ABBC0D900EFD1D7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 483E094B2ABBC0D900EFD1D7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SWIFT_COMPILATION_MODE = wholemodule; + }; + name = Release; + }; + 483E094D2ABBC0D900EFD1D7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = AuthenticatorHostApp/AuthenticatorHostApp.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"AuthenticatorHostApp/Preview Content\""; + DEVELOPMENT_TEAM = 94KV3E626L; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 13.5; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.amplify.AuthenticatorHostApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = auto; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 483E094E2ABBC0D900EFD1D7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = AuthenticatorHostApp/AuthenticatorHostApp.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"AuthenticatorHostApp/Preview Content\""; + DEVELOPMENT_TEAM = 94KV3E626L; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 13.5; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.amplify.AuthenticatorHostApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = auto; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 483E09652ABBC4AC00EFD1D7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 94KV3E626L; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.amplify.AuthenticatorHostAppUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = AuthenticatorHostApp; + }; + name = Debug; + }; + 483E09662ABBC4AC00EFD1D7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 94KV3E626L; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.amplify.AuthenticatorHostAppUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = AuthenticatorHostApp; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 483E09382ABBC0D800EFD1D7 /* Build configuration list for PBXProject "AuthenticatorHostApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 483E094A2ABBC0D900EFD1D7 /* Debug */, + 483E094B2ABBC0D900EFD1D7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 483E094C2ABBC0D900EFD1D7 /* Build configuration list for PBXNativeTarget "AuthenticatorHostApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 483E094D2ABBC0D900EFD1D7 /* Debug */, + 483E094E2ABBC0D900EFD1D7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 483E09642ABBC4AC00EFD1D7 /* Build configuration list for PBXNativeTarget "AuthenticatorHostAppUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 483E09652ABBC4AC00EFD1D7 /* Debug */, + 483E09662ABBC4AC00EFD1D7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + 482D01152ABE2344000A3140 /* XCLocalSwiftPackageReference "../.." */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../..; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 482D01162ABE2344000A3140 /* Authenticator */ = { + isa = XCSwiftPackageProductDependency; + productName = Authenticator; + }; + 482D01182ABE238E000A3140 /* Authenticator */ = { + isa = XCSwiftPackageProductDependency; + productName = Authenticator; + }; + 483E09502ABBC17A00EFD1D7 /* Authenticator */ = { + isa = XCSwiftPackageProductDependency; + productName = Authenticator; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 483E09352ABBC0D800EFD1D7 /* Project object */; +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..1c4d179 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,104 @@ +{ + "pins" : [ + { + "identity" : "amplify-swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/aws-amplify/amplify-swift", + "state" : { + "revision" : "94a3f341254a7e9c5b78ef2f1a9fe0ec289f0305", + "version" : "2.17.2" + } + }, + { + "identity" : "amplify-swift-utils-notifications", + "kind" : "remoteSourceControl", + "location" : "https://github.com/aws-amplify/amplify-swift-utils-notifications.git", + "state" : { + "revision" : "f970384ad1035732f99259255cd2f97564807e41", + "version" : "1.1.0" + } + }, + { + "identity" : "aws-appsync-realtime-client-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/aws-amplify/aws-appsync-realtime-client-ios.git", + "state" : { + "revision" : "c7ec93dcbbcd8abc90c74203937f207a7fcaa611", + "version" : "3.1.1" + } + }, + { + "identity" : "aws-crt-swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/awslabs/aws-crt-swift", + "state" : { + "revision" : "6feec6c3787877807aa9a00fad09591b96752376", + "version" : "0.6.1" + } + }, + { + "identity" : "aws-sdk-swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/awslabs/aws-sdk-swift.git", + "state" : { + "revision" : "24bae88a2391fe75da8a940a544d1ef6441f5321", + "version" : "0.13.0" + } + }, + { + "identity" : "smithy-swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/awslabs/smithy-swift", + "state" : { + "revision" : "7b28da158d92cd06a3549140d43b8fbcf64a94a6", + "version" : "0.15.0" + } + }, + { + "identity" : "sqlite.swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/stephencelis/SQLite.swift.git", + "state" : { + "revision" : "5f5ad81ac0d0a0f3e56e39e646e8423c617df523", + "version" : "0.13.2" + } + }, + { + "identity" : "starscream", + "kind" : "remoteSourceControl", + "location" : "https://github.com/daltoniam/Starscream", + "state" : { + "revision" : "df8d82047f6654d8e4b655d1b1525c64e1059d21", + "version" : "4.0.4" + } + }, + { + "identity" : "swift-collections", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-collections", + "state" : { + "revision" : "937e904258d22af6e447a0b72c0bc67583ef64a2", + "version" : "1.0.4" + } + }, + { + "identity" : "swift-log", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-log.git", + "state" : { + "revision" : "532d8b529501fb73a2455b179e0bbb6d49b652ed", + "version" : "1.5.3" + } + }, + { + "identity" : "xmlcoder", + "kind" : "remoteSourceControl", + "location" : "https://github.com/MaxDesiatov/XMLCoder.git", + "state" : { + "revision" : "b1e944cbd0ef33787b13f639a5418d55b3bed501", + "version" : "0.17.1" + } + } + ], + "version" : 2 +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/xcshareddata/xcschemes/AuthenticatorHostApp.xcscheme b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/xcshareddata/xcschemes/AuthenticatorHostApp.xcscheme new file mode 100644 index 0000000..2774ecc --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xcodeproj/xcshareddata/xcschemes/AuthenticatorHostApp.xcscheme @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xctestplan b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xctestplan new file mode 100644 index 0000000..5254574 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp.xctestplan @@ -0,0 +1,32 @@ +{ + "configurations" : [ + { + "id" : "6A2C8881-BF18-41B8-8578-D487AB88126F", + "name" : "Test Scheme Action", + "options" : { + + } + } + ], + "defaultOptions" : { + "targetForVariableExpansion" : { + "containerPath" : "container:AuthenticatorHostApp.xcodeproj", + "identifier" : "483E093C2ABBC0D800EFD1D7", + "name" : "AuthenticatorHostApp" + }, + "testExecutionOrdering" : "random" + }, + "testTargets" : [ + { + "skippedTests" : [ + "AuthenticatorBaseTestCase" + ], + "target" : { + "containerPath" : "container:AuthenticatorHostApp.xcodeproj", + "identifier" : "483E095B2ABBC4AC00EFD1D7", + "name" : "AuthenticatorHostAppUITests" + } + } + ], + "version" : 1 +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/AccentColor.colorset/Contents.json b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..532cd72 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,63 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/Contents.json b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/AuthenticatorHostApp.entitlements b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/AuthenticatorHostApp.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/AuthenticatorHostApp.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/AuthenticatorHostApp.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/AuthenticatorHostApp.swift new file mode 100644 index 0000000..28df781 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/AuthenticatorHostApp.swift @@ -0,0 +1,89 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Amplify +@testable import Authenticator +import AWSCognitoAuthPlugin +import SwiftUI + +@main +struct AuthenticatorHostApp: App { + + private let factory = AuthCategoryConfigurationFactory.shared + private var hidesSignUpButton = false + private var initialStep = AuthenticatorInitialStep.signIn + private var authSignInNextStep = AuthSignInStep.done + + var body: some Scene { + WindowGroup { + ContentView( + hidesSignUpButton: hidesSignUpButton, + initialStep: initialStep, + authSignInStep: authSignInNextStep) + } + } + + init() { + processUITestLaunchArguments() + do { + try Amplify.add(plugin: AWSCognitoAuthPlugin()) + try Amplify.configure(AmplifyConfiguration(auth: factory.createConfiguration())) + } catch { + print("Unable to configure Amplify \(error)") + } + } + + mutating func modifyConfiguration(for argument: ProcessArgument) { + switch argument { + case .initialStep(let step): + self.initialStep = step + case .hidesSignUpButton(let hidesSignUpButton): + self.hidesSignUpButton = hidesSignUpButton + case .userAttributes(let userAttributes): + factory.setUserAtributes(userAttributes) + case .authSignInStep(let authUITestNextStep): + self.authSignInNextStep = getMockedNextStepResult(from: authUITestNextStep) + } + } + + mutating func processUITestLaunchArguments() { + let uiTestArguments = ProcessInfo.processInfo.arguments + var arguments: [ProcessArgument] = [] + for (index, argument) in uiTestArguments.enumerated() { + if argument.isEqual(UITestKeyKey) { + arguments = try! JSONDecoder().decode([ProcessArgument].self, from: uiTestArguments[index + 1].data(using: .utf8)!) + break + } + } + for argument in arguments { + modifyConfiguration(for: argument) + } + } + + private func getMockedNextStepResult(from authUITestSignInStep: AuthUITestSignInStep) -> AuthSignInStep { + switch authUITestSignInStep { + case .confirmSignInWithSMSMFACode: + return .confirmSignInWithSMSMFACode(.init(destination: .email("testEmail@test.com")), nil) + case .confirmSignInWithCustomChallenge: + return .confirmSignInWithCustomChallenge(nil) + case .confirmSignInWithNewPassword: + return .confirmSignInWithNewPassword(nil) + case .confirmSignInWithTOTPCode: + return .confirmSignInWithTOTPCode + case .continueSignInWithTOTPSetup: + return .continueSignInWithTOTPSetup(.init(sharedSecret: "secret", username: "username")) + case .continueSignInWithMFASelection: + return .continueSignInWithMFASelection([.totp, .sms]) + case .resetPassword: + return .resetPassword(nil) + case .confirmSignUp: + return .confirmSignUp(nil) + case .done: + return .done + } + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/ContentView.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/ContentView.swift new file mode 100644 index 0000000..2d21e34 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/ContentView.swift @@ -0,0 +1,49 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +@testable import Amplify +@testable import Authenticator +import AWSCognitoAuthPlugin +import SwiftUI + +struct ContentView: View { + private let hidesSignUpButton: Bool + private let initialStep: AuthenticatorInitialStep + + init(hidesSignUpButton: Bool, + initialStep: AuthenticatorInitialStep, + authSignInStep: AuthSignInStep) { + self.hidesSignUpButton = hidesSignUpButton + self.initialStep = initialStep + MockAuthenticationService.shared.mockedSignInResult = .init(nextStep: authSignInStep) + } + + var body: some View { + Authenticator(initialStep: initialStep) { state in + VStack { + Text("Hello, \(state.user.username)") + Button("Sign out") { + Task { await state.signOut() } + } + .buttonStyle(.bordered) + } + } + .hidesSignUpButton(hidesSignUpButton) + .signUpFields(signUpFields) + .authenticationService(MockAuthenticationService.shared) + .onAppear { + print("Appeared!") + } + .statusBar(hidden: true) + } + + + + private var signUpFields: [SignUpField] { + return [] + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Mocks/MockAuthenticationService.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Mocks/MockAuthenticationService.swift new file mode 100644 index 0000000..02086e9 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Mocks/MockAuthenticationService.swift @@ -0,0 +1,202 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Amplify +@testable import Authenticator +import Foundation + +class MockAuthenticationService: AuthenticationService { + + static var shared = MockAuthenticationService() + + private init() {} + + // MARK: - Sign In + + var signInCount = 0 + var mockedSignInResult: AuthSignInResult? + func signIn(username: String?, password: String?, options: AuthSignInRequest.Options?) async throws -> AuthSignInResult { + signInCount += 1 + if let mockedSignInResult = mockedSignInResult { + return mockedSignInResult + } + + throw AuthenticatorError.error(message: "Unable to sign in") + } + + var confirmSignInCount = 0 + var mockedConfirmSignInResult: AuthSignInResult? + func confirmSignIn(challengeResponse: String, options: AuthConfirmSignInRequest.Options?) async throws -> AuthSignInResult { + confirmSignInCount += 1 + if let mockedConfirmSignInResult = mockedConfirmSignInResult { + return mockedConfirmSignInResult + } + + throw AuthenticatorError.error(message: "Unable to confirm sign in") + } + + var mockedCurrentUser: AuthUser? + func getCurrentUser() async throws -> AuthUser { + if let mockedCurrentUser = mockedCurrentUser { + return mockedCurrentUser + } + + throw AuthenticatorError.error(message: "Unable to retrieve Current User") + } + + // MARK: - Reset Password + + var resetPasswordCount = 0 + var mockedResetPasswordResult: AuthResetPasswordResult? + func resetPassword(for username: String, options: AuthResetPasswordRequest.Options?) async throws -> AuthResetPasswordResult { + resetPasswordCount += 1 + if let mockedResetPasswordResult = mockedResetPasswordResult { + return mockedResetPasswordResult + } + + throw AuthenticatorError.error(message: "Unable to reset password") + } + + var confirmResetPasswordCount = 0 + var mockedConfirmResetPasswordError: AuthenticatorError? + func confirmResetPassword(for username: String, with newPassword: String, confirmationCode: String, options: AuthConfirmResetPasswordRequest.Options?) async throws { + confirmResetPasswordCount += 1 + if let error = mockedConfirmResetPasswordError { + throw error + } + } + + // MARK: - Sign Up + + var signUpCount = 0 + var mockedSignUpResult: AuthSignUpResult? + func signUp(username: String, password: String?, options: AuthSignUpRequest.Options?) async throws -> AuthSignUpResult { + signUpCount += 1 + if let mockedSignUpResult = mockedSignUpResult { + return mockedSignUpResult + } + throw AuthenticatorError.error(message: "Unable to sign up") + } + + var confirmSignUpCount = 0 + var mockedConfirmSignUpResult: AuthSignUpResult? + func confirmSignUp(for username: String, confirmationCode: String, options: AuthConfirmSignUpRequest.Options?) async throws -> AuthSignUpResult { + confirmSignUpCount += 1 + if let mockedConfirmSignUpResult = mockedConfirmSignUpResult { + return mockedConfirmSignUpResult + } + + throw AuthenticatorError.error(message: "Unable to confirm sign up") + } + + var resendSignUpCodeCount = 0 + var mockedResendSignUpCodeResult: AuthCodeDeliveryDetails? + func resendSignUpCode(for username: String, options: AuthResendSignUpCodeRequest.Options?) async throws -> AuthCodeDeliveryDetails { + resendSignUpCodeCount += 1 + if let mockedResendSignUpCodeResult = mockedResendSignUpCodeResult { + return mockedResendSignUpCodeResult + } + throw AuthenticatorError.error(message: "Unable to resend sign up code") + } + + // MARK: - Verify User + + var fetchUserAttributesCount = 0 + var mockedUnverifiedAttributes: [AuthUserAttribute] = [] + func fetchUserAttributes(options: AuthFetchUserAttributesRequest.Options?) async throws -> [AuthUserAttribute] { + fetchUserAttributesCount += 1 + return mockedUnverifiedAttributes + } + + var resendConfirmationCodeForAttributeCount = 0 + var mockedResendConfirmationCodeForAttributeResult: AuthCodeDeliveryDetails? + func resendConfirmationCode(forUserAttributeKey userAttributeKey: AuthUserAttributeKey, options: AuthAttributeResendConfirmationCodeRequest.Options?) async throws -> AuthCodeDeliveryDetails { + resendConfirmationCodeForAttributeCount += 1 + if let mockedResendConfirmationCodeForAttributeResult = mockedResendConfirmationCodeForAttributeResult { + return mockedResendConfirmationCodeForAttributeResult + } + + throw AuthenticatorError.error(message: "Unable to resend confirmation code for attribute") + } + + var confirmUserAttributeCount = 0 + var mockedConfirmUserAttributeError: AuthenticatorError? + func confirm(userAttribute: AuthUserAttributeKey, confirmationCode: String, options: AuthConfirmUserAttributeRequest.Options?) async throws { + confirmUserAttributeCount += 1 + if let mockedConfirmUserAttributeError = mockedConfirmUserAttributeError { + throw mockedConfirmUserAttributeError + } + } + + // MARK: - Sign Out + + var signOutCount = 0 + var mockedSignOutResult: AuthSignOutResult? + func signOut(options: AuthSignOutRequest.Options?) async -> AuthSignOutResult { + signOutCount += 1 + return SignOutResult() + } +#if os(iOS) || os(macOS) + // MARK: - Web UI + func signInWithWebUI(presentationAnchor: AuthUIPresentationAnchor?, options: AuthWebUISignInRequest.Options?) async throws -> AuthSignInResult { + return .init(nextStep: .done) + } + + func signInWithWebUI(for authProvider: AuthProvider, presentationAnchor: AuthUIPresentationAnchor?, options: AuthWebUISignInRequest.Options?) async throws -> AuthSignInResult { + return .init(nextStep: .done) + } +#endif + + // MARK: - User management + + func fetchAuthSession(options: AuthFetchSessionRequest.Options?) async throws -> AuthSession { + return Session(isSignedIn: true) + } + + func update(userAttribute: AuthUserAttribute, options: AuthUpdateUserAttributeRequest.Options?) async throws -> AuthUpdateAttributeResult { + return .init(isUpdated: true, nextStep: .done) + } + + func update(userAttributes: [AuthUserAttribute], options: AuthUpdateUserAttributesRequest.Options?) async throws -> [AuthUserAttributeKey: AuthUpdateAttributeResult] { + return [:] + } + + func update(oldPassword: String, to newPassword: String, options: AuthChangePasswordRequest.Options?) async throws {} + + func deleteUser() async throws {} + + // MARK: - Device management + + func fetchDevices(options: AuthFetchDevicesRequest.Options?) async throws -> [AuthDevice] { + return [] + } + + func forgetDevice(_ device: AuthDevice?, options: AuthForgetDeviceRequest.Options?) async throws {} + + func rememberDevice(options: AuthRememberDeviceRequest.Options?) async throws {} + + func setUpTOTP() async throws -> TOTPSetupDetails { + return .init(sharedSecret: "", username: "") + } + + func verifyTOTPSetup(code: String, options: VerifyTOTPSetupRequest.Options?) async throws { + + } +} + +extension MockAuthenticationService { + struct User: AuthUser { + var username: String + var userId: String + } + + struct SignOutResult: AuthSignOutResult {} + + struct Session: AuthSession { + var isSignedIn: Bool + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Preview Content/Preview Assets.xcassets/Contents.json b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Utils/AuthCategoryConfigurationFactory.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Utils/AuthCategoryConfigurationFactory.swift new file mode 100644 index 0000000..ace021a --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostApp/Utils/AuthCategoryConfigurationFactory.swift @@ -0,0 +1,59 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Amplify +@testable import Authenticator +@_spi(InternalAmplifyConfiguration) +@testable import AWSCognitoAuthPlugin +import Foundation + +class AuthCategoryConfigurationFactory { + static var shared = AuthCategoryConfigurationFactory() + + private var usernameAttributes: [JSONValue] = [] + private var signupAttributes: [JSONValue] = [] + private var verificationMechanisms: [JSONValue] = [ + .string("EMAIL") + ] + + func createConfiguration() -> AuthCategoryConfiguration { + return AuthCategoryConfiguration(plugins: [ + "awsCognitoAuthPlugin": [ + "CognitoUserPool": [ + "Default": [ + "PoolId": "PoolId", + "AppClientId": "AppClientId", + "Region": "us-east-1" + ] + ], + "CredentialsProvider": [ + "CognitoIdentity": [ + "Default": [ + "PoolId": "PoolId", + "Region": "us-east-1" + ] + ] + ], + "Auth": [ + "Default": [ + "usernameAttributes": .array(usernameAttributes), + "signupAttributes": .array(signupAttributes), + "verificationMechanisms": .array(verificationMechanisms), + "passwordProtectionSettings": [ + "passwordPolicyMinLength": 8, + "passwordPolicyCharacters": [] + ] + ] + ] + ] + ]) + } + + func setUserAtributes(_ userAttributesArg: [UserAttribute]) { + usernameAttributes = userAttributesArg.map({ .string($0.rawValue) }) + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/AuthenticatorBaseTestCase.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/AuthenticatorBaseTestCase.swift new file mode 100644 index 0000000..69f2aa1 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/AuthenticatorBaseTestCase.swift @@ -0,0 +1,87 @@ +// +// File.swift +// AuthenticatorHostAppUITests +// +// Created by Singh, Harshdeep on 2023-09-21. +// + +import XCTest + +class AuthenticatorBaseTestCase: XCTestCase { + + override func setUpWithError() throws { + continueAfterFailure = false + } + + override func tearDownWithError() throws { + XCUIApplication().terminate() + } + + func assertSnapshot( + named name: String? = nil, + snapshotDirectory: String? = nil, + timeout: TimeInterval = 5, + file: StaticString = #file, + testName: String = #function, + line: UInt = #line + ) { + let result = Snapshotter.captureAndVerifySnapshot( + for: XCUIApplication().screenshot().image, + named: name, + snapshotDirectory: snapshotDirectory, + timeout: timeout, + file: file, + testName: testName, + line: line) + + // Add the attachments to the test case + result.attachments.forEach( { add($0) }) + + XCTAssertTrue( + result.didSucceed, + "Snapshot Assertion failed for test. Description:\n\n\(result.message ?? "No description")") + } + + func launchApp(with args: [ProcessArgument]) { + // Launch Application + let app = XCUIApplication() + + if let encodedData = try? JSONEncoder().encode(args), + let stringJSON = String(data: encodedData, encoding: .utf8) { + app.launchArguments = [ + UITestKeyKey, stringJSON, + ] + } else { + print("Unable to encode process args") + } + + app.launch() + } + + func launchAppAndLogin(with args: [ProcessArgument]) { + + // Launch Application + launchApp(with: args) + // Get app instance + let app = XCUIApplication() + + // Enter some username + app.textFields.firstMatch.tap() + app.textFields.firstMatch.typeText("username") + + // Enter some password + app.secureTextFields.firstMatch.tap() + app.secureTextFields.firstMatch.typeText("password") + + // Tap Sign in button + app.buttons["Sign In"].firstMatch.tap() + + // Wait for Sign In view to disappear + let expectation = expectation( + for: .init(format: "exists == false"), + evaluatedWith: app.staticTexts["Sign In"]) + let result = XCTWaiter.wait(for: [expectation], timeout: 5.0) + XCTAssertEqual(result, .completed) + } + +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/AuthenticatorUITestUtils.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/AuthenticatorUITestUtils.swift new file mode 100644 index 0000000..4be4fca --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/AuthenticatorUITestUtils.swift @@ -0,0 +1,36 @@ +// +// ProcessArgument.swift +// AuthenticatorHostApp +// +// Created by Singh, Harshdeep on 2023-09-22. +// + +import Foundation +@testable import Authenticator + +let UITestKeyKey = "-uiTestArgsData" + +enum ProcessArgument: Codable { + case hidesSignUpButton(Bool) + case initialStep(AuthenticatorInitialStep) + case authSignInStep(AuthUITestSignInStep) + case userAttributes([UserAttribute]) +} + +enum UserAttribute: String, Codable { + case username = "USERNAME" + case email = "EMAIL" + case phoneNumber = "PHONE_NUMBER" +} + +public enum AuthUITestSignInStep: Codable { + case confirmSignInWithSMSMFACode + case confirmSignInWithCustomChallenge + case confirmSignInWithNewPassword + case confirmSignInWithTOTPCode + case continueSignInWithTOTPSetup + case continueSignInWithMFASelection + case resetPassword + case confirmSignUp + case done +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/CleanCounterBetweenTestCases.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/CleanCounterBetweenTestCases.swift new file mode 100644 index 0000000..9bf7fdb --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/CleanCounterBetweenTestCases.swift @@ -0,0 +1,33 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest + +let counterQueue = DispatchQueue(label: "com.amplify.authenticator.counter") +var counterMap: [URL: Int] = [:] + +// We need to clean counter between tests executions in order to support test-iterations. +class CleanCounterBetweenTestCases: NSObject, XCTestObservation { + private static var registered = false + private static var registerQueue = DispatchQueue( + label: "com.amplify.authenticator.testObserver") + + static func registerIfNeeded() { + registerQueue.sync { + if !registered { + registered = true + XCTestObservationCenter.shared.addTestObserver(CleanCounterBetweenTestCases()) + } + } + } + + func testCaseDidFinish(_ testCase: XCTestCase) { + counterQueue.sync { + counterMap = [:] + } + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/ImageDiff.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/ImageDiff.swift new file mode 100644 index 0000000..120cccb --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/ImageDiff.swift @@ -0,0 +1,93 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import UIKit + +enum ImageDiffError: Error { + case unableToGetCGImageFromData + case unableToGetColorSpaceFromCGImage + case imagesHasDifferentSizes + case unableToInitializeContext +} + +struct ImageDiff { + + static func compare(_ old: UIImage, _ new: UIImage) throws -> Bool { + return try compare(tolerance: 0.1, expected: old, observed: new) + } + + /// Value in range 0...100 % + typealias Percentage = Float + private static func compare(tolerance: Percentage, expected: UIImage, observed: UIImage) throws -> Bool { + guard let expectedCGImage = expected.cgImage, let observedCGImage = observed.cgImage else { + throw ImageDiffError.unableToGetCGImageFromData + } + guard let expectedColorSpace = expectedCGImage.colorSpace, let observedColorSpace = observedCGImage.colorSpace else { + throw ImageDiffError.unableToGetColorSpaceFromCGImage + } + if expectedCGImage.width != observedCGImage.width || expectedCGImage.height != observedCGImage.height { + throw ImageDiffError.imagesHasDifferentSizes + } + let imageSize = CGSize(width: expectedCGImage.width, height: expectedCGImage.height) + let numberOfPixels = Int(imageSize.width * imageSize.height) + + // Checking that our `UInt32` buffer has same number of bytes as image has. + let bytesPerRow = min(expectedCGImage.bytesPerRow, observedCGImage.bytesPerRow) + assert(MemoryLayout.stride == bytesPerRow / Int(imageSize.width)) + + let expectedPixels = UnsafeMutablePointer.allocate(capacity: numberOfPixels) + let observedPixels = UnsafeMutablePointer.allocate(capacity: numberOfPixels) + + let expectedPixelsRaw = UnsafeMutableRawPointer(expectedPixels) + let observedPixelsRaw = UnsafeMutableRawPointer(observedPixels) + + let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.premultipliedLast.rawValue) + guard let expectedContext = CGContext(data: expectedPixelsRaw, width: Int(imageSize.width), height: Int(imageSize.height), + bitsPerComponent: expectedCGImage.bitsPerComponent, bytesPerRow: bytesPerRow, + space: expectedColorSpace, bitmapInfo: bitmapInfo.rawValue) else { + expectedPixels.deallocate() + observedPixels.deallocate() + throw ImageDiffError.unableToInitializeContext + } + guard let observedContext = CGContext(data: observedPixelsRaw, width: Int(imageSize.width), height: Int(imageSize.height), + bitsPerComponent: observedCGImage.bitsPerComponent, bytesPerRow: bytesPerRow, + space: observedColorSpace, bitmapInfo: bitmapInfo.rawValue) else { + expectedPixels.deallocate() + observedPixels.deallocate() + throw ImageDiffError.unableToInitializeContext + } + + expectedContext.draw(expectedCGImage, in: CGRect(origin: .zero, size: imageSize)) + observedContext.draw(observedCGImage, in: CGRect(origin: .zero, size: imageSize)) + + let expectedBuffer = UnsafeBufferPointer(start: expectedPixels, count: numberOfPixels) + let observedBuffer = UnsafeBufferPointer(start: observedPixels, count: numberOfPixels) + + var isEqual = true + if tolerance == 0 { + isEqual = expectedBuffer.elementsEqual(observedBuffer) + } else { + // Go through each pixel in turn and see if it is different + var numDiffPixels = 0 + for pixel in 0 ..< numberOfPixels where expectedBuffer[pixel] != observedBuffer[pixel] { + // If this pixel is different, increment the pixel diff count and see if we have hit our limit. + numDiffPixels += 1 + let percentage = 100 * Float(numDiffPixels) / Float(numberOfPixels) + if percentage > tolerance { + isEqual = false + break + } + } + } + + expectedPixels.deallocate() + observedPixels.deallocate() + + return isEqual + } + +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/Snapshotter.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/Snapshotter.swift new file mode 100644 index 0000000..e68ccb0 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/Snapshotter.swift @@ -0,0 +1,120 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import UIKit +import XCTest + +struct Snapshotter { + + public static func captureAndVerifySnapshot( + for newImage: UIImage, + named name: String? = nil, + snapshotDirectory: String? = nil, + timeout: TimeInterval = 5, + file: StaticString = #file, + testName: String = #function, + line: UInt = #line + ) -> (didSucceed: Bool, message: String?, attachments: [XCTAttachment]) { + + do { + let (snapshotDirectoryUrl, snapshotFileUrl) = getSnapshotUrl( + named: name, + snapshotDirectory: snapshotDirectory, + file: file, + testName: testName + ) + let fileManager = FileManager.default + try fileManager.createDirectory(at: snapshotDirectoryUrl, withIntermediateDirectories: true) + + guard fileManager.fileExists(atPath: snapshotFileUrl.path) else { + try newImage.pngData()?.write(to: snapshotFileUrl) + + print("File written at \(snapshotFileUrl.absoluteString)") + return (didSucceed: false, message: "Re-run test, image saved to directory", attachments: []) + } + + print("Reference file already exists, asserting..") + + guard let fileData = fileManager.contents(atPath: snapshotFileUrl.path), + let oldImage = UIImage(data: fileData) else { + return (didSucceed: false, message: "Unable to get already existing file in data format", attachments: []) + } + + var attachments: [XCTAttachment] = [] + var message: String? = nil + var didSucceed: Bool = false + + do { + didSucceed = try ImageDiff.compare(oldImage, newImage) + } catch { + message = error.localizedDescription + } + + if !didSucceed { + message = "Images did not match. Please review test reference and failure images" + + let oldAttachment = XCTAttachment(image: oldImage) + oldAttachment.name = "Reference Image" + attachments.append(oldAttachment) + + let newAttachment = XCTAttachment(image: newImage) + newAttachment.name = "Failure Image" + attachments.append(newAttachment) + } + + return (didSucceed: didSucceed, message: message, attachments: attachments) + } catch { + return (didSucceed: false, message: error.localizedDescription, attachments: []) + } + } + + + // MARK: - Private + + private static func getSnapshotUrl( + named name: String? = nil, + snapshotDirectory: String? = nil, + file: StaticString = #file, + testName: String = #function + ) -> (URL, URL) { + let fileUrl = URL(fileURLWithPath: "\(file)", isDirectory: false) + let fileName = fileUrl.deletingPathExtension().lastPathComponent + + let snapshotDirectoryUrl = + snapshotDirectory.map { URL(fileURLWithPath: $0, isDirectory: true) } + ?? fileUrl + .deletingLastPathComponent() + .appendingPathComponent("__Snapshots__") + .appendingPathComponent(fileName) + + let identifier: String + if let name = name { + identifier = sanitizePathComponent(name) + } else { + let counter = counterQueue.sync { () -> Int in + let key = snapshotDirectoryUrl.appendingPathComponent(testName) + counterMap[key, default: 0] += 1 + return counterMap[key]! + } + identifier = String(counter) + } + + let testName = sanitizePathComponent(testName) + let snapshotFileUrl = + snapshotDirectoryUrl + .appendingPathComponent("\(testName).\(identifier)") + .appendingPathExtension("png") + return (snapshotDirectoryUrl, snapshotFileUrl) + } + + private static func sanitizePathComponent(_ string: String) -> String { + return string + .replacingOccurrences(of: "\\W+", with: "-", options: .regularExpression) + .replacingOccurrences(of: "^-|-$", with: "", options: .regularExpression) + } + +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ConfirmSignInWithTOTPCodeViewTests.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ConfirmSignInWithTOTPCodeViewTests.swift new file mode 100644 index 0000000..fe4470e --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ConfirmSignInWithTOTPCodeViewTests.swift @@ -0,0 +1,20 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest + +final class ConfirmSignInWithTOTPCodeViewTests: AuthenticatorBaseTestCase { + + func testConfirmSignInWithTOTPCodeView() throws { + launchAppAndLogin(with: [ + .hidesSignUpButton(false), + .initialStep(.signIn), + .authSignInStep(.confirmSignInWithTOTPCode) + ]) + assertSnapshot() + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ContinueSignInWithMFASelectionViewTests.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ContinueSignInWithMFASelectionViewTests.swift new file mode 100644 index 0000000..288d40b --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ContinueSignInWithMFASelectionViewTests.swift @@ -0,0 +1,20 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest + +final class ContinueSignInWithMFASelectionViewTests: AuthenticatorBaseTestCase { + + func testContinueSignInWithMFASelectionView() throws { + launchAppAndLogin(with: [ + .hidesSignUpButton(false), + .initialStep(.signIn), + .authSignInStep(.continueSignInWithMFASelection) + ]) + assertSnapshot() + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ContinueSignInWithTOTPSetupViewTests.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ContinueSignInWithTOTPSetupViewTests.swift new file mode 100644 index 0000000..a6600eb --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ContinueSignInWithTOTPSetupViewTests.swift @@ -0,0 +1,20 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest + +final class ContinueSignInWithTOTPSetupViewTests: AuthenticatorBaseTestCase { + + func testContinueSignInWithTOTPSetupView() throws { + launchAppAndLogin(with: [ + .hidesSignUpButton(false), + .initialStep(.signIn), + .authSignInStep(.continueSignInWithTOTPSetup) + ]) + assertSnapshot() + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ResetPasswordViewTests.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ResetPasswordViewTests.swift new file mode 100644 index 0000000..1dc83fe --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/ResetPasswordViewTests.swift @@ -0,0 +1,20 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest + +final class ResetPasswordViewTests: AuthenticatorBaseTestCase { + + func testResetPasswordViewWithUsernameAsPhoneNumber() throws { + launchApp(with: [ + .hidesSignUpButton(false), + .initialStep(.resetPassword), + .userAttributes([ .phoneNumber ]) + ]) + assertSnapshot() + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/SignInViewTests.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/SignInViewTests.swift new file mode 100644 index 0000000..f6e329d --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/SignInViewTests.swift @@ -0,0 +1,29 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest + +final class SignInViewTests: AuthenticatorBaseTestCase { + + func testSignInViewWithWithUsernameAsPhoneNumber() throws { + launchApp(with: [ + .hidesSignUpButton(false), + .initialStep(.signIn), + .userAttributes([ .phoneNumber ]) + ]) + assertSnapshot() + } + + func testSignInViewWithoutSignUp() throws { + launchApp(with: [ + .hidesSignUpButton(true), + .initialStep(.signIn), + .userAttributes([ .phoneNumber ]) + ]) + assertSnapshot() + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/SignUpViewTests.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/SignUpViewTests.swift new file mode 100644 index 0000000..01b99d6 --- /dev/null +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/SignUpViewTests.swift @@ -0,0 +1,18 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest + +final class SignUpViewTests: AuthenticatorBaseTestCase { + + func testDefaultSignUpView() throws { + launchApp(with: [ + .initialStep(.signUp), + ]) + assertSnapshot() + } +} diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ConfirmSignInWithTOTPCodeViewTests/testConfirmSignInWithTOTPCodeView.1.png b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ConfirmSignInWithTOTPCodeViewTests/testConfirmSignInWithTOTPCodeView.1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba65d99a1d5419aaf47b5f6c8f3355c8f7398d3b GIT binary patch literal 103882 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 A# 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≪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 E0@v~e>i_@% literal 0 HcmV?d00001 diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ContinueSignInWithMFASelectionViewTests/testContinueSignInWithMFASelectionView.1.png b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ContinueSignInWithMFASelectionViewTests/testContinueSignInWithMFASelectionView.1.png new file mode 100644 index 0000000000000000000000000000000000000000..fb8ab03d36baf01082845844177c498e388d27fa GIT binary patch literal 110238 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 L&WY4x*Z%rHT2hP~ literal 0 HcmV?d00001 diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ContinueSignInWithTOTPSetupViewTests/testContinueSignInWithTOTPSetupView.1.png b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/ContinueSignInWithTOTPSetupViewTests/testContinueSignInWithTOTPSetupView.1.png new file mode 100644 index 0000000000000000000000000000000000000000..53f3fba69e7a16f551966fb8ec83dd15c880604f GIT binary patch literal 204476 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 literal 0 HcmV?d00001 diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/SignInViewTests/testSignInViewWithWithUsernameAsPhoneNumber.1.png b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/SignInViewTests/testSignInViewWithWithUsernameAsPhoneNumber.1.png new file mode 100644 index 0000000000000000000000000000000000000000..6696a760a0357a99dbe61305a7f852ffd84ede0c GIT binary patch literal 101308 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

uvPj*fez|O_@gjwD5A@#FO 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�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

X4EN;8>+7`Dx{(3>t@O&Y<=?Uf1 zZA)a`=s=y+M3| zJnOApkbvWu5fan$BeEvfbbkZ)?H-(A0eqR3`Y&JBxP-Eq48zO5h?56RCKdVhM-A!s zzpT}WkM(W#@+&(D&NJPGntD|QAob3cxc!r99%ZhVPdB+whldEnU|Ql14UX?IR(-ds z!pSFf-8&Bk6Ear9UPE7R!`@o+yoA9dNoui0Lu0tkKrgp07N5_HYM&?{Q6u4r69EIZr|CRY610qZYz8)DGUoB z75MezKrLl&)cMNt^aIzQBh84NRmh>aax}*-Zj+A53Zva-NZjIkEHWM{dgkR(gF{9m zufb<>a?}}9xisGbGfNoCk9jW10ekr2*+-`!K&^r=ai z7$VIJ;tQJ|#{(7CpSbv0+g?5w)2^)p_&_wpahYlHez|RGRKAMYx&9zV zW$i}&oh%=!b-Gye?iJodvjo-M%O%{xuf)Jl0_&!VZ;;Vw9MshoMbz(;?{KQmTrP{){P0zgK>Qcy|Ip~5!-tXb{37f@Q(J+ygjUTc%#zw#}07rlnUduCnky)?=V&XFAlY`k`wUEnbg9yVhW zkh&U3_Ev}vo)m`9R|gu8O9v-Vc^(s%HrHK=Ctf{AO)q=poGX!EQJ8O3@Wg_!R^eEw zTl)gs<*LijmjWt;Ik=YWo5-fyDRa$bLs39+_WoV8vRgnOVD4te-F1jrzTW}iJZ@fI zgQ;E-{*-yPQy_ROlUO{M2;V^9H0y@ERnI**FQixz6|On93();TPJ`btM%yz-9exYo z@Srbbeth5erF%2{hLu2<@D=Id3>#NZRkOv-rkSPY?%avZ!}gY8JJh8=c!#!txcoCh z@y}0;RD@^C+rqTZzkaj_z_#jc869ke-?575LT4rMXIhL*DOI>Sg)|OR6&E;paDFP1 z!tP*_r4JSej*Ss9KKKk@Y_!k(bn%UgEg^jSGJFsFDj-ZhIC%#wY%b0^16Z0Y55-qg zc`(>iyqPG8!Sm$B&Al-GkpKbljX32Kck<*hpGtHUe-tk8&;WX}%4IRG(d-DH9-PC~ zPvxV26PoKG+!%3po{S64GfBPnS6Po%n_-4c^nBd`#>TQ~leBsRy5a!%`3ILEQOH9{ zPs9$Rfc6&4=NeU2#m$)X*!#NfRIeL%;+tjAjGzw>4Ax%2_IXDaCnN+nzNvj-nKHJ9 zHq*Q9C+=Z$j^xujb3=czw%p&|D9g2q8@4;n2_!IH9ep0?p{v;IV|HFlgvs^ci+ou^>9@H}p`8-Sh z64C^;ya&vb@Jutu!}Fl4-J~92G>Oi&WaJp0je6L`B`%TY1`u@L4-p_^OCQX2()AXm zBs(;-Y<>N`b8@0kg`L|9jzCCX`lN~~@uD}qIUZ|}-afMtd8A>n_DACW+KmmEOL;eS zqJh>GAiK1zT_%^@7!=IH&QUN%s$)*Yi*Aw#?eWLUl1Dlg=7BC(K}jY#dnk{FbsT=< z4)lysw~t?RTB)<1?Mk5@cnoyL1e7{C%>(SqE-fIzgj^X&@B5?o@A*C7@4wG+JpVXy zc#rG4&V8Nd>pI`En1=z1*xrRkP# zvH50mtvpdipe1x_^`^7ZaXN@&kx6x_i&~20(hp6En*oO0!VkOA6vHQ_1O#q>s6x=Z z{k(l%^~x$sBr5OwNDp}}pQEsZYwqF;24boHl#GI=(dSsYj!eh%^N>5(Mp zkDcw_hVeu&?LP~UVe6AVl3)5`7^=~li>gwW^t-{YRx-g?$QMt^6nEm3(ISGcs=+dD z`56$Uj9s{|+e)=a%6|;kW2y@hgO$RM0}Ylw&sBX4nj3e0k{9DD`QY>RNUd>mKx08I z*pD2kZ6l`MkGsO!|5AOvnL4|~<$R!;v9osMdOo@Il5%Yy*tnm%07R-l90D|_`;g;# ziDd$<=unfkhsfVti3`|m$5$_F$1cV8_U(@diWF~T5c(5P80?RZ>Ic#hd~(o*!HStK zq}Ep&(xyZJYRJR)@*^wonh$K-$dLInXRox_wK~SZexRd^DORE4)J4?l6E{ye3yL3L zGH@7(9_m*wdq@k6lys^~tTDyC{ZX$5z`(X93i4|YLh9JxiIfS68E<}46<=#A@BtI0 zb77Aj#y-HbvtehDijr1IzFnFB5b~77eoQjXYm%?fL2r4|$?U!PlSKr2o9J`F$ni_) z_zwQlXHQDA7m4f%&RCVz$CK7D?6b+1);Ya;j3+7j@$&Tg68m+4wps~SAto`>0Ncsv zHL;EBj2!DrW&m#OK!!JI_HGenqPFP$iyg|xLtd<0r)3Gw=H7I1vL~aee%lLPpjOS( z1!R7`uaK%5m87F+o{-MuN9UDz`eIqBx=x|%?rBYAcen9uuXyxPT~>iVuJv+O%~9T$pZ}|F5WZ-MIY;cKl)&X6J{;PbLAA z82=L%v5-;02LM!a*R7Z40=b6;VC)WZ@F}HtwV_u@Rf@p$A6XtupB6@?b17J7DGbN` ztToZ5h)&=#e!Cf1L|g!cD_4G_O}9I{xwK#|=L(}9#rlR_)%&V)-z4zkD}H)Wk*1Ro zl!X zAtfhdrg2GjHH!q^L)_AubO+j1yrdfzW!;qpGBtTFTl#e*2?J&rStE}&E(DQ0AIe#5 zdKM0_DMp0cCTk*qk-ym6SuI)#M=@IKU|m(bIzIw&VZ8}m<)@?M)CBXdI!mr~keUkv zsp=%qx32v_TDZXps;(SjlkN40rT67!E?iFdBI79Z%=dn7wTq22n`rn#{tiHTK1hq{ zr0OM0aJ31__tB3XJnst=-?&zquc+(TNwa!-u12o$o#*AOP@$;?T)@{TDX!(0mOheS z#`6@55{u97!>t>yd}F6!!(tPsZv5pe!UoIyc@=^`GVbxo^Ku1iBg{a+q)g^DBekU` zAVB$HSQ68RPtRtkdPr1U`=h(dBb0ppfg-Yi^71|&A_LtV1;{msA4*I$Y!9W2NdvVc z@+R{&ZSP{h#3bPUbK~2`T+@BMxd4lO?0e#wmalgI*NN9<+u_m?(3s*lP!ng4(LUbX2DIW{sczX0@;5&26EAj@P>MorvC51p8-`{Lb zy4f6Y^IN6kx3~%ebkD3_p|OL*0@wj*gnnwQ?J%|X6A6Q9@H=A&x~sVS_2zC^K5Do? zXUbOt<2|>YVuW)zEot-wu2{9OlYW6!HboLL9GTx@bluj-{n@3dyko@4`Obn6FP6BU zvtJjC(BYiraT=*n#d$+IbD<}p%B*Q~@vo+%6UPY!O1<4r+{>xTuX|Y~E*Z1IoYp!9 zX6#kVCne9A#kz}%oGY39Vo!e_Ml~w|RSG|Mys=WCS*i3D%)rqqLpZ`#>pU7-wpxzP z^Z0ZP+?u_l9=l@Z=eb&fu_+8Vdn!4pE1~^`zvK#|u;8 zy=IHAM}2X8<9Yez(pC|!(Ndh@X);b8KL-gI-&b;Z^>)I*gym<*>SJZr1)gl%rxhj6 zIwCzYofTj!wM_R6NWgyDIhoa5EgjH6;jQ^f{lXip=W4R8USD#q5|NvbW%!13v9)~^ z7ag;LA583Jh(2}lB*dU7edgmwrdn>>IAwdZ7&EoAkwX1l+kW-WDO(j8^#StrcMTr3 zLb2HZDSEA#DJ!ETUm7uJ^gZkpxW-0R{VM9&deG}_r$*RQB0KWtc4Zt-hJwQUa4W8C z+Ow!VGbJ7@cWmopr>|#4>RdGS?(sRj{+l@gARS4L5!Md`??zV9Y;bMxkz=Q0IOU}U z!X!H-eTU_+EW|bG$oQBu77i&N4@z2dG8>MRuW zRm8-SUQs(EIp%WdWG+|OlMFsv4Ks8iW5tDIlP#aLw!9caQnq8p72l6ozs3TA9y^lW zWgYRtC}x{TaFij?IG)eMZb^r0$wg+*uMv$YTbQqTOk{T7As%UUQ{el2`2?+e8ppBG z95F?hap~una;-7a=`=#2G2wp3d^ZP-tuRv3UOzkn@x)OY$4l8e?3Zhy-=`*1&$V{; zse|!SXVN(}%<{L)byx)?0^Sk!k-1IXzC_CGem=FJomdj>8z0(5MvGk0tfH*+i9$x0 zE=R(2+K8U0$G!SbwvQq>Dug2Qp&y}|su>H0Yb!&05;&_#=#fn6Pbn}(x@(L$jVL2cVsyaB1_PPqcW}D+y zS9&<(S2(I8!)V~z#-gkdj?EE~dHOK@tISTRQcz<4vcFEs4ad3hV$-(Hq$o`%8PPXF zrA~a8;2r1dHPYSr7US}lyJ*;Dqe&9|^aA!WS9v^uLn{8ZwlIFg3sS$xXm-45)Nbd4 z)jsOb(zBgR%rJG1xN~*kWMC9uiQ{=BF9c&>9`l@qQjDj<;OeqyK@FckGtkb>iS%5xEQHDt0mLv)AB{n zBzN21D_AWunT8r@U}X$>ZChqC&x?TPvmbMe(RFk1%&=5(>h&PJQq6r-IBH)@>wdv` z<;6nGg<8~)9Ao&**`K_YIqWVDsPiu}(vE7~xET3<>TO>$UP_=OydjPbuXMALA@R}| zBK+~@{Bp(Txl{@nagF#3)Ad^td8f)s*g&OXQu5_?Eq9L`JrNBMTv_N&I}MYh%_|Sy zC{Mfw2A+>#zJVfnnw#J1mc04nbQadq<}N2-GmZi>b|mo4>7b;+i!yA=0c9Eq$G(gU zRTS3q!;5UokerGxHI}PG2JX~hSOqE_S%4hRj~sIn0MyLx)M=)g8)=f@5Kj}VDXUi! zKKImI<&*1zd69iL*if!h-R|Ui{k!(zF%V`!Zb^_S zw5Gn9d*{ozTk-(q@0ardFVCO*94v4qFDmIOTOU%ttWtSOW3Eo3#t=!Q&qi8^vp8J5 z>LcoqWHF8`MTW$bF@AJA541?1&&9H`d)->L-wbk}&D?)_pZ@OU2L*Hj0IF%@&nf+nl@ed%J$k}l3){31)lAmxEX6fbBPCWV}bIdsR0ocPbYSjhvgy8Z9KzX^6g zYX0(0z+}>GD|bo)w-(H%e*Cu)Kyf6F^r3jVqY#D>_* zpZV%I1a%vr$0D#G%-q?Pu_#^LA6Xg{r-7JVKKtQ6j6HfH{DP)|F!pD-vw~CRJGbLN z13L$?i_^i)dW^^K<;T)pVbd>G&7=KC$c`NQc8t<;)kW^~@z8{h2M6UxjCwV%JFdmn&(Ng;VT|wG=>!?wNk?8n>F{!|Y zaq6UP>Xo8R)xxjJa7x-M|6lU_zCV0W@%F??Mi}a>qj<-oc2k41r?d4m0I{wXNWXW8 zo;RqtixMn78&E&83pO->32nC#PI?cvRR6zHX#3n{p$-}ixYqyU02|ZDaXA(_W!yO1 zJGa@D8QyU1+**oPSg#0ewnKzfIK!R8Q#5nY^rJcnk=J@aEQ8Z@oR7r4>}(eUE!4Ox zi~yy#Up-av%T^tz_7y|<+pU*B@Kpi)?u34dz_zy-J67os-^`Qi$P4V zb)uYv$0y4R^;YbstuZUv(i)HuAyN#B*eujPa_XC#UbZBoJ zQVM4PJTu;wZTFvNR%tc4bwq?iiIfh3V!S<`zP_Ft1751H_YmV;Goj&@*wEt(#|z+q zbJJKK1sz(N5qH{^9EluF>!=}yZhD-NL29R?WRGW&7`x<7*UA)Q|9n7Bl-tpyc+g2Vyn zWXphyPjDjo*cVIvmv)CIz?YVn{UN(Q`=`~TJltJ$M#3>8hdHq(L?|n)*OS1eo?8in z-x>(v7QVf<_w8*?Te6rX@%5bu>sB*K8!hazsw9(uadnktZ&zDNHXO4Pe9hcPEQV6& z(V;OuF->c^Yd_b1t^H0rOZ&Zct@c;#p3>0ilHigvZyB2Ge`=Av^H_Ki`LJ*tCImK3F~?2oWoWawd97 zF^43M{NUf~%Ra65=4q0us67J=^ky6z3J70b>g~!E=aKi-0Zt=v!w?p9pX2l_sIL=a zJL*N$klh>z+%$|j$lp&E(-1j?qD7TUJAYjzTle*{Ni4{b~TlxDh>Dp z<3s!*M=9ZqfTiJA+x(BX9Q-;8SkU9sHws?;M?uKHG|K@=wtdp1^dCtk|2i!Xv{{ws z(o#4?SF$_J0JQ%<;nUwk$R7dJ`-o&1@3mhJ{qG^@`GE+?=-txa@!9X?9RqCPsSf4G z=l@)8nk`_1J3qz1{(k&dctHF72ub3(Mn?GGqy4_DKt&6SV9fFT*9?yUhTy3C1>FaK zE{NL*(4z8N6W9No;fX8q(&y6N=3P5v&VX^`JAnmd1oN=}Im0VtFL4C^fZ<;Y`d^a& zFUkK`%Kuc`|1~WCLkx?*--*gaybSnL=Gx-QjPR-*3;&@gEo}j?_)hgyNB%N2{}xUh z37Dc-Tip2RGO24wd)PP@2+;aU`&&#V%Wcj*8vL?^gM!lHkpYX_(>8*eOY3z$6Om9k z39I!KKi$Pkv-&cCAzj@HVm=h#{govDljOPdw!Pmm*>4Q7xb-u>?%705q_Nw}tTZve zWuWeIbwBvW+6S&N*miq5zF67!Y!9Z<@G9_=N{tie0nYDSc-?TwKA%=jLyRNOeA6HC zwRtF`2r}jZZh^}f9}eAI0&5z^(=ppHR`#epj6^xga$**nBj>YOA=jPIJ8akAoeI~l z5@9)Q26#n(_O4_9%;M;Y3ly`AFf;!NTMJ{efJ|rA{cN-97WJ?D%e(9&NQd>g#pV6e zUjSD%4tf{y9}SV`KQVZlt#G^zF11cG!ZyzNBWba!gppO{Iwd{ezF(oblcZ2qjMUAkcUt6+EeU z)@=Yn`dzDb{Zsp}B=}PsQ)n~}G8M41SpP&EWp0=2<*;1&@pj+-j??1yJL6LSHWz)7 zZu_>32|l^y3ijE%X2eg6`~4#U`vpm>Wx=3ePe-12zY|ep%>WWIPORiT$M?qcA!6di zh3|lb)oo^`)O`Ju+8@PcMhx6JMZ@mO6g7OoBtCOj6rQW<5 zrr}BQ+>2)D9JMVw1AOD5#B?9qwmQYryV0XxS0el&46Efk`8z{IRvb;1z{)7BAZ8~# z=@ppGr+%p9)H$}j?)vI}kbF1$_Iw}Y69W9quN5&~w}VOb{q8Kc$e(r@vgO`FQC!ow zK{K+f1s$#5`obhozg8LcHZ>XTlEC)02;rl(Lo>Ylrml4e&zmq~65hpKh-e8F*mHB| z^N1>rs8mf1Yxf&hS|dycC0fS!g>?@f^S-s38t|jr&gl`&gqIt+_TK6A*%%yM<$NL4mYsnl|bp0=~y;8Sx;=Ifvdl+(*0 z0)+^oSq}m#W}0%hL!#c9nl4Q&4s^u~fNRFFsDeV-%39zYa*6^VX1G|u@==IU+V6LTM{w$%eHWq`AG2M*H@nzkB>8bW->@AG?eF55VAN3n{md_^nkb}OeH*Ax2S2g* zbzFEpY`TUx2%6aV`Myum^za5jzKSe!xoW8sIq)eaXn$1Coi1m;zEGfdK-HFBFyD5u zc)HK^`rTb;yv^M5$jT{w%+Y>e%JZ?`>v|e$JkW{#U2@ZPNtRjx+tuPrHjY{1L%I*3 zbCx*^tncx_iG7&=+MLH`Fn}VWNb&VZ@l&Ov{2)m;1o{Bi6Im@SCvHp#nCB8a9h>S` z_~K`Jj-ch;?@fiGMYYy6HUrIFumXgfX22fN!7|?;B&2_v*efQ1Ymr!N6b(AFt_eka zI9{vJygxRcDjdLGyP?XXPoGrBE=Rh}k{VNpx%)N$k&MkqZ;+4hkLlvfP#Vxq!{Q)< zPrIi1he6K*RL<5Rn=Xlf=%4wlWLhdmHyz{Vlkd^Bq-5$na870JsoT||40q~fv|v>a zSZj*k;mJ05K1jT=P;0JVx7M?$EVG-PIvWb9tVDzr7ilQZ;CtbskgbT1__K-@vLi`-3{Z1S=tpDT5fWnw3L# z;WJCVG#%`MQ1~mAl*w#?Gq@Z~aBnkomoM4*d@#bGZnN?C3xjf0eV=M=O4c-+=mp5iE- zXxc+~N0`q-+f--Iu=Nnpb7ElE5hr^|Y=+2}-E&iQt;qIATck(M;-cbSK&;@Lyum7U zve==(NtH`_D`-fBT4D$#VqSRHZJiKfx9;c!2eX2@BC+vi+hx~maP3-rzsXwk_AkQs ztT)7uslE%jIWi?b!Q`?Z-PAe?&W;TV0``_vONr?iF`ApQ`Mm>SYXU1$zRtmPEo0Y|DJYbbwT z41C08OxSEY9TCQvA!=uEjOvg@d@gTA4n81vkVFZF-EO)t!l;G#kLkVlDIdTVczj)62@X2r0cps9@EP3KrRb)zU)DgxMYM z7Sp_w&@epgi zSTcnk&hp%2$}^Vs=vIxhBSa5k{2r@7iE=IvA2s!s1rYsg3k2?CW^<4u=p{}WW__A% zEsGTm^r|9Ew}?1;IjJ3@`h(r{S>f2&2P!FH)3?c%TIl3XbD6FIhrL}`t%r}z#G`DL z-tQKAa#>)PXEVlJ>DVBG0g&U`UG5@m z4(*;>)thT=?MS}aEVJw;uL!AH7Bi*wg3A$G9Svq;v0C2iVEb%W$a0)dLy1&ep&bgm z)%&5c*+)A@09EO1XYo0Qvv>ukP*1Ee{Z=5aLry1KqsnvaOMR_M&;q3X1;3ob0tiaO zj3F95C>wK~Iyw3@DMT~aKZAFN)+0H9w0*8-0i~JOhr!(`dg(PMw*gf2QgSE+$ zw!4GP0B>x{R359zE+eFi<`q-sKfXa2ZE5QZN>Q?k>*K*Sl@pDJsq>)o zg9~*@vizrv@2gL*nGY|iH;i-e)eyQ83&Myalf|miYmzVG4~3&A_%%_UMa!wEbB?gx zZo>-d>&OLF_*9XSOts-xxSniJLkqL^-h7|`#wxq%cIF&dXBxuv5GaoB_?|EKRR)tbCiJ5w zyVz-D#R$~*m_773d)_Sraqt?i3G_a-bL)hFW3H$?0hPT!YA5Wz|5S!%fRK@}w_ReE zLOS~Jx`0Zn*N~5#wb(ikstw^v%mLLCEdQGK!v&+uZyiD5JCZO@pRg$RyXW;<;R*2V!piLlEu z9xaYzC9)(M>zuZ_H8II@Xg%V`+Y%69;1uy;h`@|{SjTYTs2T5egVFWWeccnzPn z+4|NyRWe)O6T5quT&myC3up#-6dS*=T^oo-t&-3FqS=&@kE$30tfE*-GXU6lEvu+{F*| z#e4CEHx=xpabRL4n$!L`OqTRIVYx6@94^g3_~A6pl}Mp>5qD{DP1aQGmX8C-f5FLv zk2$%0gPxDU?OS}kjs8xHe!zEz!uZxk%ia#gjbbX{n^zUfoiu7u{c|IZg?n3}!qj(8ul;ztJmqYdPy0L?WVq=DT?(H&#XZrjE zv6kAMSu1@kxJ72vYayhSC{s8;gBuR_HYsz8;ml~aS&9=ETz$a3d+&+9`(nCNJXFWw z^Awu{!e)xUl)@g^a|c)E#e|(=lUZ!BM?93)82zuP1=T3UY(H+vC~51;u3XD$<%Cv~ z4AvEKWk4INIG?-KTqM(tnUcYUNrM>vZnd2sIZ|q^y|glKzsa`oZqaj;)q*ctKhnZQ zRy7WGIHf$<8d(~B2}}BhDm97&m!ub zja(EEfROS_e9bc7+-BLE5R8Yc)h=eHR!}+AK88iR#kU~2Q3lj`iYyu7HO-#gHQVKg zTzC}(f5Q3pdNz1q6}tb^3H_e)0kYD$4E;KR&GX3=d24~rYV=$HRbVERXkieUO&@`s z*T!`r`IZhDo&LRDH}h>wstajhn5gd@hc?=G$$1BKJImB#?ycsCx-^IA)OUBLHXB%V za@uQ1OzU;)pZeV9rDR>++>2pJuJ!c&`SU#CQxiyDpMFkHw``K1XjmAkh`HtL8Y*yM z?O1voEGiz5kG`cx`{NF%l*-lG&8Y2KD||e#6Z0sc6mw8uSD7!)m_ZyLf}jP_XN1%L zDjGE*oL83<=Qf|at78gekdWdXV!^O0Yz_+4?|h84tlZ~H0JC3WpC?4#MUi(Ih*=aC z{~fL;4>+FqKOGMsEQ_*{&-{0HI#pTT)}G-I&&~;Hmmz}srZ}FKBu}ft^;oxqvMxus zu>`EY)Txy$nl@b!poQ;!VQOQc#4$8W?n>3X6IasL9Fhw3GJfrsACat6ilk&Wl*WY% zTMPaaV1^-{ThC^>20xKmZ2~>_oL{~9r!xWSlKp-)7kkm{6)cf0E2(>}4dDj78Be5f zLf-z-L@HMP8P0dIJKfm9->+Rkt zW$5ax8JNjd@5cpnmnw^^v>tNHE_1Y4qx}QV76&uQ_N{gwsnU&r{Wre4hJ1(UYU9+VEStWP0U)p1~JfalxrL##;|LF@X zI-;J#@6Xj(p+Kf|-bQYpb@3GLh(%a2T74=39sF(vRX6v!;JJoj`;z8Z=NHS~seaPv zsa)v^(ONp;$ZVjX!`{C0eD{_Svpo+vaF>~qgKY>cm zCQ$TRcFm$c&$cS0#YCuhJQRQLuzu~eu8^x(9R#I`L%|&R%F_8OY*XV8dHyv+vWmVW%JTlJ==B#2SP;9C z%Ari`L0Jx{VqJD$*Yf(;f_#CZ*QSK_Z{X42Lmas8G&HQ~Uq!DU0CuSj`$qdv%8)$6 z7eL|g6v6K?+rJjX4lGDED(1z1m`(omKbhn`Vr=YkvbE5CKg9 z+I^K*fJcN!l1H9Lkw=Y3o5z61l;Rk)-;#C@;l>2v7w>5J$~=u7DB>W>F<{uIOq#Shmvy*>uNvM~f5N{#8*3y4pc!W`}8HiIJV4wQWNijP8S-by4272Z5SDhjO7%6c_ zqIgHyq#(5eQ~G~9tiyKY#pyc{lK;2qVdlh`r>ElGLnzdp{*cQ+4_flL>LmW6HDF)> ztZ}P@Djso`Dsk|TKL(u4!W96=rJXcpY_LFmlMT9BEZhMkR)YU8?~|(OyEvT3&hU2yMk#~5j@{yr`2^I&`4ANQ1pePAI;l;2e!b4{Ah5TW~nN!<4V+(bxe<#_>j zWqHSwe_XT8{{_s9BT6`4{^LqsJP@U1?VSa1wO7Rc1jv*>zJl**oOV@(UKWe`!?gCO z0z+vBgaAlR+N3`npAj!D*xqubDqHFt%b!krmV*qkl_P^}U$y?J>--D{a9w;CYiQ)3 z9&q)-6}I@E)X{tKC%#z!;ROTZe&I#IGf|%#{}c!BGqf<(*>;z7)ngXIe+se@4-w1AkYrn)F zS2P6yFRi?L>3<5FV(BIPcQ)1*q~=Ek%BFY?)p`Fm?RS1*xZBdVd5)2V>I&%l_mB6R z;~@R@!ZvMLg6-(vB&IDU3t1f>op*Z*hELBua?*Kqwt}PjJ(_7S+6G0;C5 zbTd`D@h9zl2{? ziYx~pBTf;3HX2rdpmv-D<|;P*H1QYm>x09=+d9c)xWUHN_46bkM;%!JDV1+A{?e^0 z=Hz$4^*P-)NgMd;XEi2<&|XRR>Gxn6zqR@5`64g43Gl-ZWQCxd*6Xk7G16@^4UOSY zM;2tAd!y^7qpr#$HiCLwI669dT`4Lr<(?*dnO|R+CsNo-A(gn0KAGwCB{T^D5$cKnrI z%Z#kr9T>MHqw|Cy!!S_8yuanQQ)GlzyAF@ zl}d>6+~B4XjIC^_>p|nmx}TrUp>a6GkfR;(!TEy9o&HatLp9*5z*G!2t7Yr@{{ zsnYqg9(0Kvg0j22$C01laK2vkrpLr3p6a4hWJc6~Mx6xOf?^W}i>4?cWFAR+hdGoC(8!=R|A{>NxCpD@ksH9sKW;-f0fV9k& z8o_mFJRP{Cw&_L-2i>-^=+0@K`NXUF)w>j`a&;1slG01Pyk;BT#if-$tao3kddRHP zPPA2^=nO~uv=H%f?}$JNP2F}}LYr&7ZXno99Q`t%AA@oBm3FFF2%==acv0jf@X2jk zeW6oivv4G^hB78$a7py(ibN-He5R-~c3R?{OqDyA2>p03WQAmKzlnLx6%{RnxK22J z%9Mq;W^ZBYjU8ZSdBlsz_uLtaKoi`AI3Gpcu5nOMdafJAQcDQ7%w44m@&EeDsmeNz z5w@%yxggZKQfhKD*t(zuqH#AmB%x$JYji#9LdLS_@Vn^0dR?HWB8rJ^oza6wqYK2h zGFG0HCk<61dqI=Jy_HD7UeiFi)+PQwJK_nX&WxHDS-+hPU1yw<|G&u z<$D%=_#RhOK7Z|oI{LQrf>A(=;ebRUUc}~eh-?MOrkwJsWL62gkb8>DJYzHP>F zy{h+v@EE+K65pn6yVja&S4R!c8AH(gIb@=RXjh*3om;o^EEHH7#P0C&76~)q3kpOK zg`mgrH@HvEWfll!vN8`DR?~CvQDxI;m4EVx60?aHq0_EdROITpjINcvIee^o5yd+a z+*=oA3dFjG0rZZEKnQnE!^dL`18g@t;J1c$f zM~qKm_Br`g?U%QZqIzzXO1+7%s80@u59Xo6Df>u;P)d}*uC9qYlMeiC$OitiRWM&! zT)1wW#DcV_QPR)KG2NS6+E{$$ITg)LirPEF3BC8<@WsWpItC_cp3|CNchpsm%<`(2 zx&gU+ha_R9n_dmFZol547xR`N&>h{?QGMLLZZ3yi=fT2gQhbecKS=v~%}_EbtEmT4 zZTe78c7?H9bum6MFz{p98!kC z=+(|;ZnqI<-8wYQQ~bvV3%jK`8a-J2_KAF$yIa++KJW>~yFZOuRe!l9+SBAC2iozm zXF&I)#jqclr(UytVbNqY^Tx)6(;;!8Nw2ZY>t#x#i5*X%O`Qejd$eoziHYbcG1_7Kn$htzh{8E4y#0fNlD|QK@u`X1sArhv(PuZC zb_qAcx{`Q#GSI8HySD}!^!k%r1Sfjib%|(&c|ZUf+N)kx+g!3`*tLybIv%*CFPHh? zy!PHlSL0Ul891`r2;$bXwr}nW?Hqsb2=Kw#+7@f|S=X%>%^!C*v$&CXvy#qME5#`f zqz!n^pWCzj!6nH!rE6*aJ@PJpFPG$nya`N>-B;8T3XB1!x>&r zOz*Vvt8`NzuNBwJu~yXQ;b)u5V_pzS&%dgSF`wk?t+M0NyFcDy)VO2!NOg1dV@!Th z;J{v2(0bTK=E3p0x#6>SjC2u&N1Rc`4`&44T54^9KHzvITO7m+cE1P+-@3)kw=C4W zWYkan7sUdqAQusvZ~U26ja_lw;|vf2iO!oXGSQY@MM1#q|77Px0qk6SPngv`A5uTt zq;;|;F0MMgAS+z!MztM@68RmMRU5}9GbveD|>O)WDSX^D+xb! zkDY&3=`@Fe=)oZUxEKZ$VbyLw=<9B{fpaK~cC3_~L3#d3uL0jOYWTAAr zPA4=KQ(l)r*Cp4_y$G6>@H080AqBm_biXzktKI%7hEetj(i zqbM);ut8vPn6a5fLD05dR}}AerTN^Xo;Jc^!#LJ1pY1Peo|Y3N2@iI2&R@)2rR5f` znBW686d5*WND?!KvZio)qxm=48Z#@yqJo&`Z~PaKQa>3myN?_<6K70=E*n#?OZYU$ zA(SUxJNmEf%%m71*m-KxAEFqVjE2!XkZ0}Qz3=K#PuFIv`NX!(bMd->cFKw+kDh5S zs6SR9^}I+)ygHKkV|iN~%BPCcowD5c)lj-OYILI#T`Uf_)Eaz-zuVJ4Qa#Vr_v6WW zYE1v_pGT)IQ!k$E16a1?x*m8_>K(eRtS23R%r~0diJ+vl04XCv)nwvt`uRiL#Q{)`1lP6VCsnj(B7oH`|Ja1iMV`|{tF!E$ zL3L72_Y-i^GduP`m1|Kz$8;$48niqL+|x!1!UXAQNVkD{7fJ&I?+*2c&<#2{n%QQI zwsv(7}3EZ-ZU85tU=a4Uw3!xL1W0F2DM-N$$z|TITH->Gg0+= zlH^5EV|T&To>^q?&ril8=)sEGqaxW99Q!u|hTegds>zTx|G zy3;WhmX`TOHZCL?O{vSf1lcVAa-g=%#nmo^@QGGv5WBEp5fFGgQpJ zIAT@=)rxTFg-rC+=>ZlQy)%OYCcaXLXSEe`=YW&Dm@%OPqMjz^a{ zG_dbcs)tP?3Loyp6v%`cvF{e}|Li$0X6WQROZQ_>DhCpV%^BGg{H0nI^kl|SeI=_F zXdKDpI8X8`qw5^f5rrhfr&G2XZq`k5*RIL$&dbN zVw`mjp;_Xszyra@z5LQM2~Rrh9io`tX4J>NtN4+odK}+e>9n4$_Fx>TqT}|=fdvHO z+U3=qy)hMH;|-vYSgG~=%0sL4Jj@^^kD&pLUFGOnpXGuT3?Ft^kHJNkrP0z^&bfdS zJk+2d?ctO98-Zd^-d^S3Zw@MUkX{qG8rAsv^|Oqb^8E4nHw(8VeNnv;DQ1YocScS|uJWuT^b8>kSF35uh`1}aA(bCT0 zh?!*r5zJ^D6%qp(xVL5QW~wlgY;SyO-LA38zcPg=N*_+deL>FyfFu4U)j?qYqFu4t zgUj5VCjLnD2(7B{)k(dw7XG3y%OaUoIdd;|T{}63OOsJq|3B*=?VejSEUTTk$?4A7fXBewUy}!~4-*sSA_n4&~#|@0b&aqlc-B zt`uTBI@myHG!Sm0Ty2a!5NVO z8+5~Ab16VUR0=^`e5`_IdhZ)j%aDW~4a4PpIM0+l*-!8X@&J|IYj@Nnw+Guq=$h6T zu|zI#3vOn5m>1y4;9rP(dxqUsKJB;5d#kp9=*v%sjzD+>&&ER_ zg52vMK{lV`A;f56xf`6nY@&~C?wc-{(3N|gYar!)Gu43K8f+_L^y2u}F(e^_lm2Dw zt%Zp?y^4GRF$yu`7|AxUM()LT_f{lag@wJ99H8F`rXNadY6tGsjxd`#fwZ;}l+Lr3 zbGvh$^d;+=XGs0?ygN+40$d|X@~#dils?A{>(vE&cT!|{K}>b91J{T1PHwr|7q?#U z*lCq1Gveasie0QEpygb;c&+!MSfv&eMW4L<%c~DvEHo}0>h6sICQj;S-BHW!Kp!s| z2{c^QuSd%%dVag(adCuC&Q1U4GSP5?KY35v@_XE4I%atdGua8kYX!TFL2&0z|Bn>g zv<@~x&;k^`Xg=IaBa=hBkUID|vyi@g#QuJ(zvHS;s8fl?#49~fyQpI5dp`RYp2;T~ zejnJs_{WvMjKa?Jov1mEkbErTy;8dzq=b)e zWwU{K-Y1%8Di=s@RHEi*iNrA00O6$NMzOLV28e066e~tepW)W2-N|~x#vhon3ZS|# zoMN_+ZMaPpe74q0cw%+Xb5Vq z!lAm4s=ph7VW1jxu86gks~qO|GAuJ&Yd;hZ>`<1jvKe3I{FMXEOO;Q^=Qop4gwe@- z4#y6E!ziB`$f*Fo>v1hO`IpX87KKpzj22~YssQ5k@JimmxTEpXX-+)S1a7u)a&H#KU2S?%+-r7)US87uF%WBC#^>#R%>sx zJKSA1SP2Nu9VqL3f4(6nt_fti*+F<#9tU7Q2&IYz3uar3vN;COull+bLrq9-+@u_UL^CvCbif@N)7dcA)b@ zX}hbBQf53k^fJ~ERJt=#p`ECr{Iv-ww)3t62##U=BR(-&TX{zAw-A&h1M0`L>MFMO z6&@GX@kab5fo6|BvrP3Q{2V?;RFygMjo|bez$I2FK#zhdlDZ6e4P(WF-|gFD-zPO6 zEU@FwX^%`|@$|0C_hPF{4Br>Bzb3lGlX3tSf`(tS4;`IqdM0Xu2CL*wuOC~CzhbE% zy|(o?R-#8at)(Zf1ZeaTmI6M~O~QYB%LO^zKfj-m4f}5X_--?sufwWsf_0RXcm9Ov zt9YU3`FZ9vP3ogHVQ)gxGJ_p{*Z`?5HGaIK^p z8dscg2El*{q~Q$oLrdh)I0OgzLkp+gxE^Ad7J`w^(13l#yo0nZGb-D}n*Gq9@ZI=D5o38l~He&WfL&%iknc zxi^m^Yt-(4)YHyPEO4n&jII=K%NJs(hNzdeZT8vy9E&Y$)jy{7s&uFqIJ(Xdf~iH+ z>F7ev&#MYzii#g6NW!mfWxn*skvu{!M=Yt}xEh>Z7 z6K8}$XKZw2E2l-bsv~l1<^d@U=qGf%9-I}1sD|gCrl%@Q*vgi#|Ju*d%~h_H--ovX zaO}qzUSfjg1=yt!X2FjmZK;8MKEL!<#B-r~0F!Sdr%)~07b-5<$OhtD-}U&yZoKO_ zRXkVOkc5Lh7zB)N=kU|t$Z`k+S+&co?ww+S^`4S6*9~8eQg3Yru(G=J1)}!M=x}kJ z_Qf!n;{$6LpQ2>Hi%rGD^FgISObH_QdLLh9{@CqO+}F|{&#dC)sa!Tt{)#yVoJ~Pt z$8T2QS;YJ8hBxyIn~W>DGW>8Og z5+0F8MTZx&{#HX|tu6t8)}`QU>+%C^llD1n+v;A??-|_n1+TI>pd|yl zaXNI8dzG=@WYgsfmy-!iXe)dA$Dg0`81mIz)tY-S*8jxIDl9!+rm~!}(X#t8HL}rK ztJf^|whenmpC{TQB@Zz$eW{c(j6mTF5hjnMYt;!uvHA+=EG(@&e`gr z4j*)y4~gb1AFuXF)Tn=CB;?_5x{Zjq^8$tl35KxUoqu#slI|nxJ@NsB>%R{mTwY@JuMm0JBiAw(4K5ozaHLXuG^>vQyg>(N;_(LJcG3S=8S_J zeNjfdTa3J-NmQ?11O0c%W+88mkna74Tfz_Q;=f6}vDCVRdbel+qzkVXrg)s)m0F&~ z+B{@MOc#eo7IEW#L&5`@f7PLiKN9=u)H|+JM`8i>S)jVz6_<-0e-qbqsE30S`J8+H z_Cco~xLD>g#z_qKpwZ#wkaC`@aTqo-(%@INogAE{DgP?rse6b<=qt*jc90|k6m_8* z=3c>Rl0?>UM)BVjMENV^I-n#kxehpJEj;|p9WQmHBJ%DzYL5TY-g`$ixkT}zf+#8~ zAX20R)T5|$l^zH-JPHDe6zRf21OyB-M8*~>#cj&%0Ddl_`aDvGkbRV?LB)yWBz|~{(Nr-^BCJ^ksDRCsHdJD zQ-X3<|K*7&NGW?{eaK94?#c6ECRihb3bR^5CYfXDdq50`crgPf4Wm14=~2+z_~r-w zT|{+Da$6E;!%O_-#e5sUplCS-n5KxKBa zVklxSPz+qdJN~zT`<~i8<(!BzW(|k$84X+rD|fYfTQcAQ7Qk|RAQ_Uf_+=Z6LjSE6 z)O9jX@E410rVFUuVb)OgrYA^<*}qzSAo>9|fGulLlbSVr$-d+F+`Vt2KXNnRX;C+C zS&)jon|JT5c-Y%;7S{7G>wRzc98mA)WZ~&b*?hC9Xdsh=oZWvvIm!G>uNT1ptv4E?=T%HE&JFjGJ>jDQ?jU>r!$ z`d?+6pcb9v+s=)O@B3e5n>gWR|4Ih(z65yA7hc(nbpQO(cR}rL^BXxJU8hd~NY^Q& zB?ly)cewXI%fdN~ueNgnGJ#g+f{p7{PEF-l|mN8*4Ks5QQ<=V6XfKd+!X_x9{5JMo|I zHSd=K8PAH^G_yy%+P6JzLzYKJlg&c`NPsG*RlPPJAZOG%2~w)MJ_^YW=HBPu#wHxk z{F&n{k%RfX;_{F`HT@hfJT&lTMTP3z{So{4p?_cd0|jZ~uGxh= zI1rull^Mto6DoT;>+@BHQ28c5{n7i|d;b+ez;E}(fTXX;_QPF=doMolenv8EYb@0l z@WM%!=i8VDEp{H+_I5^~|HW8OmK=a8;B?tOSrB`Y!fI3b3Av+Ff%{tW4!ZKb>D$UX z9NGRr0h*ZR`Vd=sogdLonE34DzzFct+Pj&C&q~b+%5J+#d2cyv9m1ZQYMf1GPVaTz z`oE3gvAm?2urmT<=RZEfm#1_|{#u7a?b0_ykoM5>KG|QwebWKVJpHqHjrFXq zL(8Pzc{U{h4drRr``!1ynxz-@E4#%;wEJPSV!*b2O}6JoTVnF>cde(n@VJ4|Z(N4* zUIKYf5;N0x`g$9Mx2=Z1+9NeYN+k0O%NNxzj=g;Ja`@%NsFbL1(|Z@8nywdkWpsd zk4p2v)z8WblzMf$x#rv{a$fo(*^;xJM>!PClaU6{Yp<`hUt_v1bN%l1=hr`8CtW{^ ztZ&_)=>T?5J-hX2!=_q$1BBN*d|}^VnP1$HECDzp4(-k7ze5GTo{IokC-Jj2KNDPj z3LS@|K*@qo$G2N+tI=DZ0PF)-;lb_up5s0n5c)NCJr}-xCOH1&6#=DF<|Kbx7-Jws zx?yIu;+(y#aS-jeXqirdLBHoL|L5`$Fop`LNv^%F8#FaDJ0(CCR4$D&iY^$1@Cn zllU4xlnV0R>k?HGj8J(=UUK$kpe%MuJZ#hK`}ISbnF+}7m)@1z_xHEBT0&WA7n+*= z?)dmk{p}g99DKQSZEvV@$Qh`DGyc*F4|kskqWtrFsWJ7_$@Bz$uRjkegOEEbrF}O} zDgT50O#%Zi0k2#HUODFoZcvHY{{Mh-mcwn2KxzjSKvOK_a#Zi*BD@ z*IVI0;oi`2I6jSKtBs*1a+RsB;33gk$PV0fpw?yjV#tQ|wC(P|o^L0TKdFNyuYIkYtt>AM|D8zS z(7<0}rv*n#V@0kaq+V5k@hz$6xAn1uKG0t0=ByLkJb!^JVUzLy(`MS~%@AbBBMlz- zwC$|`gS}E@;$na8$*v;^;8Lm=g5D7+|IXFsZ_bD5w0v)bM8qxYM5tW7`7Z};{-(I^ zRNhFOvBnwkPq1}mdF`g$u~YkgY5q;CeY2~74mo7M+Itp6TV5iM^|&1VnHKw_xo4^V z$BeT}3g1*e3d7LZUvXLR%I`CGD*2QCt(0cBbASPhFShgfACj}ard>bwlOTJm+5aIy z0rKG``EM@2nz{#cr|2&5pROdI**i+SlO87Z43Ky3+ir67nIvz18ic8}`fX+6cWthV zI=IDC^!`Fp(ET3;nSYE@Bw%wIj)J%lzp=J6&nH<_)NMYJ!dQa8aL8{9as7Hh2~fsa z6a1Uy_UVpD_khu@yFhi#MDHf2?Q5gJ`7v83ZGJOwzKQE>F7(}cg3LgP(wHym2K-}6?AG3OBGi8J3z%FS zFBF%xX_@}|ah&T1?J_kVwtfd_2Sv7TKN;ktR`zI@$+rKiJ^3+jO)!(81dG2!K_7Uw z8IC%l0Y5j+R6$1@&o&+a$|IdP(PsiwY;IZIPg$GkD%i7aH{93%zGSsl!!p}irB}!P z`6a+S%ktb&+ufK+(H}f1L)w0bMoq-#Ctr<~b9E98gpL0GC8+7j@Vwant1r(}UhQk# zWPsZjz9yL{&Ndqi+<6kG!}@)IlSj9=lAN`RuCqoR`=P^&u|pj;_Z<1xTjjOiV=nB? z`r&vM{v49y)Z^+dxJ8c=Fy=Pr0DR@fhDwg03);|JVSOH5J~|s^5Vr68+HsWnQUY@QH=z7mpvB{C@UOt#MZh{sT4%SP<9s&UxR^@7?ePK=>#fP!gxQ*JQh?vN)5E{ zy~V#N0|A$oJaVX3V;IWE`oww`^MIaUl#yKJS2FT(=Bn9|Uiqn%kG!;1J%W|MQW;9? z*5B@-Di0s5KnA6cx(}7M`~m7Nw6W!-&#Ms=c}n($?N73jCz%_N{Rcrun&pwRH>j;} zXM^dR)yhO)%dc%3Z|81M*ed{?og0dUodj;dNzmv3HfI3OzOd2IGQFuo2qavmr&=iP z2Aw0gImZV|L?`TTS)omp$y(FB3J%nwaLU01B^No{&;3zZT6Ph$geAX?>7xg9L?v{H ztF;6#vQ!owlr=i>Y%$zqWc4S*y<(y?9~hll$dOEPL_~4k4v34iYNSbaIy!>N6UOT}hHM z=b|30v>Dm$A@eqT2PsB{iN5)g_XLddLYKxk5W$$ut&Zhhk?+O{P|r~B%-epMMN#r* z$|~F_>>wzwMIYce_Hu2?sSu92$|sLu*TC68WQ~(@%9_6VclVZCtrv`=CWv?$MGY}Y z*m&%CDQ&sb8|UUn74?`fGa1C^gqL)fp0qV`qf8SPvg7beYOVECJnrUT>xeVUQDQCL zK`*pu%lpWVp;W2t%6{Xo4urSG#_P>U;>JMaf|F^VvKzH1_SJ6L*U^4HIGbsr zt?{yK<4TjSq87_thu;`H@+={I5)+PDDKPE~NDy`{dM#e6z4Lh9y(YlRA z9TXob7$x;6zWwKT1V-CIFi1j9X(1w_Ftw9!v$fO*r;(dN?Zs&hYD*@tYoTuJ`x*y4 zdg)SK=SBdH@RqeDA$0YuUW)eucWgF?mXpCUY+XA?ke5=P5z|niI&}`wDsTbZhe+w%{t<^b1OImObRaRSsFev;iDEbbT6ZQPNr_jI~1UII$Lh&T)lMy230lmm_ zMqCxTayju0>**7|?I4h<3?P)qkh$Al#%JpZ<6Y*e&`Ag`M$Q76u3eYNmT&@;bEGea z^{gm%okpokZJ)|rVi|oiBG4jy11wpRd7!`gyF$it{<#*BJ@4~#Kq5Ps!ZDL(ZO2zG znxe_cv#u{)-# zV^cd2?n1_;DT;5N7}VipA|lTOMFW+k5AGAo^V2;*mrx_jz|L}wN@u!?_7`1tTmwWw zL>Ex}V528BKV_HM%BTGHFXf84C|t`SgaA*r%cqJn?*az9^3j5uwD$_s{j<4cBzWg4 zGamsW>m+EC=~+(BEtkC=EG;moslMUcE(!7>0jAzU1b1F7A*adkFs=>IGZ%6)dZGo6 zy#(lgiL}zlKS#V%@)7yv5>me3<5dFRW)IDB;opz`8=d;njBu7s~ zxP3#dcN!2W8!1-dpsd5*Hnzl9hKgt*fW`YxG&qrdaJCDJ0zuV*mHWPv-+h$N&7|V+c9if{3+cC(%HpC6p*G*x02vt{kz2UgFruOZY+bI zL@qIpnQ$t9rH^BvajQ7V&|_#m0tjZ0 z#^8jFF@taje6j!~35Y_$GL$s^Fl$DVKluP3U^x7+LXwM^+nK)6tttcrAO#iv>JU|( zHtW(j;B1+0m9*yyz!R8Ri6*);GbzeJU4BoOg%0fdrpQdGR{-imP{b; zW`iGKFO6RS0p9ykf<4@(S2n-*F!6OUIDVy7va%s>oxz?BsyW_r@D% z|0z&Z_=HBzMI@+rv{3jfZLc9r)wqrjNd3e({?ii%yYP7h@=8zNE0S|27mDo74*@GO z3;IMqHUXR~r{H+oSpL;80f3|pfv2|&mQvA!N~fu?;hkJbgVa1fb4l(ciif7VK@%UM z@cOM`U(!gbfs~|%>UDF=sYFxF1Nzmc0 zmDG!yCRP}8=_B%|xzFR>nX`MSHHt#C$vE$nk#)c`#uq(so3so{0NR@TJhc^Jc1BoFCQFPg>Cb6sBsY=9*KA_Fr^OC3d!SehIsoMvzl6*aG z24kgwMYP~U)566l*#Z`N>&9mlgf~XGmyoN!Ztekr0}}epe8sAggbBc^`K!B}RDqe8 zp80z-VRZ7$500lRl2Z8X`*b7o8Bj%sA5!EvbqcL38?zpZ8M`9icN^R_Nt;=|YNoL6 zT+{GC@!^Uen#3fb4et805_1I{F&ns9XwvTVS1Lt#3&&0}J5>(11a?0Fk-9VUNGKbL zaFzM{av&s!%ALvi5}|9nd_-lhb>unTi5BcV7r=sqPDfxg=>k)TMSZ;vSIr%a(Sw|N z5U71{^K?D`zV*HsWeDxt`s;5l>5-M!my!vPN^hfEtH*;dZ%^S8jSw+kg7Jj1uGXIO zFpusvpw{Qw>%hd-=noqW|NwTedV-=HBR~} zUu-AX%FrvF%p;R8te$gX2rtg!P_Bvv2H2ctlWEDh2vSG+uEh)+kAR*DpL1g~jnsvt z6M{HL?o9qHZkJ7&az^Z{@5fD9+H~QrHQDwxFBH0)mII7U(y7HyJAR@Cy9f z(5+J0ZYL92)ilF|P8IJdccOyY zjd!Z2Cfd&%S3!1n3d){;tk`H3ZS(V_3s(@FU7xPmKOVhFb=UpwyGk<$jO%=;B(Mt# zR3cq)S3&S)L_Li*jq@z{!@yT~&X1W{pxnaJa=NFd=io{Vhv?D0p$Qfb2qzkYFMV*S ziilRo6%ze;H1t}^t^f{^y|pQ^?SH2FcHh5BkqnP&uZ&oBC?I~huU_^i97;Lt;kYyf z?^u|E6D!H>o`JeJQ!3Ip$+&qD<%G?$@>@d&QrF=aYD=!oOyO+b4XMfj+HMXp^vD9` z#s^!cqiX)Zy{!`a7HOwV)?0%x!!p1PvwJxBq~=;G4tma}9ewSQNc-XhpBQ1!Qq8WD zlJC=`f538*D`pJxJk(B>1Y0*q`5dvEcnoMM;KWIe)#cpgR_(c*l_;Q+=lBIt37G?B zmo~pqXVaXM8hwPm0_H*N=9Q9 za9A62e*Rt@)Jhg>|DtR*!%2Uxd2;R}*8ccn1n62NdEy3?b+nk@Gw%iv(4&)n-_+vy zAA=5dPhsL9;I?RhsB0`{s18+`)FmRwdpTXJ0@l5dy)t>Cd&XyW4WhXE2q6Sr^Bx$0 zVXpmYOgolA1sW02+4n$K()16pP|ODPanNO`}05NkBWd=#f512lLz;N z|FNaZs`rU;Apld*}XUcuQ{_A|F(kous|MCp$+g%2lY}Dz^PoT91jOAhi*JJdcgI9luHW zPeO~XR(-}2E;=6wYHaC@iCLE$DD5;%EWWNg^Jm@W694?v!kcA)3^U1S_V)E& z`|Q2_e|^lJt4{7O2YNn-C;U4hK!+lCEZkqqIRWs(`~~S5yhW$z)_ED`{lu1)kNg7^ zirGf|GjZuMomZ$6B!yKG!*%rV{i9pw?5)HzULzZWYd@LrCx!o;eF2LtWY8qpIqLB4 zGi?2B>ulMIpLqMltt%_89UxCEbuzo3V48N4Kr;5|_wxk(wH)`eXZjR|nu{Fkp9W?% zDlQD;L>p!brTMr0-b&B|&)075FM&6RJ%q0#p3i!>agaDXAm~9pTcM}1-B}RYn^?n3 zV|x8$>(m$~GIRFMU!0mgBMac>8zHIDV;An_Y+Z~GE4z;6HUAur7;9p|3i}?3-`Fwe zQxts)=>rb7YB5S=jjhXK%ErFT?hAIIX8{0dV-X>Yx6Kfyx`f^*>AidQf*`htWT~!fh432UZ~{8 zh@%Ki8^D#tzsRcft3@uJ{bV(##YEJyUJ+)W1@y&yV{iKzTHu5wISF3pwCa?&&75?8|757{| zAL<{KU}$5MGXoR6jc|Yu^36N1eCWNprAMADwZHR%?wxDS)9o=_ASq~?QI}B$S!fcK zl5JXm33eh84`XU$h}fGG8lKw}0?UFlJ|pfjMRQB|EruH1j}`;=&hgkaw4qFl?Bj4_e5sVE4u(veMdk z*OlX!Wz*(ji6He@!F(mvFWqOt?q#=vF@SS9=Picf8J^U#$MG=s7Pb0+JsL zh|}Ko{SoG2=+hMbE$?xNv=syS7BE&j)otJZwI>L3B*gBg$lPpLjR1U35XxBH_Wd(J z>f4;kys)h!2BC}@-68@QJj&Qi+r$e)JTc_xHif~^O#h#$Q1SSxORtLJi-%_Cofb5t zq)c2M#L{h{A`Lb0proqP4?{O9zltP}U+Q)rNMA2o_-qq(F31;fPSiR8CEtNdC$a2l zGWy!fYrZxX2)7?bUzLYIrg-{6Ow1jJd%9rdL%HehsvguFkn6lR8u|_2DxYDJEec0jODIzEZ+u*WF0auN)2bXvbQX)+9EBXv z`Ga_eCjiCAL_kuvuZCdQPB@jN?y3hagpGP6X*RTU6OJ6j#iJcyUB4nCxqO=X9d_-LW2m9Id)^CNf7-%|2q z&YDtRPSw6I!Iv&2?#v#1IMD2YBR9E>Xkh1cThXxQ$B4S3H{?5*i4N$(z`}@fuuPS}oWuX>yhX3ryTyVp!{>)3| zTUjQRw3g7v*XS6FclfU{DHFWQ%Bt}6j4yp{b_g))#L1%+k_!7o zcd(76;k;B!`Qqm>bHTO2`OlvxFCUgd3E0ro1EZ|VMpka5o1BZ1>R)+Cwkw$%7R#yU z)XNq;JhBfr?+yarw8=J0q=_DbA6pH-q;=X@piw4&ktpcx?$LvYz&uA1q+vBJVwa@c z*D0zfuiBf7fU|wuQLHPe^}?6nJ9P6eV1}0ifx_$T0+{M~)%jtP8#`p9rQ+#W(tMfo zo37R*zmcGv#!EF-ypqM4;%5zKF@&IF!jSo}jX2ynQlaWo$<*{QVFbz#eNPZU^qP-F zm$kOzB+0y%=ZTZ7!UDd<=9D%9agZ{%;Z14143B_LaANhd(Ig5Aq&3YOY_qY(yNu9^ zRZr-NwhN6OkOwcqXV=A$vL5KU%-1(UdQ7rPpgkq~`~Bu>yHI0XoaqmIhGX(G-$t>c z$u3AVw09}@WjhIWs@g=m(thgr7|~}TqoivQOgCmUuc?6(553O=cJYmXMVR2&O|)mX zZ(|NFHJXOyOm~3WuJ{yDr8(~2yI*()gjr1j?w_e{lWi0|o`m^4xDbXpO_6Pct*Ik~kE=w`>bn!}9kvIwGJcXjX zbn8BdYXE%RToZ{XD-qZ6IOso~C8MoAGjkhur&+aMB&=|8vR?9QD}LaP5=5Cdgkb0* zw{%rE>?Ros-h?yhSXX)jQUQ>PH$>z?IcVDR*JJqlXyPPG=j;?re0_*iqy0yAwOYKV zfG8=-X*voC6Wmo6tu9sWK$b0AdYW36uUXd8(w7rkN8lq;zvbE>2FbHnH9jv@7x0}Y zpJyc?D^Fxy>PGnrhy$fhUZd@6Pj}IVKj_k?U$D`Zo~P5A2ebT#2XM-X8QN(4h7xwq zWLuYdOxQwrS%Q#w`9wZ)7(D5SD1CxgwL?Z8UOU%sEdve{rhJa#@Gy==EpOuJ?-}A{++7Dwl4bzRLEZ% zq1S8%cna6P2(oLJj?Ajw=ic4mQRiS_1z^oC%OlW+DLU%l3%(@)@;=k|VR&A^Z+YtKi(QQ)XF#H}22HBmcWvhk9A%=87r9B*RgdSt7<1x2 z%mm8)<7tp~$x`B1F92dNcoh-o=QY2J8b{S!qN~2n11JxNP&R)L6=DdnckQo$72h`y z-99NN-vf5><{w%|HYQQ0odB_{JHGJo!x+kKfiYWmb z4Ui&?eqw-0b|h@>a_?tVP8lIn8c0JXn__%50s5&BRX=t@)wdlXb6gFTj;$`LCn!{` z^LnQ{trMsSDev;zd7GGU2N%F3HpsI8ljw-ZfH3mYlg4hEZ)IH#&pP@UWgR(pMXzJ* z=~A0C$LBLz8-gU2GDx-HPD|62sZ#0D_x${wsdx3jTKJp`0-5`Tx%Ax}URm7D(7T-6 z;aG;sSL3zE=~WZSwh0WBaGi_fATQ8Pm<7fW3f$u(z!o(C#B*Z3v8? zQ&K9#cdaznPX?)LXvW3-=YI zg(PsU51U;cQNlTg-NTq%uztnbsF&YCwr}&#Oy~&0KnG!{{E>_6#T;B-2Ff6=JJC~@ zd8lh?-O+w`jk9$mX>(mW5!k);(5YlQV`?Snc4%%_@!|4yu~wUw%!R}pC)pX#0er?l zw4tP~<@%{MSyi~_yRP?+GXlDW24depU@o6ymJy|PFo-Ir!2s<(w&i1u!hB$&7Niv> zD0&;C$S-7o;)uRd`{w>7)c7?zUKCRVSZ5A*m-ccP-eRW027KQMRdDb|L~%gNqV1?9 z>U&s;AyNa_HQMao3k{EQ2iSMY9Jp1ewe%3XCVeY>j@#+moW=ZgFRe*V!e9*SHyzZ`h{9;va(-@r2g_icpLj~zV1tb{qr-#E zA2sZ*MV!PLdayJW=QyLB_a8JMjL~Km-EhcU9qPRo@Hx%7;GoZA4LtSp!cEY3v>iva zL~ZsptkA%Ubzngg)%!$q5%n}3)CVe`(xm}Sp-sb|~>NWXHv(%UMb zEZye%+X>eMh%*MRWh8F$YQ zItNnJjS{C$R$&Dw?8if*r)7rp3$jRQ_Ow)gVU#Wjy*h zW=7HM4DpLk{S5h~7;PPH+^njXkQ=`_j&b&}#NxZ3+%`tEsGSA}C44PCRY?ljw46ci z$k@7s6!mp=UB^yf%l)Qg-opf~(Aa1~uK7EP)eWhNHKTVXPXdaQWz;hoxYrud@Hzdl z{a0DSKUQtnjhyrAwD&xMNY6EYoTaS{!u+i{;Vm@B%U!ROi86)H(6c@b}~&XY)5qZ{>$eYvZ6hm zANHru?^#WXz%L%=+n6s^ zdAR#rG%=(Iw>}=3@Di{I_HY=U0<5do-yEWM1f1NJ2c(8c*w;SIy(yQiBZ1b&ICHmV zN^{hdTLmNA>x$=Hrj7NNTQHIY()nfkwm0wU2|+%3x2KdBiTB+`cGgH;3%@&9?BW#G zgt4&IOwlhapR9%TATS6=_(lc3XEFpoX$q~XZK{WUag*I)EUS#vax*40%EN6EGyOiy zEAtAN)8=Ss%jIza;<%AOj{A*}+jtdWHmG;zY}&_*Yah>j6ir#zV&L&A^hu7X7u8=Z`=1%f$cTI@ ztEd>ba^y*N{xFtLQTV+eVbJLxAQ*cU`u73i|8lZ00%;pKR+4o3S~9<4yvY7?KWv`^HO}lr z8qC`ZoV{$X)^{TN!ebW#G%N)Hln5Xx>|SVWbkyi+Z@ff+7KlEwW@(?)iA8quj>fnv zr)kOB>I>TL%>MF+md5P^(Y*OQbDEO&_eKh*+$&NfcW>xo0O-!k!xi8Yn1v-)p{+mD-Xqck6l@hGhpAPS_E!-aw48j&sll_ZcZZdrk4XLQw3fm=V$Z_Y3smid zwS;R~?B%0Tj;TqCQ+bZ8Wq1VKGUrmMsGnDl?fL|3D@#(4xytyr?B}`CX^}{B$@)`g zG3b)>Rht018^!}%P-F(wCKXjnmI-(di&tg4si4KNd&9+PUq;MZm}~UyF)Ive{VYh^ z3cY(K)(#v|!KW;9t4_cvxZlK09}BZ6=YO1rCGz4LtZcGpyWaB*7u82Q_`ndMIl;=i zJ#1t#MZ5i;*JE1V%bilVkYGneqLD;3Omo;yK-Gt!(8v9s7k#vza?T0Y{s5!Qr`#&BpCvn|>tEWncgt?gA&& zlJ$TA44?yVm~<%fTN^t~pHGt3!R3oqSLF!#%m{?s z?W5VC;g^rZ57%qSSPoRAm0Gt4>I=(TX6MWg5Hb|q7mNF^mpmjK*S>ATeD&R=`t^}D z7m3#VmN=yRi!wjJ53MUVH%(t}>OLqng^|b^ET5{xt>xZxD|8V2b7bxD$Rfa3Fu~MC z(|lGo+~*2^$bTk%IBw2UbL4?_YIOx zi;+2BWjgh+SN+htAnmmZqd;86! z1;R&YzRNKS$i^tw#)WrW$A?CWh98EnR+ZWeAG~E+`0=7=l=J$cPJPR>>Cve(_?Pgx z+ZEs>;jorcD=U=l<0lY>je)%9Sm%NF$jN3{G|c3*ClJF7cna+4r%D>SfX;^jD6nIk&s;)axYMb!gxK%= zS9ZkaV6-t}0Vs2Ze;fD`n>_F7p(0)I=l*m9`Jjj;G~k$zG+^0T0i3217~X8Fnpqv; zcs81fj5g_}W&t3?{LF~+VmsN<_lV2DUm3f$uLF9id3luh~C^9PXj-kBH@bXkm3R?L%PC;#aJf&qRl}?$A<7b0DQqx=> zoH0O2CjpKb3e&V8lc8EHpns=pQ>%(6`@_opSLAN^t9dgAlVH&<-5&UKRyJs4PqD6+ z@QHs63-1lwK!xOxviDZ2m5UV_hWi{W;^sO{-GGj%H&OC+CBwu!Ws@7MNIu*Mz`)ya zE1{a-<4odI!=S1KEw;h#gU9pG7Ic{wP)i%`;oz%cx1X;b=6t6}X=zQx9C9{WO2U9o z91~<;P+lV_ew(y{&{D`TI@ZTJ8~WA3cMX{Xse6#DCKX4Wox_4=-9PFpqbcixKU38WTlKYC;-+4IuX z$Alf(aowx$%gC>@?-f4trn7!4%%?lDbE6MhbC0}P*EkDUiM#3r42d9@a zjQE5QR!ys>-hMWM@VUX2y>CfR$6^=0J2z}rpK|*gSEYBC2F5il{bkK1Tzs}M~$FDx<0KnzN&;622%s2LZt0#ykOqcc#b}IK5(Pm1#PwtK! zEA?!xy=&3N6+J+HC`)xlweu;3t}7P1v;vm(Ec`$mZ|`(MUARkG(E*;KbD*maLn1Tq zXgdeJBAWDWXR8lhZEq(1(C!mUmskTEk8w&_t>p6WC1MCMVo0Ufa`CgStLz8}3Niv4 zX0PA3V+R-H+T{zk^%ESm8#RK;?wPo@KE~}Exj3-5#5mnJXlJpB&A4+{pyjak<*;SC z$51ARFbqOm@>3$WlZwGJv<1F*FQ^8`?gPgU}Am`i4v zRD+Ae<;A|GaxrzEz(j@pFN8QySnA@$6ntT>13vre>XrLpOjX5#=iiRabj8|$wFYt= zJ2<}vCQb@k_6sAd#Gcc})&eZrPRrEtcAR#bnULCFQBXY9R@~hVK(PEoegTA4!qvq7 z`S!|OvQ^{%_9o6Iam z+%f9lgP}2_qK`V-UYD#)3K}TZTO(5g-=ut6{ySime3jNmkdB?2IZe^yLC6dOSh!;H zFzb`q%Xq$lh&!nb*m}uUYwn{9b5l;pQSAuHl_4o1KCU-QqREp^rzCl4pO{3|BOBJa z(i>=jT&={Gi%HsG&~4SR7K+sa#iu-tcDQ+M_(&TBGBce004;+%cgM~0X(n*4>`70w zqZsvxbKca)HI&MRt6$;k)(5nY=M1FSaRY6lgzgl+*=((SK|7@!ce)chUhQ`3?Scss zLmK-U-?b2~Cavc0cSskd4_5>TP_+DWI}lL1dzqn5>3qk-DYf;!zRT#z(R0L}Vj$!& z%AcUoGguUzA=wz_w7T$4CY%~_N}zkkRRu&7I7#lsRM-J6sMX+jP*4LDm9B6_vHnma z3Sk-{)2|S$1i!AZ8s$A~)Unsd(DB$o|4+7XV2wNBbgS*qu3Exn z%`{-YwIx;^?H=S`Ai4ViF1SIYL~Ehw$c;ox@LUC6!8u!&cVPjL$(D}gKXYVs4*>uR z3sM|trH^CfDl$SsJDQrSaxg;RdNX#BuT zr_l)bx(nwt22A{1wOCFikZgtgTacZwTrT6XAiH3qGpi^$P^$xK@S)0WbTHnuh8QhubE)Akx39*!|r8=h?5~0mnzuz1Tk@Yz{$Jg zfldJ4uTuL8nCg_dI4I}>robW}CB+&>(v01ZzY6akpWSNtL=<5M^mJtAr z&eLub01F7d2N>=>0Aj?%dY0TGi6;PehmyNb4;$(rIe4I`CUV-M>ExU;$@GF>Twr9MTBc z-x@Oc&yz!Q#YVe-qY2#g%bEZF%R`mlpZr-xuwx8v`@At$j)}pRj6KH?C=6-I&~pqW z&ahDaV{9?ZuPTOZ$uOK5F3<0>kzqJ9oK=P=&VU&h01*TIVqho?426NAFfbGbhQh#5 ze)kg?Q63fshQh#57{NzI*q9L$X9WEJ1F$nN6b6REz)%<%3Iju7U?>a>g@K_kFcb!c z!oX1eVa>g@K_k zFqHq8$qWqT|7;AUEhjf%#}2U}dRfh%r{Eb1ouSYf3Z0?Q848`D&>0GyQTT;X)#mr3 zxQu#4jABcSN>cw<`*s2LM6I|tnO~%L&}tH=pF7^af92T)9gc?MF*TK_?ZwGNEWE^jD~2Y*9EGgg))~v549wY|-rJ8( zG!fRny>q$BxsdNSqLvJIZ!O`b=I=l8JK+I)46}K5ZZGwg3~KzX_L=m52hWV@^z>tP~LH1WwApW?>UxWVCHE(@g+^Fe6E^!vYW{3 zLml#SrM6%3uNr6BIFEUW*Q%LneLN)AzoTZCV-*m8x9)q9JCG?Xx-(ZIESD=(RMt?r4&Kueq<#zB|hp1*fhV znESdB>cd~jI}PSqVOWKI9!_??lR~f0wv*Ksd z;)h4a(D5Lb4^4{a###ig2a3)pwq(pe*xBEQuKGNbTYj-4;Q1a+FGq^YE$<|%_%4{? zGr;RW1&LwA$X8RUv2A?|y(h3fI zJUnp+>QI-1-dOv<=hR;$fm_K!4SG>#P$(yS;?r_J+QzyK<|+adzT^~0Ii{BE!n9Pp zu%ps}7NKsASw=13#2K<$%M@>tS2 z?v-eMljyX@hYHrPQub(068L5D108MDu>2q_RVz$GtYtuuWnjV8XO|;o?@0{U*oSH z8)g=*Rc$15i4I= zmOJ4q4-?3EKS&4R{g_FayTg0G3j@4N%qnad7!@>SHlgbNuCqHn%eZFiE-mhLTQh&F zjSO9osyX+4fkm3#yTq<|bct1<%xuw1*I6YERKX^ykocj8vFzI9p;CneVsGY41$+_q z_V8N!@I90G6O&&;&PhtvDP*nGutUHPzgB&G%nDf>Pjwk<318L@5;(4wYz2&%Adk=D z;>%If3Q-K}dc5?WwWDMM+SOsVit(~A{U*BfaC$EjGl3&!abVeIqGBnx06!mNZa>mM z^L}R%yFYs9;RZzWbWIw2Hzza;;P%2pWA+(SYpz0vqY*svgyFuB#$sTlvlK27Y698Q z1#C)`XsC43#sR1e%brECWDuD$Smwffoad9RRC>#co+n9f`gJG2x~XJJ&PNV?rmwQP zh_r3-OzX8FDz^0tywPgk!;r*L*s@z0fRmR40^4l z%!xUbr`UsNrWL3dB4;zT{7`ABRPjyAQeL8o%2BmsWx;>6DaDP>%=)3EXoYx z^k=I{?B3|yhjM9+d9J5xMs#a$2!kZGx=)i9$3pTim_}tZUJac(%^TL(n)YF~_?pv%4HUTTSG_woy+B`=tT zY17!!U-X5i5t$>s`ZvVgP@eI&m1yuAYL}Q$ao5)`f9H#vlG8MfNG=Sm-5FLokzLl& zktCLg=C(0034uPXPuEV`0HkuZIXV&8(;Ldev%sF#1@`oUuSYjaz0}-zd#WHIPdg@c z+$4Px=++Y#ubV`1hCN$~-w~j?%kHu1*T`G0>B72Rfd;nd5gBxwbK1^mG1+1hTVU#= zSLaN8i)XdQlrsX&FR66XH+Wd6hK#EB@^oD&FCgEhh?Nw_b-ybEN12#S_hn#AD`yo^Y82)6Rm?URwTYNz65~rB!2T!&(q6C1QS3 zzetsxVTxI<*G?u+v)r2Q~A$WKwFod@!q%~e~q1PtK+A{vhB%p-`Dt#%R zBSn4J4?v@V6+Z>6_)2z}4YTQ9FnoPw7FTBOyM!G}@=J6wYxb16+B9^*eJx&zh6XEF zc&YoV<8JT@cr*xIOLX4{_y z0;)C8snq!U4bngQ3(!|nalBH#{n^1?orHsUR}^sf@|Iv|7C=)7?8dfdLICkXl@pG! zTVG@`0%+nUeZM{W=Kz!r1B~y}fjhgUMV37U08L`UvfG}y0t@D`^0v%+TgdZ1K$Cv0 j{kCWS7ft8}+k)%UQvHx*i%0(t&g{?C literal 0 HcmV?d00001 diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/SignUpViewTests/testDefaultSignUpView.1.png b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/TestCases/__Snapshots__/SignUpViewTests/testDefaultSignUpView.1.png new file mode 100644 index 0000000000000000000000000000000000000000..a70419b74765f0016e52b31fd542654b13f71c09 GIT binary patch literal 128730 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 Date: Wed, 25 Oct 2023 09:52:58 -0400 Subject: [PATCH 5/8] feat: Refactored based on TOTP API review (#45) * feat: Converting to a dedicated MFA Selection state * feat: converting to a dedicated setup totp state and refactoring options * chore: increasing the tolerance to 1 percent for snapshot testing * worked on review commetns * trying out deducing step information when creating a view * worked on API review changes * added unit tests * worked on review comments.. * worked on review comments. --- Sources/Authenticator/Authenticator.swift | 63 +++++----- .../Configuration/AuthenticatorOptions.swift | 1 - .../Extensions/Bundle+Utils.swift | 1 - .../Models/AuthenticatorStep.swift | 2 +- .../Authenticator/Models/Internal/Step.swift | 8 +- .../Authenticator/Options/TOTPOptions.swift | 4 +- .../States/AuthenticatorBaseState.swift | 8 +- .../States/ConfirmSignInWithCodeState.swift | 29 ++--- .../ContinueSignInWithMFASelectionState.swift | 58 +++++++++ .../ContinueSignInWithTOTPSetupState.swift | 85 +++++++++++++ .../ContinueSignInWithMFASelectionView.swift | 37 +++--- .../ContinueSignInWithTOTPCopyKeyView.swift | 34 +++++ ...ontinueSignInWithTOTPSetupQRCodeView.swift | 50 ++++++++ .../ContinueSignInWithTOTPSetupView.swift | 99 ++++----------- .../SnapshotLogic/ImageDiff.swift | 2 +- ...inueSignInWithMFASelectionStateTests.swift | 98 +++++++++++++++ ...ontinueSignInWithTOTPSetupStateTests.swift | 116 ++++++++++++++++++ 17 files changed, 540 insertions(+), 155 deletions(-) create mode 100644 Sources/Authenticator/States/ContinueSignInWithMFASelectionState.swift create mode 100644 Sources/Authenticator/States/ContinueSignInWithTOTPSetupState.swift create mode 100644 Sources/Authenticator/Views/ContinueSignInWithTOTPCopyKeyView.swift create mode 100644 Sources/Authenticator/Views/ContinueSignInWithTOTPSetupQRCodeView.swift create mode 100644 Tests/AuthenticatorTests/States/ContinueSignInWithMFASelectionStateTests.swift create mode 100644 Tests/AuthenticatorTests/States/ContinueSignInWithTOTPSetupStateTests.swift diff --git a/Sources/Authenticator/Authenticator.swift b/Sources/Authenticator/Authenticator.swift index 72361f8..7619907 100644 --- a/Sources/Authenticator/Authenticator.swift +++ b/Sources/Authenticator/Authenticator.swift @@ -13,7 +13,7 @@ public struct Authenticator = .weakObjects() private let loadingContent: LoadingContent private let signInContent: SignInContent private let confirmSignInContentWithMFACodeContent: ConfirmSignInWithMFACodeContent - private let confirmSignInWithTOTPContent: ConfirmSignInWithTOTPContent - private let continueSignInWithMFASelectionContent: ContinueSignInWithMFASelectionContent - private let continueSignInWithTOTPSetupContent: ContinueSignInWithTOTPSetupContent + private let confirmSignInWithTOTPCodeContent: (ConfirmSignInWithCodeState) -> ConfirmSignInWithTOTPCodeContent + private let continueSignInWithMFASelectionContent: (ContinueSignInWithMFASelectionState) -> ContinueSignInWithMFASelectionContent + private let continueSignInWithTOTPSetupContent: (ContinueSignInWithTOTPSetupState) -> ContinueSignInWithTOTPSetupContent private let confirmSignInContentWithCustomChallengeContent: ConfirmSignInWithCustomChallengeContent private let confirmSignInContentWithNewPasswordContent: ConfirmSignInWithNewPasswordContent private let signUpContent: SignUpContent @@ -96,7 +96,7 @@ public struct Authenticator LoadingContent = { ProgressView() }, @@ -106,13 +106,13 @@ public struct Authenticator ConfirmSignInWithMFACodeContent = { state in ConfirmSignInWithMFACodeView(state: state) }, - @ViewBuilder confirmSignInWithTOTPContent: (ConfirmSignInWithCodeState) -> ConfirmSignInWithTOTPContent = { state in + @ViewBuilder confirmSignInWithTOTPCodeContent: @escaping (ConfirmSignInWithCodeState) -> ConfirmSignInWithTOTPCodeContent = { state in ConfirmSignInWithTOTPView(state: state) }, - @ViewBuilder continueSignInWithMFASelectionContent: (ConfirmSignInWithCodeState) -> ContinueSignInWithMFASelectionContent = { state in + @ViewBuilder continueSignInWithMFASelectionContent: @escaping (ContinueSignInWithMFASelectionState) -> ContinueSignInWithMFASelectionContent = { state in ContinueSignInWithMFASelectionView(state: state) }, - @ViewBuilder continueSignInWithTOTPSetupContent: (ConfirmSignInWithCodeState) -> ContinueSignInWithTOTPSetupContent = { state in + @ViewBuilder continueSignInWithTOTPSetupContent: @escaping (ContinueSignInWithTOTPSetupState) -> ContinueSignInWithTOTPSetupContent = { state in ContinueSignInWithTOTPSetupView(state: state) }, @ViewBuilder confirmSignInWithCustomChallengeContent: (ConfirmSignInWithCodeState) -> ConfirmSignInWithCustomChallengeContent = { state in @@ -161,23 +161,9 @@ public struct Authenticator String? { + if let issuer = issuer { + return issuer + } + log.warn("`totpOptions` not provided as part of initialization. Falling back to extract application name from Bundle.") + + if let applicationName = Bundle.main.applicationName { + return applicationName + } + log.error("Unable to extract the application name from Bundle") + return nil + } + + /// Attempts to continue the user's sign in using the provided confirmation code. + /// + /// Automatically sets the Authenticator's next step accordingly, as well as the + /// ``AuthenticatorBaseState/isBusy`` and ``AuthenticatorBaseState/message`` properties. + /// - Throws: An `Amplify.AuthenticationError` if the operation fails + public func continueSignIn() async throws { + setBusy(true) + + do { + log.verbose("Attempting to confirm Sign In with Code") + let result = try await authenticationService.confirmSignIn( + challengeResponse: confirmationCode, + options: nil + ) + let nextStep = try await nextStep(for: result) + + setBusy(false) + + authenticatorState.setCurrentStep(nextStep) + } catch { + log.error("Confirm Sign In with Code failed") + let authenticationError = self.error(for: error) + setMessage(authenticationError) + throw authenticationError + } + } +} diff --git a/Sources/Authenticator/Views/ContinueSignInWithMFASelectionView.swift b/Sources/Authenticator/Views/ContinueSignInWithMFASelectionView.swift index 881c1a2..b2cd7f6 100644 --- a/Sources/Authenticator/Views/ContinueSignInWithMFASelectionView.swift +++ b/Sources/Authenticator/Views/ContinueSignInWithMFASelectionView.swift @@ -12,7 +12,8 @@ import SwiftUI public struct ContinueSignInWithMFASelectionView: View { @Environment(\.authenticatorState) private var authenticatorState - @ObservedObject private var state: ConfirmSignInWithCodeState + @ObservedObject private var state: ContinueSignInWithMFASelectionState + private let headerContent: Header private let footerContent: Footer @@ -21,7 +22,7 @@ public struct ContinueSignInWithMFASelectionView Header = { ConfirmSignInWithMFASelectionHeader() }, @@ -42,48 +43,48 @@ public struct ContinueSignInWithMFASelectionView CGImage? { + guard let qrCodeURIString = qrCodeURIString else { + return nil + } + + let filter = CIFilter.qrCodeGenerator() + filter.message = Data(qrCodeURIString.utf8) + guard let outputImage = filter.outputImage else { + log.error("Unable to create a CI Image for TOTP Setup QRCode") + return nil + } + guard let cgImage = CIContext().createCGImage(outputImage, from: outputImage.extent) else { + log.error("Unable to create a CGImage from CIImage for TOTP Setup QRCode ") + return nil + } + return cgImage + } +} + +extension ContinueSignInWithTOTPSetupQRCodeView: AuthenticatorLogging {} diff --git a/Sources/Authenticator/Views/ContinueSignInWithTOTPSetupView.swift b/Sources/Authenticator/Views/ContinueSignInWithTOTPSetupView.swift index 8a4e104..28e76b7 100644 --- a/Sources/Authenticator/Views/ContinueSignInWithTOTPSetupView.swift +++ b/Sources/Authenticator/Views/ContinueSignInWithTOTPSetupView.swift @@ -12,30 +12,44 @@ import CoreImage.CIFilterBuiltins /// Represents the content being displayed when the ``Authenticator`` is in the ``AuthenticatorStep/continueSignInWithTOTPSetup`` step. public struct ContinueSignInWithTOTPSetupView: View { @Environment(\.authenticatorState) private var authenticatorState @Environment(\.authenticatorTheme) private var theme @Environment(\.authenticatorOptions) private var options - @ObservedObject private var state: ConfirmSignInWithCodeState + @ObservedObject private var state: ContinueSignInWithTOTPSetupState @StateObject private var codeValidator: Validator private let headerContent: Header + private let qrCodeContent: QRCodeContent + private let copyKeyContent: CopyKeyContent private let footerContent: Footer - /// Creates a `ConfirmSignInWithTOTPView` - /// - Parameter state: The ``ConfirmSignInWithCodeState`` that is observed by this view + /// Creates a `ContinueSignInWithTOTPSetupView` + /// - Parameter state: The ``ContinueSignInWithTOTPSetupState`` that is observed by this view /// - Parameter headerContent: The content displayed above the fields. Defaults to ``ContinueSignInWithTOTPSetupHeader`` + /// - Parameter qrCodeContent: The content displayed for the QR code. Defaults to ``ContinueSignInWithTOTPSetupQRCodeView`` + /// - Parameter copyKeyContent: The content displayed for copying the code. Defaults to ``ContinueSignInWithTOTPCopyKeyView`` /// - Parameter footerContent: The content displayed bellow the fields. Defaults to ``ContinueSignInWithTOTPSetupFooter`` public init( - state: ConfirmSignInWithCodeState, + state: ContinueSignInWithTOTPSetupState, @ViewBuilder headerContent: () -> Header = { ContinueSignInWithTOTPSetupHeader() }, + @ViewBuilder qrCodeContent: (ContinueSignInWithTOTPSetupState) -> QRCodeContent = { state in + ContinueSignInWithTOTPSetupQRCodeView(state: state) + }, + @ViewBuilder copyKeyContent: (ContinueSignInWithTOTPSetupState) -> CopyKeyContent = { state in + ContinueSignInWithTOTPCopyKeyView(state: state) + }, @ViewBuilder footerContent: () -> Footer = { ContinueSignInWithTOTPSetupFooter() } ) { self.state = state self.headerContent = headerContent() + self.qrCodeContent = qrCodeContent(state) + self.copyKeyContent = copyKeyContent(state) self.footerContent = footerContent() self._codeValidator = StateObject(wrappedValue: Validator( using: FieldValidators.required @@ -59,30 +73,9 @@ public struct ContinueSignInWithTOTPSetupView String? { - if let issuer = options.totpOptions?.issuer { - return issuer - } - log.warn("`totpOptions` not provided as part of initialization. Falling back to extract application name from Bundle.") - - if let applicationName = Bundle.main.applicationName { - return applicationName - } - log.error("Unable to extract the application name from Bundle") - return nil - } - - private func generateQRCode(totpSetupDetails: TOTPSetupDetails) -> CGImage? { - guard let issuer = extractIssuerForQRCodeGeneration() else { - log.error("Unable to create TOTP Setup QR code due to missing issuer.") - return nil - } - - let qrCodeURIString: String - do { - qrCodeURIString = try totpSetupDetails.getSetupURI(appName: issuer).absoluteString - } catch { - log.error(error: error) - return nil - } - - let filter = CIFilter.qrCodeGenerator() - filter.message = Data(qrCodeURIString.utf8) - guard let outputImage = filter.outputImage else { - log.error("Unable to create a CI Image for TOTP Setup QRCode") - return nil - } - guard let cgImage = CIContext().createCGImage(outputImage, from: outputImage.extent) else { - log.error("Unable to create a CGImage from CIImage for TOTP Setup QRCode ") - return nil - } - return cgImage - } - - private func confirmSignIn() async { + private func continueSignIn() async { guard codeValidator.validate() else { log.verbose("Code validation failed") return } - try? await state.confirmSignIn() + try? await state.continueSignIn() } /// Sets a custom error mapping function for the `AuthError`s that are displayed @@ -201,4 +151,3 @@ public struct ContinueSignInWithTOTPSetupFooter: View { .buttonStyle(.link) } } - diff --git a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/ImageDiff.swift b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/ImageDiff.swift index 120cccb..c2fe49d 100644 --- a/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/ImageDiff.swift +++ b/Tests/AuthenticatorHostApp/AuthenticatorHostAppUITests/SnapshotLogic/ImageDiff.swift @@ -17,7 +17,7 @@ enum ImageDiffError: Error { struct ImageDiff { static func compare(_ old: UIImage, _ new: UIImage) throws -> Bool { - return try compare(tolerance: 0.1, expected: old, observed: new) + return try compare(tolerance: 1, expected: old, observed: new) } /// Value in range 0...100 % diff --git a/Tests/AuthenticatorTests/States/ContinueSignInWithMFASelectionStateTests.swift b/Tests/AuthenticatorTests/States/ContinueSignInWithMFASelectionStateTests.swift new file mode 100644 index 0000000..28bf3e0 --- /dev/null +++ b/Tests/AuthenticatorTests/States/ContinueSignInWithMFASelectionStateTests.swift @@ -0,0 +1,98 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Amplify +@testable import Authenticator +import XCTest + +class ContinueSignInWithMFASelectionStateTests: XCTestCase { + private var state: ContinueSignInWithMFASelectionState! + private var authenticatorState: MockAuthenticatorState! + private var authenticationService: MockAuthenticationService! + + override func setUp() { + authenticatorState = MockAuthenticatorState() + state = ContinueSignInWithMFASelectionState( + authenticatorState: authenticatorState, + allowedMFATypes: [.sms, .totp]) + state.selectedMFAType = .totp + + authenticationService = MockAuthenticationService() + authenticatorState.authenticationService = authenticationService + state.configure(with: authenticatorState) + } + + override func tearDown() { + state = nil + authenticatorState = nil + authenticationService = nil + } + + func testContinueSignIn_withSuccess_shouldSetNextStep() async throws { + authenticationService.mockedConfirmSignInResult = .init(nextStep: .confirmSignInWithTOTPCode) + authenticationService.mockedCurrentUser = MockAuthenticationService.User( + username: "username", + userId: "userId" + ) + + try await state.continueSignIn() + XCTAssertEqual(authenticationService.confirmSignInCount, 1) + XCTAssertEqual(authenticatorState.setCurrentStepCount, 1) + let currentStep = try XCTUnwrap(authenticatorState.setCurrentStepValue) + guard case .confirmSignInWithTOTPCode = currentStep else { + XCTFail("Expected confirmSignInWithTOTPCode, was \(currentStep)") + return + } + } + + func testContinueSignIn_withError_shouldSetErrorMessage() async throws { + do { + try await state.continueSignIn() + XCTFail("Should not succeed") + } catch { + guard let authenticatorError = error as? AuthenticatorError else { + XCTFail("Expected AuthenticatorError, was \(type(of: error))") + return + } + + let task = Task { @MainActor in + XCTAssertNotNil(state.message) + XCTAssertEqual(state.message?.content, authenticatorError.content) + } + await task.value + } + } + + func testContinueSignIn_withSuccess_andFailedToSignIn_shouldSetErrorMessage() async throws { + authenticationService.mockedConfirmSignInResult = .init(nextStep: .done) + do { + try await state.continueSignIn() + XCTFail("Should not succeed") + } catch { + XCTAssertEqual(authenticationService.confirmSignInCount, 1) + guard let authenticatorError = error as? AuthenticatorError else { + XCTFail("Expected AuthenticatorError, was \(type(of: error))") + return + } + + let task = Task { @MainActor in + XCTAssertNotNil(state.message) + XCTAssertEqual(state.message?.content, authenticatorError.content) + } + await task.value + } + } + + func testAllowedMFATypes_onContinueSignInWithMFACodeSelection_shouldReturnDetails() throws { + + authenticatorState.mockedStep = .continueSignInWithMFASelection(allowedMFATypes: [.sms, .totp]) + + let allowedMFATypes = try XCTUnwrap(state.allowedMFATypes) + XCTAssertEqual(allowedMFATypes, [.sms, .totp]) + } + +} diff --git a/Tests/AuthenticatorTests/States/ContinueSignInWithTOTPSetupStateTests.swift b/Tests/AuthenticatorTests/States/ContinueSignInWithTOTPSetupStateTests.swift new file mode 100644 index 0000000..074cf21 --- /dev/null +++ b/Tests/AuthenticatorTests/States/ContinueSignInWithTOTPSetupStateTests.swift @@ -0,0 +1,116 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Amplify +@testable import Authenticator +import XCTest + +class ContinueSignInWithTOTPSetupStateTests: XCTestCase { + private var state: ContinueSignInWithTOTPSetupState! + private var authenticatorState: MockAuthenticatorState! + private var authenticationService: MockAuthenticationService! + + override func setUp() { + authenticatorState = MockAuthenticatorState() + state = ContinueSignInWithTOTPSetupState( + authenticatorState: authenticatorState, + issuer: "issuer", + totpSetupDetails: .init(sharedSecret: "sharedSecret", username: "username")) + + authenticationService = MockAuthenticationService() + authenticatorState.authenticationService = authenticationService + state.configure(with: authenticatorState) + } + + override func tearDown() { + state = nil + authenticatorState = nil + authenticationService = nil + } + + func testContinueSignIn_withSuccess_shouldSetNextStep() async throws { + authenticationService.mockedConfirmSignInResult = .init(nextStep: .done) + authenticationService.mockedCurrentUser = MockAuthenticationService.User( + username: "username", + userId: "userId" + ) + + try await state.continueSignIn() + XCTAssertEqual(authenticationService.confirmSignInCount, 1) + XCTAssertEqual(authenticatorState.setCurrentStepCount, 1) + let currentStep = try XCTUnwrap(authenticatorState.setCurrentStepValue) + guard case .signedIn(_) = currentStep else { + XCTFail("Expected signedIn, was \(currentStep)") + return + } + } + + func testContinueSignIn_withError_shouldSetErrorMessage() async throws { + do { + try await state.continueSignIn() + XCTFail("Should not succeed") + } catch { + guard let authenticatorError = error as? AuthenticatorError else { + XCTFail("Expected AuthenticatorError, was \(type(of: error))") + return + } + + let task = Task { @MainActor in + XCTAssertNotNil(state.message) + XCTAssertEqual(state.message?.content, authenticatorError.content) + } + await task.value + } + } + + func testContinueSignIn_withSuccess_andFailedToSignIn_shouldSetErrorMessage() async throws { + authenticationService.mockedConfirmSignInResult = .init(nextStep: .done) + do { + try await state.continueSignIn() + XCTFail("Should not succeed") + } catch { + XCTAssertEqual(authenticationService.confirmSignInCount, 1) + guard let authenticatorError = error as? AuthenticatorError else { + XCTFail("Expected AuthenticatorError, was \(type(of: error))") + return + } + + let task = Task { @MainActor in + XCTAssertNotNil(state.message) + XCTAssertEqual(state.message?.content, authenticatorError.content) + } + await task.value + } + } + + func testSetupUriWithIssuer_onContinueSignInWithTOTPSetup_shouldReturnDetails() throws { + + authenticatorState.mockedStep = .continueSignInWithTOTPSetup(totpSetupDetails: .init(sharedSecret: "sharedSecret", username: "username")) + + let sharedSecret = try XCTUnwrap(state.sharedSecret) + XCTAssertEqual("sharedSecret", sharedSecret) + + let setupUri = try XCTUnwrap(state.setupUri) + XCTAssertEqual("otpauth://totp/issuer:username?secret=sharedSecret&issuer=issuer", setupUri) + } + + func testSetupUriWithoutWithIssuer_onContinueSignInWithTOTPSetup_shouldReturnDetails() throws { + + state = ContinueSignInWithTOTPSetupState( + authenticatorState: authenticatorState, + issuer: nil, + totpSetupDetails: .init(sharedSecret: "sharedSecret", username: "username")) + + authenticatorState.mockedStep = .continueSignInWithTOTPSetup(totpSetupDetails: .init(sharedSecret: "sharedSecret", username: "username")) + + let sharedSecret = try XCTUnwrap(state.sharedSecret) + XCTAssertEqual("sharedSecret", sharedSecret) + + let setupUri = try XCTUnwrap(state.setupUri) + XCTAssertEqual("otpauth://totp/xctest:username?secret=sharedSecret&issuer=xctest", setupUri) + } +} From 64aaeba6c05df231faabc978dab2663d1c0bbbd2 Mon Sep 17 00:00:00 2001 From: Harsh <6162866+harsh62@users.noreply.github.com> Date: Tue, 31 Oct 2023 11:19:12 -0400 Subject: [PATCH 6/8] feat: modifying based on API review feedback (#46) --- .../States/ContinueSignInWithTOTPSetupState.swift | 10 +++++----- .../Views/ContinueSignInWithTOTPSetupQRCodeView.swift | 2 +- .../States/ContinueSignInWithTOTPSetupStateTests.swift | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Sources/Authenticator/States/ContinueSignInWithTOTPSetupState.swift b/Sources/Authenticator/States/ContinueSignInWithTOTPSetupState.swift index edf4116..79700db 100644 --- a/Sources/Authenticator/States/ContinueSignInWithTOTPSetupState.swift +++ b/Sources/Authenticator/States/ContinueSignInWithTOTPSetupState.swift @@ -32,13 +32,13 @@ public class ContinueSignInWithTOTPSetupState: AuthenticatorBaseState { } /// The `Amplify.TOTPSetupDetails.getSetupURI` associated with this state. - public var setupUri: String { - var setupUriAccountName: String = "" + public var setupURI: String { + var setupURIAccountName: String = "" if let issuer = extractIssuerForQRCodeGeneration() { - setupUriAccountName = issuer + ":" + totpSetupDetails.username - return "otpauth://totp/\(setupUriAccountName)?secret=\(sharedSecret)" + "&issuer=\(issuer)" + setupURIAccountName = issuer + ":" + totpSetupDetails.username + return "otpauth://totp/\(setupURIAccountName)?secret=\(sharedSecret)" + "&issuer=\(issuer)" } else { - return "otpauth://totp/\(setupUriAccountName)?secret=\(sharedSecret)" + return "otpauth://totp/\(setupURIAccountName)?secret=\(sharedSecret)" } } diff --git a/Sources/Authenticator/Views/ContinueSignInWithTOTPSetupQRCodeView.swift b/Sources/Authenticator/Views/ContinueSignInWithTOTPSetupQRCodeView.swift index 7dd94a7..d2170ac 100644 --- a/Sources/Authenticator/Views/ContinueSignInWithTOTPSetupQRCodeView.swift +++ b/Sources/Authenticator/Views/ContinueSignInWithTOTPSetupQRCodeView.swift @@ -18,7 +18,7 @@ public struct ContinueSignInWithTOTPSetupQRCodeView: View { } public var body: some View { - if let qrCodeImage = generateQRCode(qrCodeURIString: state.setupUri) { + if let qrCodeImage = generateQRCode(qrCodeURIString: state.setupURI) { Image(decorative: qrCodeImage, scale: 1) .interpolation(.none) .resizable() diff --git a/Tests/AuthenticatorTests/States/ContinueSignInWithTOTPSetupStateTests.swift b/Tests/AuthenticatorTests/States/ContinueSignInWithTOTPSetupStateTests.swift index 074cf21..ceb5b0c 100644 --- a/Tests/AuthenticatorTests/States/ContinueSignInWithTOTPSetupStateTests.swift +++ b/Tests/AuthenticatorTests/States/ContinueSignInWithTOTPSetupStateTests.swift @@ -94,8 +94,8 @@ class ContinueSignInWithTOTPSetupStateTests: XCTestCase { let sharedSecret = try XCTUnwrap(state.sharedSecret) XCTAssertEqual("sharedSecret", sharedSecret) - let setupUri = try XCTUnwrap(state.setupUri) - XCTAssertEqual("otpauth://totp/issuer:username?secret=sharedSecret&issuer=issuer", setupUri) + let setupURI = try XCTUnwrap(state.setupURI) + XCTAssertEqual("otpauth://totp/issuer:username?secret=sharedSecret&issuer=issuer", setupURI) } func testSetupUriWithoutWithIssuer_onContinueSignInWithTOTPSetup_shouldReturnDetails() throws { @@ -110,7 +110,7 @@ class ContinueSignInWithTOTPSetupStateTests: XCTestCase { let sharedSecret = try XCTUnwrap(state.sharedSecret) XCTAssertEqual("sharedSecret", sharedSecret) - let setupUri = try XCTUnwrap(state.setupUri) - XCTAssertEqual("otpauth://totp/xctest:username?secret=sharedSecret&issuer=xctest", setupUri) + let setupURI = try XCTUnwrap(state.setupURI) + XCTAssertEqual("otpauth://totp/xctest:username?secret=sharedSecret&issuer=xctest", setupURI) } } From 5935fb8ee3c0d497924078a5cd2857ed67551010 Mon Sep 17 00:00:00 2001 From: Harshdeep Singh <6162866+harsh62@users.noreply.github.com> Date: Tue, 31 Oct 2023 12:07:58 -0400 Subject: [PATCH 7/8] worked on review comments. --- Sources/Authenticator/Authenticator.swift | 4 +-- .../Internal/ConfirmSignInWithCodeView.swift | 6 ++--- .../Views/Primitives/Button.swift | 27 +++++++++---------- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/Sources/Authenticator/Authenticator.swift b/Sources/Authenticator/Authenticator.swift index 7619907..3607022 100644 --- a/Sources/Authenticator/Authenticator.swift +++ b/Sources/Authenticator/Authenticator.swift @@ -58,14 +58,14 @@ public struct Authenticator some View { if useOverlay { - configuration.label - .font(font) - .padding(padding) - .multilineTextAlignment(.center) - .frame(maxWidth: maxWidth) - .foregroundColor(configuration.isPressed ? foregroundColor.opacity(0.5) : foregroundColor) - .background(configuration.isPressed ? backgroundColor.opacity(0.5) : backgroundColor) + content(for: configuration) .overlay( RoundedRectangle(cornerRadius: .infinity) .stroke(borderColor, lineWidth: borderWidth) ) + } else { - configuration.label - .font(font) - .padding(padding) - .multilineTextAlignment(.center) - .frame(maxWidth: maxWidth) - .foregroundColor(configuration.isPressed ? foregroundColor.opacity(0.5) : foregroundColor) - .background(configuration.isPressed ? backgroundColor.opacity(0.5) : backgroundColor) - .cornerRadius(cornerRadius) + content(for: configuration) .border(borderColor, width: borderWidth) } + } + @ViewBuilder private func content(for configuration: Self.Configuration) -> some View { + configuration.label + .font(font) + .padding(padding) + .multilineTextAlignment(.center) + .frame(maxWidth: maxWidth) + .foregroundColor(configuration.isPressed ? foregroundColor.opacity(0.5) : foregroundColor) + .background(configuration.isPressed ? backgroundColor.opacity(0.5) : backgroundColor) } } From 7acdb9b5e14681fd79945701573fd2a8eb0d4a45 Mon Sep 17 00:00:00 2001 From: Harshdeep Singh <6162866+harsh62@users.noreply.github.com> Date: Tue, 31 Oct 2023 12:49:16 -0400 Subject: [PATCH 8/8] fixing macOS build error --- .../Authenticator/Views/ContinueSignInWithTOTPCopyKeyView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/Authenticator/Views/ContinueSignInWithTOTPCopyKeyView.swift b/Sources/Authenticator/Views/ContinueSignInWithTOTPCopyKeyView.swift index c71daa7..5650f82 100644 --- a/Sources/Authenticator/Views/ContinueSignInWithTOTPCopyKeyView.swift +++ b/Sources/Authenticator/Views/ContinueSignInWithTOTPCopyKeyView.swift @@ -23,7 +23,7 @@ public struct ContinueSignInWithTOTPCopyKeyView: View { #elseif os(macOS) let pasteboard = NSPasteboard.general pasteboard.clearContents() - pasteboard.setString(sharedSecret, forType: .string) + pasteboard.setString(state.sharedSecret, forType: .string) #endif } .buttonStyle(.capsule)