From 7f150f5931d72ccaf91d353ebfd074e1f0918ecb Mon Sep 17 00:00:00 2001 From: Federico Maccaroni Date: Wed, 18 Dec 2024 16:46:16 -0300 Subject: [PATCH] [PM-11153] Implement context menu text autofill (#1178) Co-authored-by: Matt Czech --- .../Application/Support/Info.plist | 2 + .../CredentialProviderViewController.swift | 20 +- .../Autofill/Utilities/AutofillListMode.swift | 4 + .../AutofillExtensionMode.swift | 4 + .../CredentialProviderContext.swift | 2 + .../CredentialProviderContextTests.swift | 23 + .../Platform/Services/ServiceContainer.swift | 27 + .../Core/Platform/Services/Services.swift | 16 + .../TestHelpers/ServiceContainer+Mocks.swift | 6 +- .../TestHelpers/MockVaultRepository.swift | 28 +- .../Vault/Repositories/VaultRepository.swift | 301 ++++++---- .../Repositories/VaultRepositoryTests.swift | 559 ++++++++++++++++-- .../MockUserVerificationHelperFactory.swift | 11 + .../UserVerificationHelperFactory.swift | 26 + .../UserVerificationHelperFactoryTests.swift | 46 ++ .../AutofillAppExtensionDelegate.swift | 6 + .../AutofillAppExtensionDelegateTests.swift | 3 + .../MockAutofillAppExtensionDelegate.swift | 6 + .../Application/Extensions/View+Toolbar.swift | 17 +- .../en.lproj/Localizable.strings | 3 + .../TestHelpers/MockTextAutofillHelper.swift | 20 + .../MockTextAutofillHelperDelegate.swift | 16 + .../MockTextAutofillHelperFactory.swift | 11 + .../MockTextAutofillOptionsHelper.swift | 11 + ...MockTextAutofillOptionsHelperFactory.swift | 11 + .../TextAutofillOptionsHelperDumper.swift | 12 + .../UI/Vault/Helpers/TextAutofillHelper.swift | 228 +++++++ .../Helpers/TextAutofillHelperFactory.swift | 78 +++ .../TextAutofillHelperFactoryTests.swift | 61 ++ .../TextAutofillHelperRepromptWrapper.swift | 73 +++ ...xtAutofillHelperRepromptWrapperTests.swift | 173 ++++++ .../Helpers/TextAutofillHelperTests.swift | 339 +++++++++++ .../CardTextAutofillOptionsHelperTests.swift | 216 +++++++ ...entityTextAutofillOptionsHelperTests.swift | 378 ++++++++++++ .../LoginTextAutofillOptionsHelperTests.swift | 236 ++++++++ ...SSHKeyTextAutofillOptionsHelperTests.swift | 151 +++++ ...reNoteTextAutofillOptionsHelperTests.swift | 78 +++ .../TextAutofillOptionsHelper.swift | 142 +++++ .../TextAutofillOptionsHelperFactory.swift | 38 ++ ...extAutofillOptionsHelperFactoryTests.swift | 71 +++ .../BitwardenSdk+VaultFixtures.swift | 44 ++ ...llListProcessor+AutofillModeAllTests.swift | 311 ++++++++++ ...VaultAutofillListProcessor+TotpTests.swift | 13 +- .../VaultAutofillListProcessor.swift | 49 +- .../AutofillList/VaultAutofillListState.swift | 8 +- .../AutofillList/VaultAutofillListView.swift | 15 +- .../VaultAutofillListViewTests.swift | 103 +++- .../VaultAutofillSearchHandler.swift | 29 + ...populatedWhenAutofillingTextToInsert.1.png | Bin 0 -> 144743 bytes ...populatedWhenAutofillingTextToInsert.2.png | Bin 0 -> 150509 bytes ...populatedWhenAutofillingTextToInsert.3.png | Bin 0 -> 209098 bytes ...WhenAutofillingTextToInsertWithGroup.1.png | Bin 0 -> 137356 bytes ...WhenAutofillingTextToInsertWithGroup.2.png | Bin 0 -> 143720 bytes ...WhenAutofillingTextToInsertWithGroup.3.png | Bin 0 -> 211681 bytes .../UI/Vault/Vault/VaultCoordinator.swift | 35 ++ .../Vault/Vault/VaultCoordinatorTests.swift | 13 + .../VaultGroup/VaultGroupProcessor.swift | 4 +- .../VaultGroup/VaultGroupProcessorTests.swift | 2 +- .../VaultItemSelectionProcessor.swift | 4 +- .../Vault/VaultList/VaultListProcessor.swift | 4 +- .../UI/Vault/Vault/VaultRoute.swift | 3 + 61 files changed, 3889 insertions(+), 201 deletions(-) create mode 100644 BitwardenShared/UI/Auth/Utilities/TestHelpers/MockUserVerificationHelperFactory.swift create mode 100644 BitwardenShared/UI/Auth/Utilities/UserVerificationHelperFactory.swift create mode 100644 BitwardenShared/UI/Auth/Utilities/UserVerificationHelperFactoryTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelper.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelperDelegate.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelperFactory.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillOptionsHelper.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillOptionsHelperFactory.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TestHelpers/TextAutofillOptionsHelperDumper.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillHelper.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillHelperFactory.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillHelperFactoryTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillHelperRepromptWrapper.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillHelperRepromptWrapperTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillHelperTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/CardTextAutofillOptionsHelperTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/IdentityTextAutofillOptionsHelperTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/LoginTextAutofillOptionsHelperTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/SSHKeyTextAutofillOptionsHelperTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/SecureNoteTextAutofillOptionsHelperTests.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelper.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelperFactory.swift create mode 100644 BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelperFactoryTests.swift create mode 100644 BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor+AutofillModeAllTests.swift create mode 100644 BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillSearchHandler.swift create mode 100644 BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsert.1.png create mode 100644 BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsert.2.png create mode 100644 BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsert.3.png create mode 100644 BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.1.png create mode 100644 BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.2.png create mode 100644 BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.3.png diff --git a/BitwardenAutoFillExtension/Application/Support/Info.plist b/BitwardenAutoFillExtension/Application/Support/Info.plist index 2fe1dd1f4..d65901362 100644 --- a/BitwardenAutoFillExtension/Application/Support/Info.plist +++ b/BitwardenAutoFillExtension/Application/Support/Info.plist @@ -82,6 +82,8 @@ ProvidesPasswords + ProvidesTextToInsert + ShowsConfigurationUI diff --git a/BitwardenAutoFillExtension/CredentialProviderViewController.swift b/BitwardenAutoFillExtension/CredentialProviderViewController.swift index e2c373359..ac0c6049e 100644 --- a/BitwardenAutoFillExtension/CredentialProviderViewController.swift +++ b/BitwardenAutoFillExtension/CredentialProviderViewController.swift @@ -273,6 +273,11 @@ class CredentialProviderViewController: ASCredentialProviderViewController { // MARK: - iOS 18 extension CredentialProviderViewController { + @available(iOSApplicationExtension 18.0, *) + override func prepareInterfaceForUserChoosingTextToInsert() { + initializeApp(with: DefaultCredentialProviderContext(.autofillText)) + } + @available(iOSApplicationExtension 18.0, *) override func prepareOneTimeCodeCredentialList(for serviceIdentifiers: [ASCredentialServiceIdentifier]) { initializeApp(with: DefaultCredentialProviderContext(.autofillOTP(serviceIdentifiers))) @@ -317,11 +322,6 @@ extension CredentialProviderViewController: AppExtensionDelegate { extensionContext.completeRequest(withSelectedCredential: passwordCredential) } - @available(iOSApplicationExtension 18.0, *) - func completeOTPRequest(code: String) { - extensionContext.completeOneTimeCodeRequest(using: ASOneTimeCodeCredential(code: code)) - } - func didCancel() { cancel() } @@ -421,11 +421,21 @@ extension CredentialProviderViewController: AutofillAppExtensionDelegate { extensionContext.completeAssertionRequest(using: assertionCredential) } + @available(iOSApplicationExtension 18.0, *) + func completeOTPRequest(code: String) { + extensionContext.completeOneTimeCodeRequest(using: ASOneTimeCodeCredential(code: code)) + } + @available(iOSApplicationExtension 17.0, *) func completeRegistrationRequest(asPasskeyRegistrationCredential: ASPasskeyRegistrationCredential) { extensionContext.completeRegistrationRequest(using: asPasskeyRegistrationCredential) } + @available(iOSApplicationExtension 18.0, *) + func completeTextRequest(text: String) { + extensionContext.completeRequest(withTextToInsert: text) + } + func getDidAppearPublisher() -> AsyncPublisher> { didAppearSubject .eraseToAnyPublisher() diff --git a/BitwardenShared/Core/Autofill/Utilities/AutofillListMode.swift b/BitwardenShared/Core/Autofill/Utilities/AutofillListMode.swift index 0cc77f6ce..35d213012 100644 --- a/BitwardenShared/Core/Autofill/Utilities/AutofillListMode.swift +++ b/BitwardenShared/Core/Autofill/Utilities/AutofillListMode.swift @@ -1,5 +1,9 @@ /// The mode in which the autofil list presents its items. public enum AutofillListMode { + /// The autofill list shows all ciphers for autofill. + /// This is used on autofill with text to insert. + /// Only filters deleted items. + case all /// The autofill list only shows ciphers for password autofill. case passwords /// The autofill list shows both passwords and Fido2 items in the same section. diff --git a/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/AutofillExtensionMode.swift b/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/AutofillExtensionMode.swift index d14dbff1b..573483623 100644 --- a/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/AutofillExtensionMode.swift +++ b/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/AutofillExtensionMode.swift @@ -11,6 +11,10 @@ public enum AutofillExtensionMode { /// The extension is autofilling a specific OTP credential. case autofillOTPCredential(OneTimeCodeCredentialIdentityProxy, userInteraction: Bool) + /// The extension is called from the context menu of a field to autofill some text. + /// This is generic so we can auotfill pretty much anything the user chooses. + case autofillText + /// The extension is displaying a list of password items in the vault that match a service identifier. case autofillVaultList([ASCredentialServiceIdentifier]) diff --git a/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/CredentialProviderContext.swift b/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/CredentialProviderContext.swift index 0b55cd783..7b98aa8dd 100644 --- a/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/CredentialProviderContext.swift +++ b/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/CredentialProviderContext.swift @@ -30,6 +30,8 @@ public struct DefaultCredentialProviderContext: CredentialProviderContext { return AppRoute.vault(.autofillList) case .autofillOTPCredential: return nil + case .autofillText: + return AppRoute.vault(.autofillList) case .autofillVaultList: return AppRoute.vault(.autofillList) case .autofillFido2Credential: diff --git a/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/CredentialProviderContextTests.swift b/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/CredentialProviderContextTests.swift index 7f0dc515f..8baa5a71e 100644 --- a/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/CredentialProviderContextTests.swift +++ b/BitwardenShared/Core/Autofill/Utilities/CredentialProviderContext/CredentialProviderContextTests.swift @@ -32,6 +32,10 @@ class CredentialProviderContextTests: BitwardenTestCase { .autofillOTPCredential(MockOneTimeCodeCredentialIdentity(), userInteraction: false) ).authCompletionRoute ) + XCTAssertEqual( + DefaultCredentialProviderContext(.autofillText).authCompletionRoute, + AppRoute.vault(.autofillList) + ) XCTAssertEqual( DefaultCredentialProviderContext(.configureAutofill) .authCompletionRoute, @@ -67,6 +71,9 @@ class CredentialProviderContextTests: BitwardenTestCase { DefaultCredentialProviderContext(.autofillFido2VaultList([], MockPasskeyCredentialRequestParameters())) .configuring ) + XCTAssertFalse( + DefaultCredentialProviderContext(.autofillText).configuring + ) XCTAssertFalse( DefaultCredentialProviderContext( .autofillOTPCredential( @@ -140,6 +147,13 @@ class CredentialProviderContextTests: BitwardenTestCase { } else { XCTFail("ExtensionMode doesn't match") } + + let context8 = DefaultCredentialProviderContext(.autofillText) + if case .autofillText = context8.extensionMode { + XCTAssert(true) + } else { + XCTFail("ExtensionMode doesn't match") + } } /// `getter:passwordCredentialIdentity` returns the identity of `autofillCredential` mode. @@ -164,6 +178,10 @@ class CredentialProviderContextTests: BitwardenTestCase { DefaultCredentialProviderContext(.autofillFido2VaultList([], MockPasskeyCredentialRequestParameters())) .passwordCredentialIdentity ) + XCTAssertNil( + DefaultCredentialProviderContext(.autofillText) + .passwordCredentialIdentity + ) XCTAssertNil( DefaultCredentialProviderContext(.configureAutofill) .passwordCredentialIdentity @@ -214,6 +232,8 @@ class CredentialProviderContextTests: BitwardenTestCase { ) XCTAssertFalse(subjectOTPCredentialFalse.flowWithUserInteraction) + XCTAssertTrue(DefaultCredentialProviderContext(.autofillText).flowWithUserInteraction) + let subject3 = DefaultCredentialProviderContext(.configureAutofill) XCTAssertTrue(subject3.flowWithUserInteraction) @@ -270,6 +290,9 @@ class CredentialProviderContextTests: BitwardenTestCase { ) ) XCTAssertEqual(subject5.serviceIdentifiers, expectedIdentifiers) + + let subject6 = DefaultCredentialProviderContext(.autofillText) + XCTAssertEqual(subject6.serviceIdentifiers, expectedIdentifiers) } } diff --git a/BitwardenShared/Core/Platform/Services/ServiceContainer.swift b/BitwardenShared/Core/Platform/Services/ServiceContainer.swift index 93fcc4590..7e6146724 100644 --- a/BitwardenShared/Core/Platform/Services/ServiceContainer.swift +++ b/BitwardenShared/Core/Platform/Services/ServiceContainer.swift @@ -130,6 +130,9 @@ public class ServiceContainer: Services { // swiftlint:disable:this type_body_le /// The object used by the application to retrieve information about this device. let systemDevice: SystemDevice + /// Factory to create `TextAutofillHelper`s. + let textAutofillHelperFactory: TextAutofillHelperFactory + /// Provides the present time for TOTP Code Calculation. let timeProvider: TimeProvider @@ -148,6 +151,9 @@ public class ServiceContainer: Services { // swiftlint:disable:this type_body_le /// The service used by the application to generate a two step login URL. let twoStepLoginService: TwoStepLoginService + /// A factory protocol to create `UserVerificationHelper`s. + let userVerificationHelperFactory: UserVerificationHelperFactory + /// The repository used by the application to manage vault data for the UI layer. let vaultRepository: VaultRepository @@ -202,6 +208,7 @@ public class ServiceContainer: Services { // swiftlint:disable:this type_body_le /// - stateService: The service used by the application to manage account state. /// - syncService: The service used to handle syncing vault data with the API. /// - systemDevice: The object used by the application to retrieve information about this device. + /// - textAutofillHelperFactory: Factory to create `TextAutofillHelper`s. /// - timeProvider: Provides the present time for TOTP Code Calculation. /// - tokenService: The service used by the application to manage account access tokens. /// - totpExpirationManagerFactory: The factory to create TOTP expiration managers. @@ -250,12 +257,14 @@ public class ServiceContainer: Services { // swiftlint:disable:this type_body_le stateService: StateService, syncService: SyncService, systemDevice: SystemDevice, + textAutofillHelperFactory: TextAutofillHelperFactory, timeProvider: TimeProvider, tokenService: TokenService, totpExpirationManagerFactory: TOTPExpirationManagerFactory, totpService: TOTPService, trustDeviceService: TrustDeviceService, twoStepLoginService: TwoStepLoginService, + userVerificationHelperFactory: UserVerificationHelperFactory, vaultRepository: VaultRepository, vaultTimeoutService: VaultTimeoutService, watchService: WatchService @@ -297,12 +306,14 @@ public class ServiceContainer: Services { // swiftlint:disable:this type_body_le self.stateService = stateService self.syncService = syncService self.systemDevice = systemDevice + self.textAutofillHelperFactory = textAutofillHelperFactory self.timeProvider = timeProvider self.tokenService = tokenService self.totpExpirationManagerFactory = totpExpirationManagerFactory self.totpService = totpService self.trustDeviceService = trustDeviceService self.twoStepLoginService = twoStepLoginService + self.userVerificationHelperFactory = userVerificationHelperFactory self.vaultRepository = vaultRepository self.vaultTimeoutService = vaultTimeoutService self.watchService = watchService @@ -646,6 +657,20 @@ public class ServiceContainer: Services { // swiftlint:disable:this type_body_le vaultTimeoutService: vaultTimeoutService ) + let userVerificationHelperFactory = DefaultUserVerificationHelperFactory( + authRepository: authRepository, + errorReporter: errorReporter, + localAuthService: localAuthService + ) + + let textAutofillHelperFactory = DefaultTextAutofillHelperFactory( + authRepository: authRepository, + errorReporter: errorReporter, + eventService: eventService, + userVerificationHelperFactory: userVerificationHelperFactory, + vaultRepository: vaultRepository + ) + let authenticatorDataStore = AuthenticatorBridgeDataStore( errorReporter: errorReporter, groupIdentifier: Bundle.main.sharedAppGroupIdentifier, @@ -719,12 +744,14 @@ public class ServiceContainer: Services { // swiftlint:disable:this type_body_le stateService: stateService, syncService: syncService, systemDevice: UIDevice.current, + textAutofillHelperFactory: textAutofillHelperFactory, timeProvider: timeProvider, tokenService: tokenService, totpExpirationManagerFactory: totpExpirationManagerFactory, totpService: totpService, trustDeviceService: trustDeviceService, twoStepLoginService: twoStepLoginService, + userVerificationHelperFactory: userVerificationHelperFactory, vaultRepository: vaultRepository, vaultTimeoutService: vaultTimeoutService, watchService: watchService diff --git a/BitwardenShared/Core/Platform/Services/Services.swift b/BitwardenShared/Core/Platform/Services/Services.swift index da163ade2..08a6e3a26 100644 --- a/BitwardenShared/Core/Platform/Services/Services.swift +++ b/BitwardenShared/Core/Platform/Services/Services.swift @@ -39,9 +39,11 @@ typealias Services = HasAPIService & HasSystemDevice & HasTOTPExpirationManagerFactory & HasTOTPService + & HasTextAutofillHelperFactory & HasTimeProvider & HasTrustDeviceService & HasTwoStepLoginService + & HasUserVerificationHelperFactory & HasVaultRepository & HasVaultTimeoutService & HasWatchService @@ -297,6 +299,13 @@ protocol HasSystemDevice { var systemDevice: SystemDevice { get } } +/// Protocol for an object that provides a `TextAutofillHelperFactory`. +/// +protocol HasTextAutofillHelperFactory { + /// Helper to create `TextAutofillHelper`s`. + var textAutofillHelperFactory: TextAutofillHelperFactory { get } +} + /// Protocol for an object that provides a `TimeProvider`. /// protocol HasTimeProvider { @@ -332,6 +341,13 @@ protocol HasTwoStepLoginService { var twoStepLoginService: TwoStepLoginService { get } } +/// Protocol for an object that provides a `UserVerificationHelperFactory`. +/// +protocol HasUserVerificationHelperFactory { + /// A factory protocol to create `UserVerificationHelper`s. + var userVerificationHelperFactory: UserVerificationHelperFactory { get } +} + /// Protocol for an object that provides a `VaultRepository`. /// protocol HasVaultRepository { diff --git a/BitwardenShared/Core/Platform/Services/TestHelpers/ServiceContainer+Mocks.swift b/BitwardenShared/Core/Platform/Services/TestHelpers/ServiceContainer+Mocks.swift index 6d517b9e7..a80cee6b5 100644 --- a/BitwardenShared/Core/Platform/Services/TestHelpers/ServiceContainer+Mocks.swift +++ b/BitwardenShared/Core/Platform/Services/TestHelpers/ServiceContainer+Mocks.swift @@ -4,7 +4,7 @@ import Networking @testable import BitwardenShared extension ServiceContainer { - static func withMocks( + static func withMocks( // swiftlint:disable:this function_body_length application: Application? = nil, appSettingsStore: AppSettingsStore = MockAppSettingsStore(), authRepository: AuthRepository = MockAuthRepository(), @@ -41,12 +41,14 @@ extension ServiceContainer { stateService: StateService = MockStateService(), syncService: SyncService = MockSyncService(), systemDevice: SystemDevice = MockSystemDevice(), + textAutofillHelperFactory: TextAutofillHelperFactory = MockTextAutofillHelperFactory(), timeProvider: TimeProvider = MockTimeProvider(.currentTime), trustDeviceService: TrustDeviceService = MockTrustDeviceService(), tokenService: TokenService = MockTokenService(), totpExpirationManagerFactory: TOTPExpirationManagerFactory = MockTOTPExpirationManagerFactory(), totpService: TOTPService = MockTOTPService(), twoStepLoginService: TwoStepLoginService = MockTwoStepLoginService(), + userVerificationHelperFactory: UserVerificationHelperFactory = MockUserVerificationHelperFactory(), vaultRepository: VaultRepository = MockVaultRepository(), vaultTimeoutService: VaultTimeoutService = MockVaultTimeoutService(), watchService: WatchService = MockWatchService() @@ -92,12 +94,14 @@ extension ServiceContainer { stateService: stateService, syncService: syncService, systemDevice: systemDevice, + textAutofillHelperFactory: textAutofillHelperFactory, timeProvider: timeProvider, tokenService: tokenService, totpExpirationManagerFactory: totpExpirationManagerFactory, totpService: totpService, trustDeviceService: trustDeviceService, twoStepLoginService: twoStepLoginService, + userVerificationHelperFactory: userVerificationHelperFactory, vaultRepository: vaultRepository, vaultTimeoutService: vaultTimeoutService, watchService: watchService diff --git a/BitwardenShared/Core/Vault/Repositories/TestHelpers/MockVaultRepository.swift b/BitwardenShared/Core/Vault/Repositories/TestHelpers/MockVaultRepository.swift index 13ad9476c..6e86dde00 100644 --- a/BitwardenShared/Core/Vault/Repositories/TestHelpers/MockVaultRepository.swift +++ b/BitwardenShared/Core/Vault/Repositories/TestHelpers/MockVaultRepository.swift @@ -14,6 +14,7 @@ class MockVaultRepository: VaultRepository { var ciphersAutofillPublisherUriCalled: String? var ciphersSubject = CurrentValueSubject<[CipherListView], Error>([]) + var ciphersAutofillPublisherCalledWithGroup: VaultListGroup? var ciphersAutofillSubject = CurrentValueSubject<[BitwardenShared.VaultListSection], Error>([]) var cipherDetailsSubject = CurrentValueSubject(.fixture()) @@ -51,6 +52,8 @@ class MockVaultRepository: VaultRepository { var getDisableAutoTotpCopyResult: Result = .success(false) + var getTOTPKeyIfAllowedToCopyResult: Result = .success(nil) + var isVaultEmptyCalled = false var isVaultEmptyResult: Result = .success(false) @@ -80,10 +83,11 @@ class MockVaultRepository: VaultRepository { var saveAttachmentFileName: String? var saveAttachmentResult: Result = .success(.fixture()) + var searchCipherAutofillPublisherCalledWithGroup: VaultListGroup? // swiftlint:disable:this identifier_name var searchCipherAutofillSubject = CurrentValueSubject<[BitwardenShared.VaultListSection], Error>([]) var searchVaultListSubject = CurrentValueSubject<[VaultListItem], Error>([]) - var searchVaultListFilterType: VaultFilterType? + var searchVaultListFilterType: VaultListFilter? var shareCipherCiphers = [CipherView]() var shareCipherResult: Result = .success(()) @@ -101,7 +105,7 @@ class MockVaultRepository: VaultRepository { var vaultListSubject = CurrentValueSubject<[VaultListSection], Error>([]) var vaultListGroupSubject = CurrentValueSubject<[VaultListSection], Error>([]) - var vaultListFilter: VaultFilterType? + var vaultListFilter: VaultListFilter? // MARK: Computed Properties @@ -131,10 +135,12 @@ class MockVaultRepository: VaultRepository { func ciphersAutofillPublisher( availableFido2CredentialsPublisher: AnyPublisher<[BitwardenSdk.CipherView]?, Error>, mode: BitwardenShared.AutofillListMode, + group: BitwardenShared.VaultListGroup?, rpID: String?, uri: String? ) async throws -> AsyncThrowingPublisher> { ciphersAutofillPublisherUriCalled = uri + ciphersAutofillPublisherCalledWithGroup = group return ciphersAutofillSubject.eraseToAnyPublisher().values } @@ -195,6 +201,10 @@ class MockVaultRepository: VaultRepository { try getDisableAutoTotpCopyResult.get() } + func getTOTPKeyIfAllowedToCopy(cipher: CipherView) async throws -> String? { + try getTOTPKeyIfAllowedToCopyResult.get() + } + func needsSync() async throws -> Bool { needsSyncCalled = true return try needsSyncResult.get() @@ -243,20 +253,22 @@ class MockVaultRepository: VaultRepository { return try saveAttachmentResult.get() } - func searchCipherAutofillPublisher( + func searchCipherAutofillPublisher( // swiftlint:disable:this function_parameter_count availableFido2CredentialsPublisher: AnyPublisher<[BitwardenSdk.CipherView]?, Error>, mode: BitwardenShared.AutofillListMode, - filterType: BitwardenShared.VaultFilterType, + filter: BitwardenShared.VaultListFilter, + group: BitwardenShared.VaultListGroup?, rpID: String?, searchText: String ) async throws -> AsyncThrowingPublisher> { - searchCipherAutofillSubject.eraseToAnyPublisher().values + searchCipherAutofillPublisherCalledWithGroup = group + return searchCipherAutofillSubject.eraseToAnyPublisher().values } func searchVaultListPublisher( searchText _: String, group: VaultListGroup?, - filterType filter: VaultFilterType + filter: BitwardenShared.VaultListFilter ) async throws -> AsyncThrowingPublisher> { searchVaultListFilterType = filter return searchVaultListSubject.eraseToAnyPublisher().values @@ -283,7 +295,7 @@ class MockVaultRepository: VaultRepository { } func vaultListPublisher( - filter: VaultFilterType + filter: BitwardenShared.VaultListFilter ) async throws -> AsyncThrowingPublisher> { vaultListFilter = filter return vaultListSubject.eraseToAnyPublisher().values @@ -291,7 +303,7 @@ class MockVaultRepository: VaultRepository { func vaultListPublisher( group _: BitwardenShared.VaultListGroup, - filter _: VaultFilterType + filter _: BitwardenShared.VaultListFilter ) async throws -> AsyncThrowingPublisher> { vaultListGroupSubject.eraseToAnyPublisher().values } diff --git a/BitwardenShared/Core/Vault/Repositories/VaultRepository.swift b/BitwardenShared/Core/Vault/Repositories/VaultRepository.swift index 29519bb1e..740bd2227 100644 --- a/BitwardenShared/Core/Vault/Repositories/VaultRepository.swift +++ b/BitwardenShared/Core/Vault/Repositories/VaultRepository.swift @@ -104,6 +104,11 @@ public protocol VaultRepository: AnyObject { /// func getDisableAutoTotpCopy() async throws -> Bool + /// Gets the TOTP of a cipher if it's allowed to be copied. + /// - Parameter cipher: The cipher that has the TOTP. + /// - Returns: The TOTP if the user/org has the necessary permissions for it to be copied. + func getTOTPKeyIfAllowedToCopy(cipher: CipherView) async throws -> String? + /// Returns whether the user's vault is empty. /// /// - Returns: Whether the user's vault is empty. @@ -198,6 +203,7 @@ public protocol VaultRepository: AnyObject { /// - Parameters: /// - availableFido2CredentialsPublisher: The publisher for available Fido2 credentials for Fido2 autofill list. /// - mode: The mode in which the autofill list is presented. + /// - group: The vault list group to filter. /// - rpID: The relying party identifier of the Fido2 request. /// - uri: The URI used to filter ciphers that have a matching URI /// @@ -205,6 +211,7 @@ public protocol VaultRepository: AnyObject { func ciphersAutofillPublisher( availableFido2CredentialsPublisher: AnyPublisher<[BitwardenSdk.CipherView]?, Error>, mode: AutofillListMode, + group: VaultListGroup?, rpID: String?, uri: String? ) async throws -> AsyncThrowingPublisher> @@ -226,15 +233,16 @@ public protocol VaultRepository: AnyObject { /// - Parameters: /// - availableFido2CredentialsPublisher: The publisher for available Fido2 credentials for Fido2 autofill list. /// - mode: The mode in which the autofill list is presented. - /// - filterType: The vault filter type to apply to the cipher list. + /// - filter: The vault filter to apply to the cipher list. /// - rpID: The relying party identifier of the Fido2 request /// - searchText: The search text to filter the cipher list. /// /// - Returns: A publisher for searching the user's ciphers for autofill. - func searchCipherAutofillPublisher( + func searchCipherAutofillPublisher( // swiftlint:disable:this function_parameter_count availableFido2CredentialsPublisher: AnyPublisher<[BitwardenSdk.CipherView]?, Error>, mode: AutofillListMode, - filterType: VaultFilterType, + filter: VaultListFilter, + group: VaultListGroup?, rpID: String?, searchText: String ) async throws -> AsyncThrowingPublisher> @@ -244,13 +252,13 @@ public protocol VaultRepository: AnyObject { /// - Parameters: /// - searchText: The search text to filter the cipher list. /// - group: The group to search. Searches all groups if nil. - /// - filterType: The vault filter type to apply to the cipher list. + /// - filter: The vault filter to apply to the cipher list. /// - Returns: A publisher searching for the user's ciphers. /// func searchVaultListPublisher( searchText: String, group: VaultListGroup?, - filterType: VaultFilterType + filter: VaultListFilter ) async throws -> AsyncThrowingPublisher> /// A publisher for the vault list which returns a list of sections and items that are @@ -261,7 +269,7 @@ public protocol VaultRepository: AnyObject { /// data changes. /// func vaultListPublisher( - filter: VaultFilterType + filter: VaultListFilter ) async throws -> AsyncThrowingPublisher> /// A publisher for the sections within a group of items in the vault list. @@ -274,7 +282,7 @@ public protocol VaultRepository: AnyObject { /// func vaultListPublisher( group: VaultListGroup, - filter: VaultFilterType + filter: VaultListFilter ) async throws -> AsyncThrowingPublisher> } @@ -283,17 +291,17 @@ extension VaultRepository { /// /// - Parameters: /// - searchText: The search text to filter the cipher list. - /// - filterType: The vault filter type to apply to the cipher list. + /// - filter: The vault filter type to apply to the cipher list. /// - Returns: A publisher searching for the user's ciphers. /// func searchVaultListPublisher( searchText: String, - filterType: VaultFilterType + filter: VaultListFilter ) async throws -> AsyncThrowingPublisher> { try await searchVaultListPublisher( searchText: searchText, group: nil, - filterType: filterType + filter: filter ) } } @@ -495,14 +503,14 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length /// A publisher for searching a user's ciphers based on the specified search text and filter type. /// /// - Parameters: - /// - searchText: The search text to filter the cipher list. - /// - filterType: The vault filter type to apply to the cipher list. + /// - searchText: The search text to filter the cipher list. + /// - filter: The vault filter to apply to the cipher list. /// - cipherFilter: An optional additional filter to apply to the cipher list. /// - Returns: A publisher searching for the user's ciphers. /// private func searchPublisher( searchText: String, - filterType: VaultFilterType, + filter: VaultListFilter, isActive: Bool, cipherFilter: ((CipherView) -> Bool)? = nil ) async throws -> AnyPublisher<[CipherView], Error> { @@ -525,7 +533,7 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length try await self.clientService.vault().ciphers().decrypt(cipher: cipher) } .filter { cipher in - filterType.cipherFilter(cipher) && + filter.filterType.cipherFilter(cipher) && isMatchingCipher(cipher) && sshKeyFilter(cipher) && (cipherFilter?(cipher) ?? true) @@ -769,7 +777,7 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length /// private func vaultListItems( group: VaultListGroup, - filter: VaultFilterType, + filter: VaultListFilter, ciphers: [Cipher], collections: [Collection], folders: [Folder] = [] @@ -777,7 +785,7 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length let ciphers = try await ciphers.asyncMap { cipher in try await self.clientService.vault().ciphers().decrypt(cipher: cipher) } - .filter(filter.cipherFilter) + .filter(filter.filterType.cipherFilter) .sorted { $0.name.localizedStandardCompare($1.name) == .orderedAscending } let activeCiphers = ciphers.filter { $0.deletedDate == nil } @@ -786,7 +794,7 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length let folderSection = try await vaultListFolderSection( activeCiphers: activeCiphers, group: group, - filter: filter, + filter: filter.filterType, folders: folders ) @@ -794,7 +802,7 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length try await vaultListCollectionSection( activeCiphers: activeCiphers, collections: collections, - filter: filter, + filter: filter.filterType, nestedCollectionId: collectionId ) } else { @@ -805,7 +813,7 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length activeCiphers: activeCiphers, deletedCiphers: deletedCiphers, group: group, - filter: filter + filter: filter.filterType ) return [ @@ -830,12 +838,12 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length from ciphers: [Cipher], collections: [Collection], folders: [Folder], - filter: VaultFilterType + filter: VaultListFilter ) async throws -> [VaultListSection] { let ciphers = try await ciphers.asyncMap { cipher in try await self.clientService.vault().ciphers().decrypt(cipher: cipher) } - .filter(filter.cipherFilter) + .filter(filter.filterType.cipherFilter) .sorted { $0.name.localizedStandardCompare($1.name) == .orderedAscending } let isSSHKeyVaultItemFlagEnabled: Bool = await configService.getFeatureFlag(.sshKeyVaultItem) @@ -846,30 +854,32 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length let folders = try await clientService.vault().folders() .decryptList(folders: folders) - .filter { filter.folderFilter($0, ciphers: activeCiphers) } + .filter { filter.filterType.folderFilter($0, ciphers: activeCiphers) } .sorted { $0.name.localizedStandardCompare($1.name) == .orderedAscending } guard !ciphers.isEmpty else { return [] } + var sections: [VaultListSection] = [] + let ciphersFavorites = activeCiphers.filter(\.favorite).compactMap(VaultListItem.init) let ciphersNoFolder = activeCiphers.filter { $0.folderId == nil }.compactMap(VaultListItem.init) - let ciphersTrashCount = ciphers.lazy.filter { $0.deletedDate != nil }.count - let ciphersTrashItem = VaultListItem(id: "Trash", itemType: .group(.trash, ciphersTrashCount)) - - // Add TOTP items for premium accounts (or if organization uses TOTP without premium). - let totpItemsCount = try await totpListItems(from: ciphers, filter: filter).count - let totpItems = [totpItemsCount].filter { $0 > 0 }.map { count in - VaultListItem( - id: "Types.VerificationCodes", - itemType: .group(.totp, count) - ) + if filter.addTOTPGroup { + // Add TOTP items for premium accounts (or if organization uses TOTP without premium). + let totpItemsCount = try await totpListItems(from: ciphers, filter: filter.filterType).count + let totpItems = [totpItemsCount].filter { $0 > 0 }.map { count in + VaultListItem( + id: "Types.VerificationCodes", + itemType: .group(.totp, count) + ) + } + sections.append(VaultListSection(id: "TOTP", items: totpItems, name: Localizations.totp)) } let collectionSection = try await vaultListCollectionSection( activeCiphers: activeCiphers, collections: collections, - filter: filter + filter: filter.filterType ) var folderItems = folderVaultListItems( @@ -906,8 +916,7 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length types.append(VaultListItem(id: "Types.SSHKeys", itemType: .group(.sshKey, typesSSHKeyCount))) } - return [ - VaultListSection(id: "TOTP", items: totpItems, name: Localizations.totp), + sections.append(contentsOf: [ VaultListSection(id: "Favorites", items: ciphersFavorites, name: Localizations.favorites), VaultListSection(id: "Types", items: types, name: Localizations.types), VaultListSection(id: "Folders", items: folderItems, name: Localizations.folders), @@ -916,11 +925,17 @@ class DefaultVaultRepository { // swiftlint:disable:this type_body_length items: showNoFolderCipherGroup ? ciphersNoFolder : [], name: Localizations.folderNone ), - collectionSection, - VaultListSection(id: "Trash", items: [ciphersTrashItem], name: Localizations.trash), - ] - .compactMap { $0 } - .filter { !$0.items.isEmpty } + ]) + if let collectionSection { + sections.append(collectionSection) + } + if filter.addTrashGroup { + let ciphersTrashCount = ciphers.lazy.filter { $0.deletedDate != nil }.count + let ciphersTrashItem = VaultListItem(id: "Trash", itemType: .group(.trash, ciphersTrashCount)) + sections.append(VaultListSection(id: "Trash", items: [ciphersTrashItem], name: Localizations.trash)) + } + + return sections.filter { !$0.items.isEmpty } } } @@ -939,7 +954,7 @@ extension DefaultVaultRepository: VaultRepository { from: ciphers, collections: collections, folders: folders, - filter: filter + filter: VaultListFilter(filterType: filter) ) } @@ -1067,6 +1082,23 @@ extension DefaultVaultRepository: VaultRepository { try await stateService.getDisableAutoTotpCopy() } + func getTOTPKeyIfAllowedToCopy(cipher: CipherView) async throws -> String? { + guard let totp = cipher.login?.totp else { + return nil + } + + guard try await getDisableAutoTotpCopy() == false else { + return nil + } + + let accountHavePremium = try await doesActiveAccountHavePremium() + if !cipher.organizationUseTotp, !accountHavePremium { + return nil + } + + return totp + } + func isVaultEmpty() async throws -> Bool { try await cipherService.cipherCount() == 0 } @@ -1218,37 +1250,58 @@ extension DefaultVaultRepository: VaultRepository { func ciphersAutofillPublisher( availableFido2CredentialsPublisher: AnyPublisher<[BitwardenSdk.CipherView]?, Error>, mode: AutofillListMode, + group: VaultListGroup? = nil, rpID: String?, uri: String? ) async throws -> AsyncThrowingPublisher> { - if mode == .totp { - return try await totpCiphersAutofillPublisher() - } - - return try await Publishers.CombineLatest( - cipherService.ciphersPublisher(), - availableFido2CredentialsPublisher - ) - .asyncTryMap { ciphers, availableFido2Credentials in - let decryptedCiphers = try await ciphers.asyncMap { cipher in - try await self.clientService.vault().ciphers().decrypt(cipher: cipher) + return switch mode { + case .all: + if let group { + try await vaultListPublisher( + group: group, + filter: VaultListFilter( + addTOTPGroup: false, + addTrashGroup: false, + filterType: .allVaults + ) + ) + } else { + try await vaultListPublisher( + filter: VaultListFilter( + addTOTPGroup: false, + addTrashGroup: false, + filterType: .allVaults + ) + ) } - let matchingCiphers = await CipherMatchingHelper( - settingsService: self.settingsService, - stateService: self.stateService - ) - .ciphersMatching(uri: uri, ciphers: decryptedCiphers) - - return try await self.createAutofillListSections( - availableFido2Credentials: availableFido2Credentials, - from: matchingCiphers, - mode: mode, - rpID: rpID, - searchText: nil + case .totp: + try await totpCiphersAutofillPublisher() + default: + try await Publishers.CombineLatest( + cipherService.ciphersPublisher(), + availableFido2CredentialsPublisher ) + .asyncTryMap { ciphers, availableFido2Credentials in + let decryptedCiphers = try await ciphers.asyncMap { cipher in + try await self.clientService.vault().ciphers().decrypt(cipher: cipher) + } + let matchingCiphers = await CipherMatchingHelper( + settingsService: self.settingsService, + stateService: self.stateService + ) + .ciphersMatching(uri: uri, ciphers: decryptedCiphers) + + return try await self.createAutofillListSections( + availableFido2Credentials: availableFido2Credentials, + from: matchingCiphers, + mode: mode, + rpID: rpID, + searchText: nil + ) + } + .eraseToAnyPublisher() + .values } - .eraseToAnyPublisher() - .values } func organizationsPublisher() async throws -> AsyncThrowingPublisher> { @@ -1258,17 +1311,21 @@ extension DefaultVaultRepository: VaultRepository { func searchCipherAutofillPublisher( availableFido2CredentialsPublisher: AnyPublisher<[BitwardenSdk.CipherView]?, Error>, mode: AutofillListMode, - filterType: VaultFilterType, + filter: VaultListFilter, + group: VaultListGroup? = nil, rpID: String?, searchText: String ) async throws -> AsyncThrowingPublisher> { try await Publishers.CombineLatest( searchPublisher( searchText: searchText, - filterType: filterType, + filter: filter, isActive: true ) { cipher in - cipher.type == .login + guard let group else { + return mode == .all || cipher.type == .login + } + return cipher.belongsToGroup(group) }, availableFido2CredentialsPublisher ) @@ -1287,51 +1344,29 @@ extension DefaultVaultRepository: VaultRepository { func searchVaultListPublisher( searchText: String, - group: VaultListGroup?, - filterType: VaultFilterType + group: VaultListGroup? = nil, + filter: VaultListFilter ) async throws -> AsyncThrowingPublisher> { try await searchPublisher( searchText: searchText, - filterType: filterType, + filter: filter, isActive: group != .trash ) { cipher in guard let group else { return true } - switch group { - case .card: - return cipher.type == .card - case let .collection(id, _, _): - return cipher.collectionIds.contains(id) - case let .folder(id, _): - return cipher.folderId == id - case .identity: - return cipher.type == .identity - case .login: - return cipher.type == .login - case .noFolder: - return cipher.folderId == nil - case .secureNote: - return cipher.type == .secureNote - case .sshKey: - return cipher.type == .sshKey - case .totp: - return cipher.type == .login - && cipher.login?.totp != nil - case .trash: - return cipher.deletedDate != nil - } + return cipher.belongsToGroup(group) } .asyncTryMap { ciphers in guard case .totp = group else { return ciphers.compactMap(VaultListItem.init) } - return try await self.totpListItems(from: ciphers, filter: filterType) + return try await self.totpListItems(from: ciphers, filter: filter.filterType) } .eraseToAnyPublisher() .values } func vaultListPublisher( - filter: VaultFilterType + filter: VaultListFilter ) async throws -> AsyncThrowingPublisher> { try await Publishers.CombineLatest3( cipherService.ciphersPublisher(), @@ -1347,7 +1382,7 @@ extension DefaultVaultRepository: VaultRepository { func vaultListPublisher( group: VaultListGroup, - filter: VaultFilterType + filter: VaultListFilter ) async throws -> AsyncThrowingPublisher> { try await Publishers.CombineLatest3( cipherService.ciphersPublisher(), @@ -1379,7 +1414,7 @@ extension DefaultVaultRepository: VaultRepository { /// - rpID: The relying party identifier of the Fido2 request. /// - searchText: The current search text. /// - Returns: The sections for the autofill list. - private func createAutofillListSections( + private func createAutofillListSections( // swiftlint:disable:this function_body_length availableFido2Credentials: [CipherView]?, from ciphers: [CipherView], mode: AutofillListMode, @@ -1387,6 +1422,17 @@ extension DefaultVaultRepository: VaultRepository { searchText: String? ) async throws -> [VaultListSection] { switch mode { + case .all: + guard !ciphers.isEmpty else { + return [] + } + return [ + VaultListSection( + id: "SearchResults", + items: ciphers.compactMap { .init(cipherView: $0) }, + name: "" + ), + ] case .combinedMultipleSections, .passwords: var sections = [VaultListSection]() if #available(iOSApplicationExtension 17.0, *), @@ -1582,4 +1628,61 @@ extension DefaultVaultRepository: VaultRepository { .eraseToAnyPublisher() .values } +} + +// MARK: - CipherView + +private extension CipherView { + /// Whether the cipher belongs to a group. + /// - Parameter group: The group to filter. + /// - Returns: `true` if the cipher belongs to the group, `false` otherwise. + func belongsToGroup(_ group: VaultListGroup) -> Bool { + return switch group { + case .card: + type == .card + case let .collection(id, _, _): + collectionIds.contains(id) + case let .folder(id, _): + folderId == id + case .identity: + type == .identity + case .login: + type == .login + case .noFolder: + folderId == nil + case .secureNote: + type == .secureNote + case .sshKey: + type == .sshKey + case .totp: + type == .login && login?.totp != nil + case .trash: + deletedDate != nil + } + } +} + +// MARK: - VaultListFilter + +/// The filter to be used when getting the vault list. +public struct VaultListFilter: Sendable { + /// Whether to add the TOTP group. + let addTOTPGroup: Bool + + /// Whether to add the trash group. + let addTrashGroup: Bool + + /// The vault filter type. + let filterType: VaultFilterType + + /// Initializes the filter. + /// - Parameters: + /// - addTOTPGroup: Whether to add the TOTP group. + /// - addTrashGroup: Whether to add the trash group. + /// - filterType: The vault filter type. + init(addTOTPGroup: Bool = true, addTrashGroup: Bool = true, filterType: VaultFilterType) { + self.addTOTPGroup = addTOTPGroup + self.addTrashGroup = addTrashGroup + self.filterType = filterType + } } // swiftlint:disable:this file_length diff --git a/BitwardenShared/Core/Vault/Repositories/VaultRepositoryTests.swift b/BitwardenShared/Core/Vault/Repositories/VaultRepositoryTests.swift index 7cb93d125..e77802aea 100644 --- a/BitwardenShared/Core/Vault/Repositories/VaultRepositoryTests.swift +++ b/BitwardenShared/Core/Vault/Repositories/VaultRepositoryTests.swift @@ -210,6 +210,105 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b ) } + /// `ciphersAutofillPublisher(availableFido2CredentialsPublisher:mode:rpID:uri:)` + /// returns a publisher for the list of a user's ciphers in `.all` mode. + @MainActor + func test_ciphersAutofillPublisher_mode_all() async throws { + let ciphers: [Cipher] = [ + .fixture( + id: "1", + type: .login + ), + .fixture( + id: "2", + type: .card + ), + .fixture( + id: "3", + type: .identity + ), + .fixture( + id: "4", + type: .secureNote + ), + .fixture( + id: "5", + type: .sshKey + ), + ] + cipherService.ciphersSubject.value = ciphers + configService.featureFlagsBool[.sshKeyVaultItem] = true + var iterator = try await subject.ciphersAutofillPublisher( + availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() + .availableCredentialsForAuthenticationPublisher(), + mode: .all, + rpID: nil, + uri: nil + ).makeAsyncIterator() + let publishedSections = try await iterator.next() + + let expectedResult = VaultListSection( + id: "Types", + items: [ + .fixtureGroup(id: "Types.Logins", group: .login, count: 1), + .fixtureGroup(id: "Types.Cards", group: .card, count: 1), + .fixtureGroup(id: "Types.Identities", group: .identity, count: 1), + .fixtureGroup(id: "Types.SecureNotes", group: .secureNote, count: 1), + .fixtureGroup(id: "Types.SSHKeys", group: .sshKey, count: 1), + ], + name: Localizations.types + ) + XCTAssertEqual( + publishedSections?.first, + expectedResult + ) + let noFoldersSection = try XCTUnwrap(publishedSections?[1]) + XCTAssertEqual(noFoldersSection.id, "NoFolder") + XCTAssertEqual(noFoldersSection.items.count, 5) + } + + /// `ciphersAutofillPublisher(availableFido2CredentialsPublisher:mode:rpID:uri:)` + /// returns a publisher for the list of a user's ciphers in `.all` mode and group `.card`. + @MainActor + func test_ciphersAutofillPublisher_mode_all_groupCard() async throws { + let ciphers: [Cipher] = [ + .fixture( + id: "1", + type: .login + ), + .fixture( + id: "2", + type: .card + ), + .fixture( + id: "3", + type: .identity + ), + .fixture( + id: "4", + type: .secureNote + ), + .fixture( + id: "5", + type: .sshKey + ), + ] + cipherService.ciphersSubject.value = ciphers + configService.featureFlagsBool[.sshKeyVaultItem] = true + var iterator = try await subject.ciphersAutofillPublisher( + availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() + .availableCredentialsForAuthenticationPublisher(), + mode: .all, + group: .card, + rpID: nil, + uri: nil + ).makeAsyncIterator() + let publishedSections = try await iterator.next() + XCTAssertEqual(publishedSections?.count, 1) + XCTAssertEqual(publishedSections?[0].items.count, 1) + XCTAssertEqual(publishedSections?[0].items[0].id, "2") + } + /// `ciphersAutofillPublisher(availableFido2CredentialsPublisher:mode:rpID:uri:)` /// returns a publisher for the list of a user's ciphers matching a URI in `.combinedMultipleSections` mode. func test_ciphersAutofillPublisher_mode_combinedMultipleSections() async throws { @@ -855,6 +954,93 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b XCTAssertTrue(isDisabled) } + /// `getTOTPKeyIfAllowedToCopy(cipher:)` return the TOTP key when cipher has TOTP key, + /// is enable to auto copy the TOTP and cipher organization uses TOTP. + func test_getTOTPKeyIfAllowedToCopy_orgUsesTOTP() async throws { + stateService.activeAccount = .fixture() + stateService.disableAutoTotpCopyByUserId["1"] = false + let totpKey = try await subject.getTOTPKeyIfAllowedToCopy(cipher: .fixture( + login: .fixture(totp: "123"), + organizationUseTotp: true + )) + XCTAssertEqual(totpKey, "123") + } + + /// `getTOTPKeyIfAllowedToCopy(cipher:)` return the TOTP key when cipher has TOTP key, + /// is enable to auto copy the TOTP and cipher organization doesn't use TOTP but active account + /// has premiium. + func test_getTOTPKeyIfAllowedToCopy_accountHasPremium() async throws { + stateService.activeAccount = .fixture() + stateService.disableAutoTotpCopyByUserId["1"] = false + stateService.doesActiveAccountHavePremiumResult = .success(true) + let totpKey = try await subject.getTOTPKeyIfAllowedToCopy(cipher: .fixture( + login: .fixture(totp: "123"), + organizationUseTotp: false + )) + XCTAssertEqual(totpKey, "123") + } + + /// `getTOTPKeyIfAllowedToCopy(cipher:)` return the TOTP key when cipher has TOTP key, + /// is enable to auto copy the TOTP and cipher organization use TOTP and active account + /// has premiium. + func test_getTOTPKeyIfAllowedToCopy_orgUsesTOTPAndAccountHasPremium() async throws { + stateService.activeAccount = .fixture() + stateService.disableAutoTotpCopyByUserId["1"] = false + stateService.doesActiveAccountHavePremiumResult = .success(true) + let totpKey = try await subject.getTOTPKeyIfAllowedToCopy(cipher: .fixture( + login: .fixture(totp: "123"), + organizationUseTotp: true + )) + XCTAssertEqual(totpKey, "123") + } + + /// `getTOTPKeyIfAllowedToCopy(cipher:)` return `nil` when cipher doesn't have TOTP key. + func test_getTOTPKeyIfAllowedToCopy_totpNil() async throws { + stateService.activeAccount = .fixture() + let totpKey = try await subject.getTOTPKeyIfAllowedToCopy(cipher: .fixture( + login: .fixture(totp: nil), + organizationUseTotp: true + )) + XCTAssertNil(totpKey) + } + + /// `getTOTPKeyIfAllowedToCopy(cipher:)` return `nil` when cipher has TOTP key + /// but auto copy the TOTP is disabled. + func test_getTOTPKeyIfAllowedToCopy_autoTOTPCopyDisabled() async throws { + stateService.activeAccount = .fixture() + stateService.disableAutoTotpCopyByUserId["1"] = true + let totpKey = try await subject.getTOTPKeyIfAllowedToCopy(cipher: .fixture( + login: .fixture(totp: "123"), + organizationUseTotp: false + )) + XCTAssertNil(totpKey) + } + + /// `getTOTPKeyIfAllowedToCopy(cipher:)` return `nil` when cipher has TOTP key, + /// is enable to auto copy the TOTP and cipher organization doesn't use TOTP and active account + /// doesn't have premiium. + func test_getTOTPKeyIfAllowedToCopy_orgDoesntUseTOTPAndAccountDoesntHavePremium() async throws { + stateService.activeAccount = .fixture() + stateService.disableAutoTotpCopyByUserId["1"] = false + stateService.doesActiveAccountHavePremiumResult = .success(false) + let totpKey = try await subject.getTOTPKeyIfAllowedToCopy(cipher: .fixture( + login: .fixture(totp: "123"), + organizationUseTotp: false + )) + XCTAssertNil(totpKey) + } + + /// `getTOTPKeyIfAllowedToCopy(cipher:)` throws when no active account. + func test_getTOTPKeyIfAllowedToCopy_throws() async throws { + stateService.activeAccount = nil + await assertAsyncThrows(error: StateServiceError.noActiveAccount) { + _ = try await subject.getTOTPKeyIfAllowedToCopy(cipher: .fixture( + login: .fixture(totp: "123"), + organizationUseTotp: false + )) + } + } + /// `needsSync()` Calls the sync service to check it. func test_needsSync() async throws { stateService.activeAccount = .fixture() @@ -1007,7 +1193,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() .availableCredentialsForAuthenticationPublisher(), mode: .passwords, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: nil, searchText: "cafe" ) @@ -1032,7 +1218,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() .availableCredentialsForAuthenticationPublisher(), mode: .passwords, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: nil, searchText: "cafe" ) @@ -1056,7 +1242,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() .availableCredentialsForAuthenticationPublisher(), mode: .passwords, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: nil, searchText: "312321312" ) @@ -1081,7 +1267,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() .availableCredentialsForAuthenticationPublisher(), mode: .passwords, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: nil, searchText: "cafe" ) @@ -1117,7 +1303,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() .availableCredentialsForAuthenticationPublisher(), mode: .passwords, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: nil, searchText: "domain" ) @@ -1151,7 +1337,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .combinedMultipleSections, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: "myApp.com", searchText: "cafe" ) @@ -1204,7 +1390,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .combinedMultipleSections, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: "myApp.com", searchText: "cafe" ) @@ -1235,7 +1421,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .combinedMultipleSections, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: "myApp.com", searchText: "cafe" ) @@ -1279,7 +1465,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .combinedMultipleSections, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: "myApp.com", searchText: "cafe" ) @@ -1315,7 +1501,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .combinedSingleSection, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: "myApp.com", searchText: "caf" ) @@ -1358,7 +1544,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .combinedSingleSection, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: "myApp.com", searchText: "cafe" ) @@ -1397,7 +1583,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .combinedSingleSection, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: "myApp.com", searchText: "caf" ) @@ -1423,7 +1609,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() .availableCredentialsForAuthenticationPublisher(), mode: .passwords, - filterType: .organization(.fixture(id: "testOrg")), + filter: VaultListFilter(filterType: .organization(.fixture(id: "testOrg"))), rpID: nil, searchText: "bcd" ) @@ -1456,7 +1642,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .totp, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: nil, searchText: "caf" ) @@ -1497,7 +1683,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b availableFido2CredentialsPublisher: fido2UserInterfaceHelper .availableCredentialsForAuthenticationPublisher(), mode: .totp, - filterType: .allVaults, + filter: VaultListFilter(filterType: .allVaults), rpID: nil, searchText: "caf" ) @@ -1512,6 +1698,69 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b ) } + /// `searchCipherAutofillPublisher(availableFido2CredentialsPublisher:mode:filterType:rpID:searchText:)` + /// returns search matching cipher name in `.all` mode. + @MainActor + func test_searchCipherAutofillPublisher_searchText_name_allMode() async throws { + stateService.activeAccount = .fixtureAccountLogin() + cipherService.ciphersSubject.value = [ + .fixture(id: "1", name: "dabcd", type: .login), + .fixture(id: "2", name: "qwe", type: .secureNote), + .fixture(id: "3", name: "Café", type: .identity), + .fixture(id: "4", name: "Caféeee", type: .card), + .fixture(id: "5", name: "Cafée12312ee", type: .sshKey), + ] + configService.featureFlagsBool[.sshKeyVaultItem] = true + var iterator = try await subject + .searchCipherAutofillPublisher( + availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() + .availableCredentialsForAuthenticationPublisher(), + mode: .all, + filter: VaultListFilter(filterType: .allVaults), + rpID: nil, + searchText: "cafe" + ) + .makeAsyncIterator() + let sections = try await iterator.next() + XCTAssertEqual(sections?.count, 1) + let section = try XCTUnwrap(sections?.first) + XCTAssertEqual(section.items.count, 3) + XCTAssertEqual(section.items[0].id, "3") + XCTAssertEqual(section.items[1].id, "5") + XCTAssertEqual(section.items[2].id, "4") + } + + /// `searchCipherAutofillPublisher(availableFido2CredentialsPublisher:mode:filterType:rpID:searchText:)` + /// returns search matching cipher name in `.all` mode and `.identity` group. + @MainActor + func test_searchCipherAutofillPublisher_searchText_name_allModeIdentityGroup() async throws { + stateService.activeAccount = .fixtureAccountLogin() + cipherService.ciphersSubject.value = [ + .fixture(id: "1", name: "dabcd", type: .login), + .fixture(id: "2", name: "qwe", type: .secureNote), + .fixture(id: "3", name: "Café", type: .identity), + .fixture(id: "4", name: "Caféeee", type: .card), + .fixture(id: "5", name: "Cafée12312ee", type: .sshKey), + ] + configService.featureFlagsBool[.sshKeyVaultItem] = true + var iterator = try await subject + .searchCipherAutofillPublisher( + availableFido2CredentialsPublisher: MockFido2UserInterfaceHelper() + .availableCredentialsForAuthenticationPublisher(), + mode: .all, + filter: VaultListFilter(filterType: .allVaults), + group: .identity, + rpID: nil, + searchText: "cafe" + ) + .makeAsyncIterator() + let sections = try await iterator.next() + XCTAssertEqual(sections?.count, 1) + let section = try XCTUnwrap(sections?.first) + XCTAssertEqual(section.items.count, 1) + XCTAssertEqual(section.items[0].id, "3") + } + /// `searchVaultListPublisher(searchText:, filterType:)` returns search matching cipher name. func test_searchVaultListPublisher_searchText_name() async throws { stateService.activeAccount = .fixtureAccountLogin() @@ -1523,7 +1772,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipherView = try CipherView(cipher: XCTUnwrap(cipherService.ciphersSubject.value.last)) let expectedSearchResult = try [XCTUnwrap(VaultListItem(cipherView: cipherView))] var iterator = try await subject - .searchVaultListPublisher(searchText: "cafe", filterType: .allVaults) + .searchVaultListPublisher(searchText: "cafe", filter: VaultListFilter(filterType: .allVaults)) .makeAsyncIterator() let ciphers = try await iterator.next() XCTAssertEqual(ciphers, expectedSearchResult) @@ -1542,7 +1791,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipherView = try CipherView(cipher: XCTUnwrap(cipherService.ciphersSubject.value.last)) let expectedSearchResult = try [XCTUnwrap(VaultListItem(cipherView: cipherView))] var iterator = try await subject - .searchVaultListPublisher(searchText: "cafe", filterType: .allVaults) + .searchVaultListPublisher(searchText: "cafe", filter: VaultListFilter(filterType: .allVaults)) .makeAsyncIterator() let ciphers = try await iterator.next() XCTAssertEqual(ciphers, expectedSearchResult) @@ -1564,7 +1813,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .trash, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1595,7 +1844,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .card, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1632,7 +1881,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .folder(id: "coffee", name: "Caff-fiend"), - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1678,7 +1927,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b name: "The beans", organizationId: "Giv-em-da-beanz" ), - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1720,7 +1969,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .identity, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1772,7 +2021,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .login, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1824,7 +2073,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .secureNote, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1873,7 +2122,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .sshKey, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1915,7 +2164,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .sshKey, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1961,7 +2210,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b .searchVaultListPublisher( searchText: "cafe", group: .totp, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let ciphers = try await iterator.next() @@ -1979,7 +2228,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipherView = try CipherView(cipher: XCTUnwrap(cipherService.ciphersSubject.value[1])) let expectedSearchResult = try [XCTUnwrap(VaultListItem(cipherView: cipherView))] var iterator = try await subject - .searchVaultListPublisher(searchText: "312321312", filterType: .allVaults) + .searchVaultListPublisher(searchText: "312321312", filter: VaultListFilter(filterType: .allVaults)) .makeAsyncIterator() let ciphers = try await iterator.next() XCTAssertEqual(ciphers, expectedSearchResult) @@ -2008,7 +2257,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipherView = try CipherView(cipher: XCTUnwrap(cipherService.ciphersSubject.value.last)) let expectedSearchResult = try [XCTUnwrap(VaultListItem(cipherView: cipherView))] var iterator = try await subject - .searchVaultListPublisher(searchText: "domain", filterType: .allVaults) + .searchVaultListPublisher(searchText: "domain", filter: VaultListFilter(filterType: .allVaults)) .makeAsyncIterator() let ciphers = try await iterator.next() XCTAssertEqual(ciphers, expectedSearchResult) @@ -2026,7 +2275,16 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipherView = try CipherView(cipher: XCTUnwrap(cipherService.ciphersSubject.value.first)) let expectedSearchResult = try [XCTUnwrap(VaultListItem(cipherView: cipherView))] var iterator = try await subject - .searchVaultListPublisher(searchText: "bcd", filterType: .organization(.fixture(id: "testOrg"))) + .searchVaultListPublisher( + searchText: "bcd", + filter: VaultListFilter( + filterType: .organization( + .fixture( + id: "testOrg" + ) + ) + ) + ) .makeAsyncIterator() let ciphers = try await iterator.next() XCTAssertEqual(ciphers, expectedSearchResult) @@ -2334,7 +2592,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(id: "1", type: .card) cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .card, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .card, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() XCTAssertEqual( @@ -2356,7 +2617,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b var iterator = try await subject.vaultListPublisher( group: .collection(id: "1", name: "", organizationId: "1"), - filter: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) .makeAsyncIterator() let vaultListSections = try await iterator.next() @@ -2387,7 +2648,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b var iterator = try await subject.vaultListPublisher( group: .collection(id: "1", name: "", organizationId: "1"), - filter: .allVaults + filter: VaultListFilter(filterType: .allVaults) ).makeAsyncIterator() let vaultListSections = try await iterator.next() @@ -2407,8 +2668,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(folderId: "1", id: "1") cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .folder(id: "1", name: ""), filter: .allVaults) - .makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .folder(id: "1", name: ""), + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() XCTAssertEqual( @@ -2435,8 +2698,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let workEngineeringFolder = Folder.fixture(id: "3", name: "Work/Engineering") folderService.foldersSubject.send([workFolder, workDesignFolder, workEngineeringFolder]) - var iterator = try await subject.vaultListPublisher(group: .folder(id: "1", name: ""), filter: .allVaults) - .makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .folder(id: "1", name: ""), + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() try assertInlineSnapshot(of: dumpVaultListSections(XCTUnwrap(vaultListSections)), as: .lines) { @@ -2455,7 +2720,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(id: "1", type: .identity) cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .identity, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .identity, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() XCTAssertEqual( @@ -2475,7 +2743,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(id: "1", type: .login) cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .login, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .login, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() XCTAssertEqual( @@ -2495,7 +2766,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(id: "1", type: .secureNote) cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .secureNote, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .secureNote, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() XCTAssertEqual( @@ -2515,7 +2789,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(id: "1", type: .sshKey) cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .sshKey, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .sshKey, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() XCTAssertEqual( @@ -2536,7 +2813,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(id: "1", login: .fixture(totp: "123"), type: .login) cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .totp, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .totp, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() let vaultListItems = try XCTUnwrap(vaultListSections).flatMap(\.items) @@ -2555,7 +2835,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(id: "1", login: .fixture(totp: "123"), type: .login) cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .totp, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .totp, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() let vaultListItems = try XCTUnwrap(vaultListSections).flatMap(\.items) XCTAssertTrue(vaultListItems.isEmpty) @@ -2583,7 +2866,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b ), ]) - var iterator = try await subject.vaultListPublisher(group: .totp, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .totp, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() let vaultListItems = try XCTUnwrap(vaultListSections).flatMap(\.items) @@ -2603,7 +2889,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b clientService.mockVault.generateTOTPCodeResult = .failure(InvalidCodeError()) cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .totp, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .totp, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() try XCTAssertTrue(XCTUnwrap(vaultListSections).allSatisfy(\.items.isEmpty)) @@ -2614,7 +2903,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b let cipher = Cipher.fixture(deletedDate: Date(), id: "1") cipherService.ciphersSubject.send([cipher]) - var iterator = try await subject.vaultListPublisher(group: .trash, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .trash, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() XCTAssertEqual( @@ -2644,7 +2936,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send([collection]) folderService.foldersSubject.send([folder]) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() let expectedResult: [VaultListSection] = [ @@ -2697,6 +2991,71 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b XCTAssertEqual(vaultListSections, expectedResult) } + /// `vaultListPublisher(filter:)` returns a publisher for the vault list sections for premium account + /// when TOTP and Trash are filtered out. + func test_vaultListPublisher_section_premium_trashAndTOTPFilteredOut() async throws { // swiftlint:disable:this function_body_length line_length + stateService.activeAccount = premiumAccount + let ciphers: [Cipher] = [ + .fixture(folderId: "1", id: "1", type: .login), + .fixture(id: "2", login: .fixture(totp: "123"), type: .login), + .fixture(collectionIds: ["1"], favorite: true, id: "3"), + .fixture(deletedDate: Date(), id: "3"), + ] + let collection = Collection.fixture(id: "1") + let folder = Folder.fixture(id: "1") + cipherService.ciphersSubject.send(ciphers) + collectionService.collectionsSubject.send([collection]) + folderService.foldersSubject.send([folder]) + + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter( + addTOTPGroup: false, + addTrashGroup: false, + filterType: .allVaults + ) + ).makeAsyncIterator() + let vaultListSections = try await iterator.next() + + let expectedResult: [VaultListSection] = [ + .init( + id: "Favorites", + items: [.fixture(cipherView: .init(cipher: ciphers[2]))], + name: Localizations.favorites + ), + .init( + id: "Types", + items: [ + .fixtureGroup(id: "Types.Logins", group: .login, count: 3), + .fixtureGroup(id: "Types.Cards", group: .card, count: 0), + .fixtureGroup(id: "Types.Identities", group: .identity, count: 0), + .fixtureGroup(id: "Types.SecureNotes", group: .secureNote, count: 0), + ], + name: Localizations.types + ), + .init( + id: "Folders", + items: [ + .fixtureGroup(id: "1", group: .folder(id: "1", name: ""), count: 1), + .init(id: "NoFolderFolderItem", itemType: .group(.noFolder, 2)), + ], + name: Localizations.folders + ), + .init( + id: "Collections", + items: [ + .fixtureGroup( + id: "1", + group: .collection(id: "1", name: "", organizationId: ""), + count: 1 + ), + ], + name: Localizations.collections + ), + ] + + XCTAssertEqual(vaultListSections, expectedResult) + } + /// `vaultListPublisher(filter:)` returns a publisher for the vault list sections /// with no TOTP items for accounts without premium. func test_vaultListPublisher_section_nonPremium() async throws { // swiftlint:disable:this function_body_length @@ -2714,7 +3073,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send([collection]) folderService.foldersSubject.send([folder]) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() let expectedResult: [VaultListSection] = [ @@ -2784,7 +3145,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send([collection]) folderService.foldersSubject.send([folder]) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() let totpSections = vaultListSections?.filter { $0.id == "TOTP" } XCTAssertEqual( @@ -2808,7 +3171,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send([collection]) folderService.foldersSubject.send([folder]) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() _ = try await iterator.next() XCTAssertEqual( @@ -2826,7 +3191,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send([collection]) folderService.foldersSubject.send([folder]) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() _ = try await iterator.next() XCTAssertEqual( @@ -2850,7 +3217,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send([collection]) folderService.foldersSubject.send([folder]) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() let expectedResult: [VaultListSection] = [ .init( @@ -2906,7 +3275,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b cipherService.ciphersSubject.send(ciphers) folderService.foldersSubject.send([folder]) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let vaultListSections = try await iterator.next() let expectedResult: [VaultListSection] = [ .init( @@ -2939,6 +3310,52 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b ) } + /// `vaultListPublisher(filter:)`should return `NoFolder` items as folder item, when there are + /// more than 100 ciphers without a folder assigned and doesn't add trash + /// because it's filtered out. + func test_vaultListPublisher_section_100Cipher_dontAddTrash() async throws { + stateService.activeAccount = .fixture() + var ciphers: [Cipher] = [] + for index in 1 ... 100 { + ciphers.append(.fixture(id: "\(index)", type: .login)) + } + let folder = Folder.fixture(id: "1") + cipherService.ciphersSubject.send(ciphers) + folderService.foldersSubject.send([folder]) + + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter( + addTrashGroup: false, + filterType: .allVaults + ) + ).makeAsyncIterator() + let vaultListSections = try await iterator.next() + let expectedResult: [VaultListSection] = [ + .init( + id: "Types", + items: [ + .fixtureGroup(id: "Types.Logins", group: .login, count: 100), + .fixtureGroup(id: "Types.Cards", group: .card, count: 0), + .fixtureGroup(id: "Types.Identities", group: .identity, count: 0), + .fixtureGroup(id: "Types.SecureNotes", group: .secureNote, count: 0), + ], + name: Localizations.types + ), + .init( + id: "Folders", + items: [ + .fixtureGroup(id: "1", group: .folder(id: "1", name: ""), count: 0), + .init(id: "NoFolderFolderItem", itemType: .group(.noFolder, 100)), + ], + name: Localizations.folders + ), + ] + XCTAssertEqual( + vaultListSections, + expectedResult + ) + } + /// `vaultListPublisher()` returns a publisher for the list of sections and items that are /// displayed in the vault for a vault that contains collections and folders, with no filter. func test_vaultListPublisher_withCollections_all() async throws { @@ -2951,7 +3368,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send(syncResponse.collections.compactMap(Collection.init)) folderService.foldersSubject.send(syncResponse.folders.compactMap(Folder.init)) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let sections = try await iterator.next() try assertInlineSnapshot(of: dumpVaultListSections(XCTUnwrap(sections)), as: .lines) { @@ -2991,7 +3410,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send(syncResponse.collections.compactMap(Collection.init)) folderService.foldersSubject.send(syncResponse.folders.compactMap(Folder.init)) - var iterator = try await subject.vaultListPublisher(filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let sections = try await iterator.next() try assertInlineSnapshot(of: dumpVaultListSections(XCTUnwrap(sections)), as: .lines) { @@ -3030,7 +3451,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send(syncResponse.collections.compactMap(Collection.init)) folderService.foldersSubject.send(syncResponse.folders.compactMap(Folder.init)) - var iterator = try await subject.vaultListPublisher(filter: .myVault).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .myVault) + ).makeAsyncIterator() let sections = try await iterator.next() try assertInlineSnapshot(of: dumpVaultListSections(XCTUnwrap(sections)), as: .lines) { @@ -3066,7 +3489,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b collectionService.collectionsSubject.send(syncResponse.collections.compactMap(Collection.init)) folderService.foldersSubject.send(syncResponse.folders.compactMap(Folder.init)) - var iterator = try await subject.vaultListPublisher(filter: .myVault).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .myVault) + ).makeAsyncIterator() let sections = try await iterator.next() try assertInlineSnapshot(of: dumpVaultListSections(XCTUnwrap(sections)), as: .lines) { @@ -3103,7 +3528,9 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b folderService.foldersSubject.send(syncResponse.folders.compactMap(Folder.init)) let organization = Organization.fixture(id: "ba756e34-4650-4e8a-8cbb-6e98bfae9abf") - var iterator = try await subject.vaultListPublisher(filter: .organization(organization)).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + filter: VaultListFilter(filterType: .organization(organization)) + ).makeAsyncIterator() let sections = try await iterator.next() try assertInlineSnapshot(of: dumpVaultListSections(XCTUnwrap(sections)), as: .lines) { @@ -3137,7 +3564,10 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b ) cipherService.ciphersSubject.send(syncResponse.ciphers.compactMap(Cipher.init)) - var iterator = try await subject.vaultListPublisher(group: .login, filter: .allVaults).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .login, + filter: VaultListFilter(filterType: .allVaults) + ).makeAsyncIterator() let items = try await iterator.next() try assertInlineSnapshot(of: dumpVaultListSections(XCTUnwrap(items)), as: .lines) { @@ -3162,7 +3592,12 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b ) cipherService.ciphersSubject.send(syncResponse.ciphers.compactMap(Cipher.init)) - var iterator = try await subject.vaultListPublisher(group: .login, filter: .myVault).makeAsyncIterator() + var iterator = try await subject.vaultListPublisher( + group: .login, + filter: VaultListFilter( + filterType: .myVault + ) + ).makeAsyncIterator() let items = try await iterator.next() try assertInlineSnapshot(of: dumpVaultListSections(XCTUnwrap(items)), as: .lines) { @@ -3184,7 +3619,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b var iterator = try await subject.vaultListPublisher( group: .login, - filter: .organization(.fixture(id: "ba756e34-4650-4e8a-8cbb-6e98bfae9abf")) + filter: VaultListFilter(filterType: .organization(.fixture(id: "ba756e34-4650-4e8a-8cbb-6e98bfae9abf"))) ).makeAsyncIterator() let items = try await iterator.next() @@ -3215,7 +3650,7 @@ class VaultRepositoryTests: BitwardenTestCase { // swiftlint:disable:this type_b name: "Engineering", organizationId: "ba756e34-4650-4e8a-8cbb-6e98bfae9abf" ), - filter: .allVaults + filter: VaultListFilter(filterType: .allVaults) ).makeAsyncIterator() let items = try await iterator.next() diff --git a/BitwardenShared/UI/Auth/Utilities/TestHelpers/MockUserVerificationHelperFactory.swift b/BitwardenShared/UI/Auth/Utilities/TestHelpers/MockUserVerificationHelperFactory.swift new file mode 100644 index 000000000..9d44365ac --- /dev/null +++ b/BitwardenShared/UI/Auth/Utilities/TestHelpers/MockUserVerificationHelperFactory.swift @@ -0,0 +1,11 @@ +@testable import BitwardenShared + +class MockUserVerificationHelperFactory: UserVerificationHelperFactory { + var createCalled = false + var createResult: UserVerificationHelper? + + func create() -> UserVerificationHelper { + createCalled = true + return createResult ?? MockUserVerificationHelper() + } +} diff --git a/BitwardenShared/UI/Auth/Utilities/UserVerificationHelperFactory.swift b/BitwardenShared/UI/Auth/Utilities/UserVerificationHelperFactory.swift new file mode 100644 index 000000000..fe3989ade --- /dev/null +++ b/BitwardenShared/UI/Auth/Utilities/UserVerificationHelperFactory.swift @@ -0,0 +1,26 @@ +/// A factory protocol to create `UserVerificationHelper`s. +protocol UserVerificationHelperFactory { + func create() -> UserVerificationHelper +} + +/// The default implementation for `UserVerificationHelperFactory`. +struct DefaultUserVerificationHelperFactory: UserVerificationHelperFactory { + // MARK: Properties + + /// The repository used by the application to manage auth data for the UI layer. + let authRepository: AuthRepository + /// The service used by the application to report non-fatal errors. + let errorReporter: ErrorReporter + /// The service used by the application to evaluate local auth policies. + let localAuthService: LocalAuthService + + // MARK: Methods + + func create() -> UserVerificationHelper { + DefaultUserVerificationHelper( + authRepository: authRepository, + errorReporter: errorReporter, + localAuthService: localAuthService + ) + } +} diff --git a/BitwardenShared/UI/Auth/Utilities/UserVerificationHelperFactoryTests.swift b/BitwardenShared/UI/Auth/Utilities/UserVerificationHelperFactoryTests.swift new file mode 100644 index 000000000..d0ccc0952 --- /dev/null +++ b/BitwardenShared/UI/Auth/Utilities/UserVerificationHelperFactoryTests.swift @@ -0,0 +1,46 @@ +import XCTest + +@testable import BitwardenShared + +// MARK: - UserVerificationHelperFactoryTests + +class UserVerificationHelperFactoryTests: BitwardenTestCase { + // MARK: Properties + + var authRepository: MockAuthRepository! + var errorReporter: MockErrorReporter! + var localAuthService: MockLocalAuthService! + var subject: DefaultUserVerificationHelperFactory! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + authRepository = MockAuthRepository() + errorReporter = MockErrorReporter() + localAuthService = MockLocalAuthService() + subject = DefaultUserVerificationHelperFactory( + authRepository: authRepository, + errorReporter: errorReporter, + localAuthService: localAuthService + ) + } + + override func tearDown() { + super.tearDown() + + authRepository = nil + errorReporter = nil + localAuthService = nil + subject = nil + } + + // MARK: Tests + + /// `create()` creates an instance of `DefaultUserVerificationHelper`. + func test_create() { + let result = subject.create() + XCTAssertTrue(result is DefaultUserVerificationHelper) + } +} diff --git a/BitwardenShared/UI/Autofill/Application/AutofillAppExtensionDelegate.swift b/BitwardenShared/UI/Autofill/Application/AutofillAppExtensionDelegate.swift index 2672bd65a..8b23149ae 100644 --- a/BitwardenShared/UI/Autofill/Application/AutofillAppExtensionDelegate.swift +++ b/BitwardenShared/UI/Autofill/Application/AutofillAppExtensionDelegate.swift @@ -26,6 +26,10 @@ public protocol AutofillAppExtensionDelegate: AppExtensionDelegate { @available(iOSApplicationExtension 17.0, *) func completeRegistrationRequest(asPasskeyRegistrationCredential: ASPasskeyRegistrationCredential) + /// Completes the text request with some text to insert. + @available(iOSApplicationExtension 18.0, *) + func completeTextRequest(text: String) + /// Gets a publisher for when `didAppear` happens. func getDidAppearPublisher() -> AsyncPublisher> @@ -41,6 +45,8 @@ extension AutofillAppExtensionDelegate { .combinedMultipleSections case .autofillOTP: .totp + case .autofillText: + .all case .registerFido2Credential: .combinedSingleSection default: diff --git a/BitwardenShared/UI/Autofill/Application/AutofillAppExtensionDelegateTests.swift b/BitwardenShared/UI/Autofill/Application/AutofillAppExtensionDelegateTests.swift index 2cee04100..c81cc3d94 100644 --- a/BitwardenShared/UI/Autofill/Application/AutofillAppExtensionDelegateTests.swift +++ b/BitwardenShared/UI/Autofill/Application/AutofillAppExtensionDelegateTests.swift @@ -34,6 +34,9 @@ class AutofillAppExtensionDelegateTests: BitwardenTestCase { subject.extensionMode = .autofillOTP([]) XCTAssertEqual(subject.autofillListMode, .totp) + subject.extensionMode = .autofillText + XCTAssertEqual(subject.autofillListMode, .all) + subject.extensionMode = .registerFido2Credential(ASPasskeyCredentialRequest.fixture()) XCTAssertEqual(subject.autofillListMode, .combinedSingleSection) diff --git a/BitwardenShared/UI/Autofill/Application/TestHelpers/MockAutofillAppExtensionDelegate.swift b/BitwardenShared/UI/Autofill/Application/TestHelpers/MockAutofillAppExtensionDelegate.swift index 5d8807460..d7275b3bc 100644 --- a/BitwardenShared/UI/Autofill/Application/TestHelpers/MockAutofillAppExtensionDelegate.swift +++ b/BitwardenShared/UI/Autofill/Application/TestHelpers/MockAutofillAppExtensionDelegate.swift @@ -9,6 +9,7 @@ class MockAutofillAppExtensionDelegate: MockAppExtensionDelegate, AutofillAppExt var completeAssertionRequestMocker = InvocationMocker() var completeOTPRequestCodeCalled: String? var completeRegistrationRequestMocker = InvocationMocker() + var completeTextRequestTextToInsert: String? var extensionMode: AutofillExtensionMode = .configureAutofill var didAppearPublisher = CurrentValueSubject(false) var setUserInteractionRequiredCalled = false @@ -27,6 +28,11 @@ class MockAutofillAppExtensionDelegate: MockAppExtensionDelegate, AutofillAppExt completeRegistrationRequestMocker.invoke(param: asPasskeyRegistrationCredential) } + @available(iOSApplicationExtension 18.0, *) + func completeTextRequest(text: String) { + completeTextRequestTextToInsert = text + } + func getDidAppearPublisher() -> AsyncPublisher> { didAppearPublisher .eraseToAnyPublisher() diff --git a/BitwardenShared/UI/Platform/Application/Extensions/View+Toolbar.swift b/BitwardenShared/UI/Platform/Application/Extensions/View+Toolbar.swift index fa6c559f3..4b7291413 100644 --- a/BitwardenShared/UI/Platform/Application/Extensions/View+Toolbar.swift +++ b/BitwardenShared/UI/Platform/Application/Extensions/View+Toolbar.swift @@ -7,11 +7,14 @@ extension View { /// Returns a toolbar button configured for cancelling an operation in a view. /// - /// - Parameter action: The action to perform when the button is tapped. + /// - Parameters: + /// - hidden: Whether to hide the toolbar item. + /// - action: The action to perform when the button is tapped. /// - Returns: A `Button` configured for cancelling an operation in a view. /// - func cancelToolbarButton(action: @escaping () -> Void) -> some View { + func cancelToolbarButton(hidden: Bool = false, action: @escaping () -> Void) -> some View { toolbarButton(Localizations.cancel, action: action) + .hidden(hidden) .accessibilityIdentifier("CancelButton") } @@ -122,12 +125,16 @@ extension View { /// A `ToolbarItem` for views with a cancel text button. /// - /// - Parameter action: The action to perform when the cancel button is tapped. + /// - Parameters: + /// - hidden: Whether to hide the toolbar item. + /// - action: The action to perform when the cancel button is tapped. /// - Returns: A `ToolbarItem` with a dismiss button. /// - func cancelToolbarItem(_ action: @escaping () -> Void) -> some ToolbarContent { + func cancelToolbarItem(hidden: Bool = false, _ action: @escaping () -> Void) -> some ToolbarContent { ToolbarItem(placement: .topBarLeading) { - cancelToolbarButton(action: action) + if !hidden { + cancelToolbarButton(hidden: hidden, action: action) + } } } diff --git a/BitwardenShared/UI/Platform/Application/Support/Localizations/en.lproj/Localizable.strings b/BitwardenShared/UI/Platform/Application/Support/Localizations/en.lproj/Localizable.strings index 750e9707b..05d15b926 100644 --- a/BitwardenShared/UI/Platform/Application/Support/Localizations/en.lproj/Localizable.strings +++ b/BitwardenShared/UI/Platform/Application/Support/Localizations/en.lproj/Localizable.strings @@ -1059,5 +1059,8 @@ "CopyPrivateKey" = "Copy private key"; "CopyFingerprint" = "Copy fingerprint"; "SSHKeys" = "SSH keys"; +"NothingAvailableToAutofill" = "Nothing available to autofill"; +"FailedToGenerateVerificationCode" = "Failed to generate verification code"; +"FailedToAutofillItem" = "Failed to autofill item %1$@"; "ExportingFailed" = "Exporting failed"; "YouMayNeedToEnableDevicePasscodeOrBiometrics" = "You may need to enable device passcode or biometrics."; diff --git a/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelper.swift b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelper.swift new file mode 100644 index 000000000..b146c3a02 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelper.swift @@ -0,0 +1,20 @@ +import BitwardenSdk + +@testable import BitwardenShared + +class MockTextAutofillHelper: TextAutofillHelper { + var handleCipherForAutofillError: Error? + var handleCipherForAutofillCalledWithCipher: CipherView? + var textAutofillHelperDelegate: (any TextAutofillHelperDelegate)? + + func handleCipherForAutofill(cipherView: CipherView) async throws { + handleCipherForAutofillCalledWithCipher = cipherView + if let handleCipherForAutofillError { + throw handleCipherForAutofillError + } + } + + func setTextAutofillHelperDelegate(_ delegate: TextAutofillHelperDelegate) { + textAutofillHelperDelegate = delegate + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelperDelegate.swift b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelperDelegate.swift new file mode 100644 index 000000000..6d10faa6f --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelperDelegate.swift @@ -0,0 +1,16 @@ +@testable import BitwardenShared + +class MockTextAutofillHelperDelegate: TextAutofillHelperDelegate { + var alertsShown = [Alert]() + var alertOnDismissed: (() -> Void)? + var completeTextRequestText: String? + + func completeTextRequest(text: String) { + completeTextRequestText = text + } + + func showAlert(_ alert: BitwardenShared.Alert, onDismissed: (() -> Void)?) { + alertsShown.append(alert) + alertOnDismissed = onDismissed + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelperFactory.swift b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelperFactory.swift new file mode 100644 index 000000000..c6e7c9d3f --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillHelperFactory.swift @@ -0,0 +1,11 @@ +import BitwardenSdk + +@testable import BitwardenShared + +class MockTextAutofillHelperFactory: TextAutofillHelperFactory { + var createResult: TextAutofillHelper? + + func create(delegate: TextAutofillHelperDelegate) -> TextAutofillHelper { + createResult ?? NoOpTextAutofillHelper() + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillOptionsHelper.swift b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillOptionsHelper.swift new file mode 100644 index 000000000..e596d266f --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillOptionsHelper.swift @@ -0,0 +1,11 @@ +import BitwardenSdk + +@testable import BitwardenShared + +class MockTextAutofillOptionsHelper: TextAutofillOptionsHelper { + var getTextAutofillOptionsResult: [(localizedOption: String, textToInsert: String)] = [] + + func getTextAutofillOptions(cipherView: CipherView) async -> [(localizedOption: String, textToInsert: String)] { + getTextAutofillOptionsResult + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillOptionsHelperFactory.swift b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillOptionsHelperFactory.swift new file mode 100644 index 000000000..710384d47 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TestHelpers/MockTextAutofillOptionsHelperFactory.swift @@ -0,0 +1,11 @@ +import BitwardenSdk + +@testable import BitwardenShared + +class MockTextAutofillOptionsHelperFactory: TextAutofillOptionsHelperFactory { + var createResult: TextAutofillOptionsHelper? + + func create(cipherView: CipherView) -> TextAutofillOptionsHelper { + createResult ?? MockTextAutofillOptionsHelper() + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TestHelpers/TextAutofillOptionsHelperDumper.swift b/BitwardenShared/UI/Vault/Helpers/TestHelpers/TextAutofillOptionsHelperDumper.swift new file mode 100644 index 000000000..5c761579a --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TestHelpers/TextAutofillOptionsHelperDumper.swift @@ -0,0 +1,12 @@ +/// Helper to dump options data so it's easier to assert in tests. +enum TextAutofillOptionsHelperDumper { + /// Dumps the options into lines to be asserted more easily. + static func dump(_ options: [(localizedOption: String, textToInsert: String)]) -> String { + options.reduce(into: "") { result, option in + result.append("\(option.localizedOption), \(option.textToInsert)") + if let last = options.last, option != last { + result.append("\n") + } + } + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillHelper.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelper.swift new file mode 100644 index 000000000..8f6577b8c --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelper.swift @@ -0,0 +1,228 @@ +import BitwardenSdk + +// MARK: - TextAutofillHelper + +/// Protocol that helps to autofill text for any cipher type. +/// Note: This is momentary until the UI/UX is improved in the Autofill text flow. +protocol TextAutofillHelper: AnyObject { + /// Handles autofilling text to insert from a cipher by presenting options for the user + /// to choose which field they want to use for autofilling text. + /// - Parameter cipherView: The cipher to present options and get text to autofill. + func handleCipherForAutofill(cipherView: CipherView) async throws + + /// Sets the delegate to used with this helper. + func setTextAutofillHelperDelegate(_ delegate: TextAutofillHelperDelegate) +} + +// MARK: - TextAutofillHelperDelegate + +/// A delegate to be used with the `TextAutofillHelper`. +@MainActor +protocol TextAutofillHelperDelegate: AnyObject { + /// Completes the text request with some text to insert. + @available(iOSApplicationExtension 18.0, *) + func completeTextRequest(text: String) + + /// Shows the alert. + /// + /// - Parameters: + /// - alert: The alert to show. + /// - onDismissed: An optional closure that is called when the alert is dismissed. + /// + func showAlert(_ alert: Alert, onDismissed: (() -> Void)?) +} + +@MainActor +extension TextAutofillHelperDelegate { + /// Shows the alert. + /// + /// - Parameters: + /// - alert: The alert to show. + /// - onDismissed: An optional closure that is called when the alert is dismissed. + /// + func showAlert(_ alert: Alert) { + showAlert(alert, onDismissed: nil) + } +} + +// MARK: - DefaultTextAutofillHelper + +/// Default implementation of `TextAutofillHelper`. +@available(iOS 18.0, *) +class DefaultTextAutofillHelper: TextAutofillHelper { + // MARK: Properties + + /// The service used by the application to report non-fatal errors. + private let errorReporter: ErrorReporter + + /// The service used to record and send events. + private let eventService: EventService + + /// The delegate to used with this helper. + private weak var textAutofillHelperDelegate: TextAutofillHelperDelegate? + + /// The factory to create `TextAutofillOptionsHelper`. + private let textAutofillOptionsHelperFactory: TextAutofillOptionsHelperFactory + + /// The repository used by the application to manage vault data for the UI layer. + private let vaultRepository: VaultRepository + + // MARK: Initialization + + /// Initialize an `DefaultTextAutofillHelper`. + /// + /// - Parameters: + /// - errorReporter: The coordinator that handles navigation. + /// - eventService: The service used to record and send events. + /// - textAutofillOptionsHelperFactory: The factory to create `TextAutofillOptionsHelper`. + /// - vaultRepository: The repository used by the application to manage vault data for the UI layer. + /// + init( + errorReporter: ErrorReporter, + eventService: EventService, + textAutofillOptionsHelperFactory: TextAutofillOptionsHelperFactory, + vaultRepository: VaultRepository + ) { + self.errorReporter = errorReporter + self.eventService = eventService + self.textAutofillOptionsHelperFactory = textAutofillOptionsHelperFactory + self.vaultRepository = vaultRepository + } + + // MARK: Methods + + func handleCipherForAutofill(cipherView: CipherView) async throws { + let options = await textAutofillOptionsHelperFactory + .create(cipherView: cipherView) + .getTextAutofillOptions(cipherView: cipherView) + + var alertActions = options.map { option in + AlertAction( + title: option.localizedOption, + style: .default + ) { [weak self] _, _ in + guard let self else { return } + await completeTextAutofill( + localizedOption: option.localizedOption, + textToInsert: option.textToInsert + ) + } + } + if let customFieldAlertAction = getCustomFieldAlertActionIfNeeded(cipherView: cipherView) { + alertActions.append(customFieldAlertAction) + } + + guard !alertActions.isEmpty else { + await textAutofillHelperDelegate?.showAlert(.defaultAlert( + title: cipherView.name, + message: Localizations.nothingAvailableToAutofill + )) + return + } + + await textAutofillHelperDelegate?.showAlert( + Alert( + title: Localizations.autofill, + message: nil, + preferredStyle: .actionSheet, + alertActions: alertActions + [AlertAction(title: Localizations.cancel, style: .cancel)] + ) + ) + } + + /// Sets the delegate to used with this helper. + func setTextAutofillHelperDelegate(_ delegate: TextAutofillHelperDelegate) { + textAutofillHelperDelegate = delegate + } + + // MARK: Private + + /// Completes the text autofill request with the specified value. + /// - Parameters: + /// - localizedOption: The localized option selected. + /// - textToInsert: The value to be used to complete the request. + private func completeTextAutofill(localizedOption: String, textToInsert: String) async { + do { + guard localizedOption != Localizations.verificationCode else { + let key = TOTPKeyModel(authenticatorKey: textToInsert) + if let codeModel = try await vaultRepository.refreshTOTPCode(for: key).codeModel { + await textAutofillHelperDelegate?.completeTextRequest(text: codeModel.code) + } + return + } + await textAutofillHelperDelegate?.completeTextRequest(text: textToInsert) + } catch { + await textAutofillHelperDelegate?.showAlert( + .defaultAlert( + title: Localizations.anErrorHasOccurred, + message: Localizations.failedToGenerateVerificationCode + ) + ) + errorReporter.log(error: error) + } + } + + /// Gets the custom field alert action if requirements are met. + /// - Parameter cipherView: The cipher to get the custom fields. + /// - Returns: The alert action if requirements are met. + private func getCustomFieldAlertActionIfNeeded(cipherView: CipherView) -> AlertAction? { + let availableCustomFields = cipherView.customFields.filter { field in + field.type != .hidden || cipherView.viewPassword + } + guard !availableCustomFields.isEmpty else { + return nil + } + + return AlertAction( + title: Localizations.customFields, + style: .default + ) { [weak self] _, _ in + guard let self else { return } + await showCustomFieldsOptionsForAutofill(availableCustomFields) + } + } + + /// Shows the custom fields for the user to choose from to autofill. + /// - Parameters: + /// - customFields: The custom fields to show the options. + private func showCustomFieldsOptionsForAutofill(_ customFields: [CustomFieldState]) async { + let alertActions: [AlertAction] = customFields.compactMap { field in + guard let name = field.name, let value = field.value else { + return nil + } + + return AlertAction( + title: name, + style: .default + ) { [weak self] _, _ in + guard let self else { return } + await completeTextAutofill( + localizedOption: name, + textToInsert: value + ) + } + } + await textAutofillHelperDelegate?.showAlert( + Alert( + title: Localizations.autofill, + message: nil, + preferredStyle: .actionSheet, + alertActions: alertActions + [AlertAction(title: Localizations.cancel, style: .cancel)] + ) + ) + } +} + +// MARK: NoOpTextAutofillHelper + +/// Helper to be used on iOS less than 18.0 given that we don't have autofilling text feature available. +class NoOpTextAutofillHelper: TextAutofillHelper { + func handleCipherForAutofill(cipherView: BitwardenSdk.CipherView) async { + // No-op + } + + /// Sets the delegate to used with this helper. + func setTextAutofillHelperDelegate(_ delegate: TextAutofillHelperDelegate) { + // No-op + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperFactory.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperFactory.swift new file mode 100644 index 000000000..45bfa7631 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperFactory.swift @@ -0,0 +1,78 @@ +/// Protocol to provide a factory to create `TextAutofillHelperFactory`. +protocol TextAutofillHelperFactory { + /// Creates an instance of `TextAutofillHelperFactory`. + /// - Parameter delegate: The delegate to be used with the `TextAutofillHelper` + /// - Returns: An instance of `TextAutofillHelper` + func create(delegate: TextAutofillHelperDelegate) -> TextAutofillHelper +} + +/// Default implemenation of `TextAutofillHelperFactory`. +struct DefaultTextAutofillHelperFactory: TextAutofillHelperFactory { + // MARK: Properties + + /// The repository used by the application to manage auth data for the UI layer. + private let authRepository: AuthRepository + + /// The service used by the application to report non-fatal errors. + private let errorReporter: ErrorReporter + + /// The service used to record and send events. + private let eventService: EventService + + /// A factory to create `UserVerificationHelper`s. + private let userVerificationHelperFactory: UserVerificationHelperFactory + + /// The repository used by the application to manage vault data for the UI layer. + private let vaultRepository: VaultRepository + + // MARK: Initialization + + /// Initialize an `DefaultTextAutofillHelper`. + /// + /// - Parameters: + /// - authRepository: The repository used by the application to manage auth data for the UI layer. + /// - errorReporter: The coordinator that handles navigation. + /// - eventService: The service used to record and send events. + /// - userVerificationHelperFactory:A factory to create `UserVerificationHelper`s. + /// - vaultRepository: The repository used by the application to manage vault data for the UI layer. + /// + init( + authRepository: AuthRepository, + errorReporter: ErrorReporter, + eventService: EventService, + userVerificationHelperFactory: UserVerificationHelperFactory, + vaultRepository: VaultRepository + ) { + self.authRepository = authRepository + self.errorReporter = errorReporter + self.eventService = eventService + self.userVerificationHelperFactory = userVerificationHelperFactory + self.vaultRepository = vaultRepository + } + + // MARK: Methods + + func create(delegate: TextAutofillHelperDelegate) -> TextAutofillHelper { + guard #available(iOS 18.0, *) else { + return NoOpTextAutofillHelper() + } + + let userVerificationHelper = userVerificationHelperFactory.create() + let textAutofillHelper = TextAutofillHelperRepromptWrapper( + authRepository: authRepository, + errorReporter: errorReporter, + textAutofillHelper: DefaultTextAutofillHelper( + errorReporter: errorReporter, + eventService: eventService, + textAutofillOptionsHelperFactory: DefaultTextAutofillOptionsHelperFactory( + errorReporter: errorReporter, + vaultRepository: vaultRepository + ), + vaultRepository: vaultRepository + ), + userVerificationHelper: userVerificationHelper + ) + textAutofillHelper.setTextAutofillHelperDelegate(delegate) + return textAutofillHelper + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperFactoryTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperFactoryTests.swift new file mode 100644 index 000000000..d6ce9b170 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperFactoryTests.swift @@ -0,0 +1,61 @@ +import XCTest + +@testable import BitwardenShared + +// MARK: - TextAutofillHelperFactoryTests + +class TextAutofillHelperFactoryTests: BitwardenTestCase { + // MARK: Properties + + var authRepository: MockAuthRepository! + var errorReporter: MockErrorReporter! + var eventService: MockEventService! + var subject: TextAutofillHelperFactory! + var userVerificationHelperFactory: MockUserVerificationHelperFactory! + var vaultRepository: MockVaultRepository! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + authRepository = MockAuthRepository() + errorReporter = MockErrorReporter() + eventService = MockEventService() + userVerificationHelperFactory = MockUserVerificationHelperFactory() + vaultRepository = MockVaultRepository() + subject = DefaultTextAutofillHelperFactory( + authRepository: authRepository, + errorReporter: errorReporter, + eventService: eventService, + userVerificationHelperFactory: userVerificationHelperFactory, + vaultRepository: vaultRepository + ) + } + + override func tearDown() { + super.tearDown() + + authRepository = nil + errorReporter = nil + eventService = nil + subject = nil + vaultRepository = nil + } + + // MARK: Tests + + /// `create()` creates the appropriate `TextAutofillHelper` depending on the OS version. + @MainActor + func test_create_returnsTextAutofillHelper() { + let delegate = MockTextAutofillHelperDelegate() + let helper = subject.create(delegate: delegate) + + guard #available(iOS 18.0, *) else { + XCTAssertTrue(helper is NoOpTextAutofillHelper) + return + } + XCTAssertTrue(helper is TextAutofillHelperRepromptWrapper) + XCTAssertTrue(userVerificationHelperFactory.createCalled) + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperRepromptWrapper.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperRepromptWrapper.swift new file mode 100644 index 000000000..f8e26f8d3 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperRepromptWrapper.swift @@ -0,0 +1,73 @@ +import BitwardenSdk + +/// A wrapper for `TextAutofillHelper` which adds the logic for master password reprompt if necessary. +@available(iOS 18.0, *) +class TextAutofillHelperRepromptWrapper: TextAutofillHelper { + // MARK: Properties + + /// The repository used by the application to manage auth data for the UI layer. + private let authRepository: AuthRepository + + /// The service used by the application to report non-fatal errors. + private let errorReporter: ErrorReporter + + /// The actual text autofill helper + private let textAutofillHelper: TextAutofillHelper + + /// The delegate to used with this helper. + private weak var textAutofillHelperDelegate: TextAutofillHelperDelegate? + + /// Helper to execute user verifications. + private var userVerificationHelper: UserVerificationHelper + + /// Initializes a `TextAutofillHelperRepromptWrapper`. + /// - Parameters: + /// - authRepository: The repository used by the application to manage auth data for the UI layer. + /// - errorReporter: The service used by the application to report non-fatal errors. + /// - textAutofillHelper: The actual text autofill helper. + /// - userVerificationHelper: Helper to execute user verifications. + init( + authRepository: AuthRepository, + errorReporter: ErrorReporter, + textAutofillHelper: TextAutofillHelper, + userVerificationHelper: UserVerificationHelper + ) { + self.authRepository = authRepository + self.errorReporter = errorReporter + self.userVerificationHelper = userVerificationHelper + self.textAutofillHelper = textAutofillHelper + self.userVerificationHelper.userVerificationDelegate = self + } + + func handleCipherForAutofill(cipherView: BitwardenSdk.CipherView) async throws { + do { + if cipherView.reprompt == .password, + try await authRepository.hasMasterPassword(), + try await userVerificationHelper.verifyMasterPassword() != .verified { + return + } + + try await textAutofillHelper.handleCipherForAutofill(cipherView: cipherView) + } catch UserVerificationError.cancelled { + // No-op + } + } + + func setTextAutofillHelperDelegate(_ delegate: any TextAutofillHelperDelegate) { + textAutofillHelperDelegate = delegate + textAutofillHelper.setTextAutofillHelperDelegate(delegate) + } +} + +// MARK: - UserVerificationDelegate + +@available(iOSApplicationExtension 18.0, *) +extension TextAutofillHelperRepromptWrapper: UserVerificationDelegate { + func showAlert(_ alert: Alert) { + textAutofillHelperDelegate?.showAlert(alert) + } + + func showAlert(_ alert: Alert, onDismissed: (() -> Void)?) { + textAutofillHelperDelegate?.showAlert(alert, onDismissed: onDismissed) + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperRepromptWrapperTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperRepromptWrapperTests.swift new file mode 100644 index 000000000..83969cfd5 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperRepromptWrapperTests.swift @@ -0,0 +1,173 @@ +import BitwardenSdk +import XCTest + +@testable import BitwardenShared + +// MARK: - TextAutofillHelperRepromptWrapperTests + +@available(iOS 18.0, *) +class TextAutofillHelperRepromptWrapperTests: BitwardenTestCase { + // MARK: Properties + + var authRepository: MockAuthRepository! + var errorReporter: MockErrorReporter! + var subject: TextAutofillHelperRepromptWrapper! + var textAutofillHelper: MockTextAutofillHelper! + var textAutofillHelperDelegate: MockTextAutofillHelperDelegate! + var userVerificationHelper: MockUserVerificationHelper! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + authRepository = MockAuthRepository() + errorReporter = MockErrorReporter() + userVerificationHelper = MockUserVerificationHelper() + textAutofillHelper = MockTextAutofillHelper() + textAutofillHelperDelegate = MockTextAutofillHelperDelegate() + subject = TextAutofillHelperRepromptWrapper( + authRepository: authRepository, + errorReporter: errorReporter, + textAutofillHelper: textAutofillHelper, + userVerificationHelper: userVerificationHelper + ) + subject.setTextAutofillHelperDelegate(textAutofillHelperDelegate) + } + + override func tearDown() { + super.tearDown() + + authRepository = nil + errorReporter = nil + userVerificationHelper = nil + subject = nil + textAutofillHelper = nil + textAutofillHelperDelegate = nil + } + + // MARK: Tests + + /// `handleCipherForAutofill(cipherView:)` handles the cipher for autofill with the inner helper + /// when cipher reprompt value is not password. + func test_handleCipherForAutofill_noReprompt() async throws { + try await subject.handleCipherForAutofill(cipherView: .fixture( + id: "1", + reprompt: .none + )) + XCTAssertEqual( + textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id, + "1" + ) + XCTAssertFalse(userVerificationHelper.verifyMasterPasswordCalled) + } + + /// `handleCipherForAutofill(cipherView:)` handles the cipher for autofill with the inner helper + /// when cipher reprompt value is password but user doesn't have master password. + func test_handleCipherForAutofill_cipherRepromptButNoMasterPassword() async throws { + authRepository.hasMasterPasswordResult = .success(false) + try await subject.handleCipherForAutofill(cipherView: .fixture( + id: "1", + reprompt: .password + )) + XCTAssertEqual( + textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id, + "1" + ) + XCTAssertFalse(userVerificationHelper.verifyMasterPasswordCalled) + } + + /// `handleCipherForAutofill(cipherView:)` handles the cipher for autofill with the inner helper + /// when cipher reprompt value is password, user has master password and verifying master password + /// results in `.verified`. + func test_handleCipherForAutofill_cipherRepromptHasMasterPasswordAndVerified() async throws { + authRepository.hasMasterPasswordResult = .success(true) + userVerificationHelper.verifyMasterPasswordResult = .success(.verified) + try await subject.handleCipherForAutofill(cipherView: .fixture( + id: "1", + reprompt: .password + )) + XCTAssertEqual( + textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id, + "1" + ) + XCTAssertTrue(userVerificationHelper.verifyMasterPasswordCalled) + } + + /// `handleCipherForAutofill(cipherView:)` doesn't handle the cipher for autofill with the inner helper + /// when cipher reprompt value is password, user has master password and verifying master password + /// results in `.notVerified`. + func test_handleCipherForAutofill_cipherRepromptHasMasterPasswordAndNotVerified() async throws { + authRepository.hasMasterPasswordResult = .success(true) + userVerificationHelper.verifyMasterPasswordResult = .success(.notVerified) + try await subject.handleCipherForAutofill(cipherView: .fixture( + id: "1", + reprompt: .password + )) + XCTAssertNil(textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id) + XCTAssertTrue(userVerificationHelper.verifyMasterPasswordCalled) + } + + /// `handleCipherForAutofill(cipherView:)` doesn't handle the cipher for autofill with the inner helper + /// when cipher reprompt value is password, user has master password and verifying master password + /// results in `.unableToPerform`. + func test_handleCipherForAutofill_cipherRepromptHasMasterPasswordAndUnableToPerform() async throws { + authRepository.hasMasterPasswordResult = .success(true) + userVerificationHelper.verifyMasterPasswordResult = .success(.unableToPerform) + try await subject.handleCipherForAutofill(cipherView: .fixture( + id: "1", + reprompt: .password + )) + XCTAssertNil(textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id) + XCTAssertTrue(userVerificationHelper.verifyMasterPasswordCalled) + } + + /// `handleCipherForAutofill(cipherView:)` doesn't handle the cipher for autofill with the inner helper + /// when cipher reprompt value is password, user has master password and verifying master password + /// results in user cancelling. + func test_handleCipherForAutofill_cipherRepromptHasMasterPasswordAndUserCancelled() async throws { + authRepository.hasMasterPasswordResult = .success(true) + userVerificationHelper.verifyMasterPasswordResult = .failure(UserVerificationError.cancelled) + try await subject.handleCipherForAutofill(cipherView: .fixture( + id: "1", + reprompt: .password + )) + XCTAssertNil(textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id) + XCTAssertTrue(userVerificationHelper.verifyMasterPasswordCalled) + } + + /// `handleCipherForAutofill(cipherView:)` doesn't handle the cipher for autofill with the inner helper + /// when cipher reprompt value is password, user has master password and verifying master password + /// throws error. + func test_handleCipherForAutofill_cipherRepromptHasMasterPasswordAndVerifyingThrows() async throws { + authRepository.hasMasterPasswordResult = .success(true) + userVerificationHelper.verifyMasterPasswordResult = .failure(BitwardenTestError.example) + await assertAsyncThrows(error: BitwardenTestError.example) { + try await subject.handleCipherForAutofill(cipherView: .fixture( + id: "1", + reprompt: .password + )) + } + XCTAssertNil(textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id) + XCTAssertTrue(userVerificationHelper.verifyMasterPasswordCalled) + } + + /// `handleCipherForAutofill(cipherView:)` doesn't handle the cipher for autofill with the inner helper + /// when cipher reprompt value is password and checking if user has master password throws. + func test_handleCipherForAutofill_cipherRepromptCheckHasMasterPasswordThrows() async throws { + authRepository.hasMasterPasswordResult = .failure(BitwardenTestError.example) + await assertAsyncThrows(error: BitwardenTestError.example) { + try await subject.handleCipherForAutofill(cipherView: .fixture( + id: "1", + reprompt: .password + )) + } + XCTAssertNil(textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id) + XCTAssertFalse(userVerificationHelper.verifyMasterPasswordCalled) + } + + /// `setTextAutofillHelperDelegate(_:)` sets the delegate in the inner helper. + func test_setTextAutofillHelperDelegate() { + XCTAssertNotNil(textAutofillHelper.textAutofillHelperDelegate) + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperTests.swift new file mode 100644 index 000000000..92f705c52 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillHelperTests.swift @@ -0,0 +1,339 @@ +import BitwardenSdk +import XCTest + +@testable import BitwardenShared + +// MARK: - TextAutofillHelperTests + +@available(iOS 18.0, *) +class TextAutofillHelperTests: BitwardenTestCase { + // MARK: Properties + + var authRepository: MockAuthRepository! + var errorReporter: MockErrorReporter! + var eventService: MockEventService! + var userVerificationHelper: MockUserVerificationHelper! + var subject: TextAutofillHelper! + var textAutofillHelperDelegate: MockTextAutofillHelperDelegate! + var textAutofillOptionsHelperFactory: MockTextAutofillOptionsHelperFactory! + var vaultRepository: MockVaultRepository! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + authRepository = MockAuthRepository() + errorReporter = MockErrorReporter() + eventService = MockEventService() + userVerificationHelper = MockUserVerificationHelper() + vaultRepository = MockVaultRepository() + textAutofillHelperDelegate = MockTextAutofillHelperDelegate() + textAutofillOptionsHelperFactory = MockTextAutofillOptionsHelperFactory() + + subject = DefaultTextAutofillHelper( + errorReporter: errorReporter, + eventService: eventService, + textAutofillOptionsHelperFactory: textAutofillOptionsHelperFactory, + vaultRepository: vaultRepository + ) + subject.setTextAutofillHelperDelegate(textAutofillHelperDelegate) + } + + override func tearDown() { + super.tearDown() + + authRepository = nil + errorReporter = nil + eventService = nil + userVerificationHelper = nil + subject = nil + textAutofillOptionsHelperFactory = nil + vaultRepository = nil + } + + // MARK: Tests + + /// `handleCipherForAutofill(cipherView:)` shows options + /// and user selects one of them autofilling it. + @MainActor + func test_handleCipherForAutofill_optionChosenAndAutofill() async throws { + let optionsHelper = MockTextAutofillOptionsHelper() + optionsHelper.getTextAutofillOptionsResult = [ + ("Option 1", "Value 1"), + ("Option 2", "Value 2"), + ] + textAutofillOptionsHelperFactory.createResult = optionsHelper + + let task = Task { + try await subject.handleCipherForAutofill(cipherView: CipherView.fixture()) + } + defer { task.cancel() } + + try await waitForAsync { [weak self] in + guard let self else { return true } + return !textAutofillHelperDelegate.alertsShown.isEmpty + } + + let alert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown.first) + XCTAssertEqual(alert.title, Localizations.autofill) + XCTAssertNil(alert.message) + XCTAssertEqual(alert.alertActions[0].title, "Option 1") + XCTAssertEqual(alert.alertActions[1].title, "Option 2") + XCTAssertEqual(alert.alertActions[2].title, Localizations.cancel) + + try await alert.tapAction(title: "Option 1") + + XCTAssertEqual(textAutofillHelperDelegate.completeTextRequestText, "Value 1") + } + + /// `handleCipherForAutofill(cipherView:)` with no options alerts the user that there + /// is nothing available to autofill. + @MainActor + func test_handleCipherForAutofill_noOptions() async throws { + let optionsHelper = MockTextAutofillOptionsHelper() + optionsHelper.getTextAutofillOptionsResult = [] + textAutofillOptionsHelperFactory.createResult = optionsHelper + + let task = Task { + try await subject.handleCipherForAutofill(cipherView: CipherView.fixture(name: "Cipher 1")) + } + defer { task.cancel() } + + try await waitForAsync { [weak self] in + guard let self else { return true } + return !textAutofillHelperDelegate.alertsShown.isEmpty + } + + let alert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown.first) + XCTAssertEqual(alert.title, "Cipher 1") + XCTAssertEqual(alert.message, Localizations.nothingAvailableToAutofill) + } + + /// `handleCipherForAutofill(cipherView:)` shows options + /// and user selects TOTP of them autofilling it. + @MainActor + func test_handleCipherForAutofill_optionChosenTOTP() async throws { + let optionsHelper = MockTextAutofillOptionsHelper() + optionsHelper.getTextAutofillOptionsResult = [ + ("Option 1", "Value 1"), + (Localizations.verificationCode, "123456"), + ] + textAutofillOptionsHelperFactory.createResult = optionsHelper + + vaultRepository.refreshTOTPCodeResult = + .success( + LoginTOTPState.codeKeyPair( + TOTPCodeModel( + code: "456789", + codeGenerationDate: .now, + period: 30 + ), + key: TOTPKeyModel( + authenticatorKey: "123456" + ) + ) + ) + + let task = Task { + try await subject.handleCipherForAutofill( + cipherView: CipherView.fixture( + login: .fixture(totp: "123456"), + type: .login + ) + ) + } + defer { task.cancel() } + + try await waitForAsync { [weak self] in + guard let self else { return true } + return !textAutofillHelperDelegate.alertsShown.isEmpty + } + + let alert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown.first) + XCTAssertEqual(alert.title, Localizations.autofill) + XCTAssertNil(alert.message) + XCTAssertEqual(alert.alertActions[0].title, "Option 1") + XCTAssertEqual(alert.alertActions[1].title, Localizations.verificationCode) + XCTAssertEqual(alert.alertActions[2].title, Localizations.cancel) + + try await alert.tapAction(title: Localizations.verificationCode) + + XCTAssertEqual(textAutofillHelperDelegate.completeTextRequestText, "456789") + } + + /// `handleCipherForAutofill(cipherView:)` shows options + /// and user selects TOTP of them autofilling it but throws when refreshing the TOTP Code. + @MainActor + func test_handleCipherForAutofill_optionChosenTOTPThrwos() async throws { + let optionsHelper = MockTextAutofillOptionsHelper() + optionsHelper.getTextAutofillOptionsResult = [ + ("Option 1", "Value 1"), + (Localizations.verificationCode, "123456"), + ] + textAutofillOptionsHelperFactory.createResult = optionsHelper + + vaultRepository.refreshTOTPCodeResult = .failure(BitwardenTestError.example) + + let task = Task { + try await subject.handleCipherForAutofill( + cipherView: CipherView.fixture( + login: .fixture(totp: "123456"), + type: .login + ) + ) + } + defer { task.cancel() } + + try await waitForAsync { [weak self] in + guard let self else { return true } + return !textAutofillHelperDelegate.alertsShown.isEmpty + } + + let alert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown.first) + XCTAssertEqual(alert.title, Localizations.autofill) + XCTAssertNil(alert.message) + XCTAssertEqual(alert.alertActions[0].title, "Option 1") + XCTAssertEqual(alert.alertActions[1].title, Localizations.verificationCode) + XCTAssertEqual(alert.alertActions[2].title, Localizations.cancel) + + try await alert.tapAction(title: Localizations.verificationCode) + + let errorAlert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown[1]) + XCTAssertEqual(errorAlert.title, Localizations.anErrorHasOccurred) + XCTAssertEqual(errorAlert.message, Localizations.failedToGenerateVerificationCode) + XCTAssertEqual(errorReporter.errors as? [BitwardenTestError], [.example]) + XCTAssertNil(textAutofillHelperDelegate.completeTextRequestText) + } + + /// `handleCipherForAutofill(cipherView:)` shows options with custom fields + /// and user selects one custom field to autofill it. + @MainActor + func test_handleCipherForAutofill_optionsWithCustomFields() async throws { + let optionsHelper = MockTextAutofillOptionsHelper() + optionsHelper.getTextAutofillOptionsResult = [ + ("Option 1", "Value 1"), + ("Option 2", "Value 2"), + ] + textAutofillOptionsHelperFactory.createResult = optionsHelper + + let task = Task { + try await subject.handleCipherForAutofill( + cipherView: CipherView.fixture( + fields: [ + .fixture(name: "Field 1", value: "Custom Value 1", type: .text), + .fixture(name: "Field 2", value: "Custom Value 2", type: .hidden), + .fixture(name: "Field 3", value: nil, type: .text), + .fixture(name: nil, value: "Something", type: .text), + .fixture(name: nil, value: nil, type: .text), + ], + viewPassword: true + ) + ) + } + defer { task.cancel() } + + try await waitForAsync { [weak self] in + guard let self else { return true } + return !textAutofillHelperDelegate.alertsShown.isEmpty + } + + let alert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown.first) + XCTAssertEqual(alert.title, Localizations.autofill) + XCTAssertNil(alert.message) + XCTAssertEqual(alert.alertActions[0].title, "Option 1") + XCTAssertEqual(alert.alertActions[1].title, "Option 2") + XCTAssertEqual(alert.alertActions[2].title, Localizations.customFields) + XCTAssertEqual(alert.alertActions[3].title, Localizations.cancel) + + try await alert.tapAction(title: Localizations.customFields) + + try await waitForAsync { [weak self] in + guard let self else { return true } + return textAutofillHelperDelegate.alertsShown.count == 2 + } + + let customFieldsAlert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown[1]) + XCTAssertEqual(customFieldsAlert.title, Localizations.autofill) + XCTAssertNil(customFieldsAlert.message) + XCTAssertEqual(customFieldsAlert.alertActions[0].title, "Field 1") + XCTAssertEqual(customFieldsAlert.alertActions[1].title, "Field 2") + XCTAssertEqual(customFieldsAlert.alertActions[2].title, Localizations.cancel) + + try await customFieldsAlert.tapAction(title: "Field 2") + + XCTAssertEqual(textAutofillHelperDelegate.completeTextRequestText, "Custom Value 2") + } + + /// `handleCipherForAutofill(cipherView:)` shows options with custom fields + /// and user selects one custom field to autofill it when `viewPassword` is `false` so hidden fields are + /// not avaialble. + @MainActor + func test_handleCipherForAutofill_optionsWithCustomFieldsNotViewPassword() async throws { + let optionsHelper = MockTextAutofillOptionsHelper() + optionsHelper.getTextAutofillOptionsResult = [ + ("Option 1", "Value 1"), + ("Option 2", "Value 2"), + ] + textAutofillOptionsHelperFactory.createResult = optionsHelper + + let task = Task { + try await subject.handleCipherForAutofill( + cipherView: CipherView.fixture( + fields: [ + .fixture(name: "Field 1", value: "Custom Value 1", type: .text), + .fixture(name: "Field 2", value: "Custom Value 2", type: .hidden), + ], + viewPassword: false + ) + ) + } + defer { task.cancel() } + + try await waitForAsync { [weak self] in + guard let self else { return true } + return !textAutofillHelperDelegate.alertsShown.isEmpty + } + + let alert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown.first) + XCTAssertEqual(alert.title, Localizations.autofill) + XCTAssertNil(alert.message) + XCTAssertEqual(alert.alertActions[0].title, "Option 1") + XCTAssertEqual(alert.alertActions[1].title, "Option 2") + XCTAssertEqual(alert.alertActions[2].title, Localizations.customFields) + XCTAssertEqual(alert.alertActions[3].title, Localizations.cancel) + + try await alert.tapAction(title: Localizations.customFields) + + try await waitForAsync { [weak self] in + guard let self else { return true } + return textAutofillHelperDelegate.alertsShown.count == 2 + } + + let customFieldsAlert = try XCTUnwrap(textAutofillHelperDelegate.alertsShown[1]) + XCTAssertEqual(customFieldsAlert.title, Localizations.autofill) + XCTAssertNil(customFieldsAlert.message) + XCTAssertEqual(customFieldsAlert.alertActions[0].title, "Field 1") + XCTAssertEqual(customFieldsAlert.alertActions[1].title, Localizations.cancel) + + try await customFieldsAlert.tapAction(title: "Field 1") + + XCTAssertEqual(textAutofillHelperDelegate.completeTextRequestText, "Custom Value 1") + } +} + +// MARK: - NoOpTextAutofillHelperTests + +class NoOpTextAutofillHelperTests: BitwardenTestCase { + func test_handleCipherForAutofill() async throws { + let subject = NoOpTextAutofillHelper() + await subject.handleCipherForAutofill(cipherView: .fixture()) + throw XCTSkip("This TextAutofillHelper handleCipherForAutofill does nothing") + } + + func test_setTextAutofillHelperDelegate() async throws { + let subject = NoOpTextAutofillHelper() + await subject.setTextAutofillHelperDelegate(MockTextAutofillHelperDelegate()) + throw XCTSkip("This TextAutofillHelper setTextAutofillHelperDelegate does nothing") + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/CardTextAutofillOptionsHelperTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/CardTextAutofillOptionsHelperTests.swift new file mode 100644 index 000000000..9050dcdb6 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/CardTextAutofillOptionsHelperTests.swift @@ -0,0 +1,216 @@ +import BitwardenSdk +import InlineSnapshotTesting +import XCTest + +@testable import BitwardenShared + +// MARK: - CardTextAutofillOptionsHelperTests + +class CardTextAutofillOptionsHelperTests: BitwardenTestCase { + // MARK: Properties + + var subject: CardTextAutofillOptionsHelper! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + subject = CardTextAutofillOptionsHelper() + } + + override func tearDown() { + super.tearDown() + + subject = nil + } + + // MARK: Tests + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available. + func test_getTextAutofillOptions() async { + let cipher = CipherView.fixture( + card: .fixture( + cardholderName: "Cardholder", + code: "123", + number: "1234 5678 1234 5678" + ), + type: .card, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.cardholderName), Cardholder + \(Localizations.number), 1234 5678 1234 5678 + \(Localizations.securityCode), 123 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns empty when cipher doesn't have a card. + func test_getTextAutofillOptions_emptyNotCard() async { + let cipher = CipherView.fixture( + card: nil, + type: .card, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + XCTAssertTrue(options.isEmpty) + } + + /// `getTextAutofillOptions(cipherView:)` returns all options except name when + /// cardholder name is nil. + func test_getTextAutofillOptions_cardholderNameNil() async { + let cipher = CipherView.fixture( + card: .fixture( + cardholderName: nil, + code: "123", + number: "1234 5678 1234 5678" + ), + type: .card, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.number), 1234 5678 1234 5678 + \(Localizations.securityCode), 123 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options except name when + /// cardholder name is empty. + func test_getTextAutofillOptions_cardholderNameEmpty() async { + let cipher = CipherView.fixture( + card: .fixture( + cardholderName: "", + code: "123", + number: "1234 5678 1234 5678" + ), + type: .card, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.number), 1234 5678 1234 5678 + \(Localizations.securityCode), 123 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options except number when + /// number is nil. + func test_getTextAutofillOptions_numberNil() async { + let cipher = CipherView.fixture( + card: .fixture( + cardholderName: "Cardholder", + code: "123", + number: nil + ), + type: .card, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.cardholderName), Cardholder + \(Localizations.securityCode), 123 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options except number when + /// number is empty. + func test_getTextAutofillOptions_numberEmpty() async { + let cipher = CipherView.fixture( + card: .fixture( + cardholderName: "Cardholder", + code: "123", + number: "" + ), + type: .card, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.cardholderName), Cardholder + \(Localizations.securityCode), 123 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options except code when + /// code is nil. + func test_getTextAutofillOptions_codeNil() async { + let cipher = CipherView.fixture( + card: .fixture( + cardholderName: "Cardholder", + code: nil, + number: "1234 5678 1234 5678" + ), + type: .card, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.cardholderName), Cardholder + \(Localizations.number), 1234 5678 1234 5678 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options except code when + /// code is empty. + func test_getTextAutofillOptions_codeEmpty() async { + let cipher = CipherView.fixture( + card: .fixture( + cardholderName: "Cardholder", + code: "", + number: "1234 5678 1234 5678" + ), + type: .card, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.cardholderName), Cardholder + \(Localizations.number), 1234 5678 1234 5678 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` return cardholder name only when + /// cannot view password. + func test_getTextAutofillOptions_cannotViewPassword() async { + let cipher = CipherView.fixture( + card: .fixture( + cardholderName: "Cardholder", + code: "123", + number: "1234 5678 1234 5678" + ), + type: .card, + viewPassword: false + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.cardholderName), Cardholder + """ + } + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/IdentityTextAutofillOptionsHelperTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/IdentityTextAutofillOptionsHelperTests.swift new file mode 100644 index 000000000..c4e228bb5 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/IdentityTextAutofillOptionsHelperTests.swift @@ -0,0 +1,378 @@ +import BitwardenSdk +import InlineSnapshotTesting +import XCTest + +@testable import BitwardenShared + +// MARK: - IdentityTextAutofillOptionsHelperTests + +class IdentityTextAutofillOptionsHelperTests: BitwardenTestCase { // swiftlint:disable:this type_body_length + // MARK: Properties + + var subject: IdentityTextAutofillOptionsHelper! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + subject = IdentityTextAutofillOptionsHelper() + } + + override func tearDown() { + super.tearDown() + + subject = nil + } + + // MARK: Tests + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available. + func test_getTextAutofillOptions() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: "email@example.com", + phone: "123456789", + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns empty when cipher doesn't have an identity. + func test_getTextAutofillOptions_emptyNotIdentity() async { + let cipher = CipherView.fixture( + identity: nil, + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + XCTAssertTrue(options.isEmpty) + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except from first name. + func test_getTextAutofillOptions_firstNameNil() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: nil, + lastName: "Last", + email: "email@example.com", + phone: "123456789", + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except from first name being empty. + func test_getTextAutofillOptions_firstNameEmpty() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "", + lastName: "Last", + email: "email@example.com", + phone: "123456789", + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except from last name. + func test_getTextAutofillOptions_lastNameNil() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: nil, + email: "email@example.com", + phone: "123456789", + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except from last name being empty. + func test_getTextAutofillOptions_lastNameEmpty() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "", + email: "email@example.com", + phone: "123456789", + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available except from SSN. + func test_getTextAutofillOptions_SSNNil() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: "email@example.com", + phone: "123456789", + ssn: nil, + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available except SSN being empty. + func test_getTextAutofillOptions_SSNEmpty() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: "email@example.com", + phone: "123456789", + ssn: "", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available except passport number. + func test_getTextAutofillOptions_passportNil() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: "email@example.com", + phone: "123456789", + ssn: "SSN", + passportNumber: nil + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.ssn), SSN + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available except passport number being empty. + func test_getTextAutofillOptions_passportEmpty() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: "email@example.com", + phone: "123456789", + ssn: "SSN", + passportNumber: "" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.ssn), SSN + \(Localizations.email), email@example.com + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available except from email. + func test_getTextAutofillOptions_emailNil() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: nil, + phone: "123456789", + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available except from email being empty. + func test_getTextAutofillOptions_emailEmpty() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: "", + phone: "123456789", + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.phone), 123456789 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available exept from phone. + func test_getTextAutofillOptions_phoneNil() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: "email@example.com", + phone: nil, + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available exept from phone being empty. + func test_getTextAutofillOptions_phoneEmpty() async { + let cipher = CipherView.fixture( + identity: .fixture( + firstName: "First", + lastName: "Last", + email: "email@example.com", + phone: nil, + ssn: "SSN", + passportNumber: "Passport" + ), + type: .identity + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.fullName), First Last + \(Localizations.ssn), SSN + \(Localizations.passportNumber), Passport + \(Localizations.email), email@example.com + """ + } + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/LoginTextAutofillOptionsHelperTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/LoginTextAutofillOptionsHelperTests.swift new file mode 100644 index 000000000..13ffbd1eb --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/LoginTextAutofillOptionsHelperTests.swift @@ -0,0 +1,236 @@ +import BitwardenSdk +import InlineSnapshotTesting +import XCTest + +@testable import BitwardenShared + +// MARK: - LoginTextAutofillOptionsHelperTests + +class LoginTextAutofillOptionsHelperTests: BitwardenTestCase { + // MARK: Properties + + var errorReporter: MockErrorReporter! + var subject: LoginTextAutofillOptionsHelper! + var vaultRepository: MockVaultRepository! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + errorReporter = MockErrorReporter() + vaultRepository = MockVaultRepository() + subject = LoginTextAutofillOptionsHelper( + errorReporter: errorReporter, + vaultRepository: vaultRepository + ) + } + + override func tearDown() { + super.tearDown() + + errorReporter = nil + subject = nil + vaultRepository = nil + } + + // MARK: Tests + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available. + func test_getTextAutofillOptions() async { + let cipher = CipherView.fixture( + login: .fixture( + password: "password", + username: "username", + totp: "1234" + ), + type: .login, + viewPassword: true + ) + vaultRepository.getTOTPKeyIfAllowedToCopyResult = .success("1234") + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.username), username + \(Localizations.password), password + \(Localizations.verificationCode), 1234 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns empty when cipher doesn't have a login. + func test_getTextAutofillOptions_emptyNotLogin() async { + let cipher = CipherView.fixture( + login: nil, + type: .login, + viewPassword: true + ) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + XCTAssertTrue(options.isEmpty) + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except username. + func test_getTextAutofillOptions_usernameNil() async { + let cipher = CipherView.fixture( + login: .fixture( + password: "password", + username: nil, + totp: "1234" + ), + type: .login, + viewPassword: true + ) + vaultRepository.getTOTPKeyIfAllowedToCopyResult = .success("1234") + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.password), password + \(Localizations.verificationCode), 1234 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except username being empty. + func test_getTextAutofillOptions_usernameEmpty() async { + let cipher = CipherView.fixture( + login: .fixture( + password: "password", + username: "", + totp: "1234" + ), + type: .login, + viewPassword: true + ) + vaultRepository.getTOTPKeyIfAllowedToCopyResult = .success("1234") + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.password), password + \(Localizations.verificationCode), 1234 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except from password. + func test_getTextAutofillOptions_passwordNil() async { + let cipher = CipherView.fixture( + login: .fixture( + password: nil, + username: "username", + totp: "1234" + ), + type: .login, + viewPassword: true + ) + vaultRepository.getTOTPKeyIfAllowedToCopyResult = .success("1234") + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.username), username + \(Localizations.verificationCode), 1234 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except from password being empty. + func test_getTextAutofillOptions_passwordEmpty() async { + let cipher = CipherView.fixture( + login: .fixture( + password: "", + username: "username", + totp: "1234" + ), + type: .login, + viewPassword: true + ) + vaultRepository.getTOTPKeyIfAllowedToCopyResult = .success("1234") + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.username), username + \(Localizations.verificationCode), 1234 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except from password being empty. + func test_getTextAutofillOptions_cannotViewPassword() async { + let cipher = CipherView.fixture( + login: .fixture( + password: "password", + username: "username", + totp: "1234" + ), + type: .login, + viewPassword: false + ) + vaultRepository.getTOTPKeyIfAllowedToCopyResult = .success("1234") + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.username), username + \(Localizations.verificationCode), 1234 + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available except from totp because not being allowed to be copied. + func test_getTextAutofillOptions_totpNotAllowed() async { + let cipher = CipherView.fixture( + login: .fixture( + password: "password", + username: "username", + totp: "1234" + ), + type: .login, + viewPassword: true + ) + vaultRepository.getTOTPKeyIfAllowedToCopyResult = .success(nil) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.username), username + \(Localizations.password), password + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available except from totp because + /// checking if it's allowed throws. + func test_getTextAutofillOptions_totpAllowedThrows() async { + let cipher = CipherView.fixture( + login: .fixture( + password: "password", + username: "username", + totp: "1234" + ), + type: .login, + viewPassword: true + ) + vaultRepository.getTOTPKeyIfAllowedToCopyResult = .failure(BitwardenTestError.example) + let options = await subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.username), username + \(Localizations.password), password + """ + } + XCTAssertEqual(errorReporter.errors as? [BitwardenTestError], [.example]) + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/SSHKeyTextAutofillOptionsHelperTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/SSHKeyTextAutofillOptionsHelperTests.swift new file mode 100644 index 000000000..1d7d23fa3 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/SSHKeyTextAutofillOptionsHelperTests.swift @@ -0,0 +1,151 @@ +import BitwardenSdk +import InlineSnapshotTesting +import XCTest + +@testable import BitwardenShared + +// MARK: - SSHKeyTextAutofillOptionsHelperTests + +class SSHKeyTextAutofillOptionsHelperTests: BitwardenTestCase { + // MARK: Properties + + var subject: SSHKeyTextAutofillOptionsHelper! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + subject = SSHKeyTextAutofillOptionsHelper() + } + + override func tearDown() { + super.tearDown() + + subject = nil + } + + // MARK: Tests + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available. + func test_getTextAutofillOptions() async { + let cipher = CipherView.fixture( + sshKey: .fixture( + privateKey: "privateKey", + publicKey: "publicKey", + fingerprint: "fingerprint" + ), + type: .sshKey, + viewPassword: true + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.privateKey), privateKey + \(Localizations.publicKey), publicKey + \(Localizations.fingerprint), fingerprint + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns empty when cipher doesn't have an SSH key. + func test_getTextAutofillOptions_emptyNotSSHKey() async { + let cipher = CipherView.fixture( + sshKey: nil, + type: .sshKey, + viewPassword: true + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + XCTAssertTrue(options.isEmpty) + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except private key empty. + func test_getTextAutofillOptions_privateKeyEmpty() async { + let cipher = CipherView.fixture( + sshKey: .fixture( + privateKey: "", + publicKey: "publicKey", + fingerprint: "fingerprint" + ), + type: .sshKey, + viewPassword: true + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.publicKey), publicKey + \(Localizations.fingerprint), fingerprint + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except public key empty. + func test_getTextAutofillOptions_publicKeyEmpty() async { + let cipher = CipherView.fixture( + sshKey: .fixture( + privateKey: "privateKey", + publicKey: "", + fingerprint: "fingerprint" + ), + type: .sshKey, + viewPassword: true + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.privateKey), privateKey + \(Localizations.fingerprint), fingerprint + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available except fingerprint empty. + func test_getTextAutofillOptions_fingeprintEmpty() async { + let cipher = CipherView.fixture( + sshKey: .fixture( + privateKey: "privateKey", + publicKey: "publicKey", + fingerprint: "" + ), + type: .sshKey, + viewPassword: true + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.privateKey), privateKey + \(Localizations.publicKey), publicKey + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns options when + /// we have all of the values available but cipher cannot view password. + func test_getTextAutofillOptions_cannotViewPassword() async { + let cipher = CipherView.fixture( + sshKey: .fixture( + privateKey: "privateKey", + publicKey: "publicKey", + fingerprint: "fingerprint" + ), + type: .sshKey, + viewPassword: false + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.publicKey), publicKey + \(Localizations.fingerprint), fingerprint + """ + } + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/SecureNoteTextAutofillOptionsHelperTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/SecureNoteTextAutofillOptionsHelperTests.swift new file mode 100644 index 000000000..49509956c --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/SecureNoteTextAutofillOptionsHelperTests.swift @@ -0,0 +1,78 @@ +import BitwardenSdk +import InlineSnapshotTesting +import XCTest + +@testable import BitwardenShared + +// MARK: - SecureNoteTextAutofillOptionsHelperTests + +class SecureNoteTextAutofillOptionsHelperTests: BitwardenTestCase { + // MARK: Properties + + var subject: SecureNoteTextAutofillOptionsHelper! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + subject = SecureNoteTextAutofillOptionsHelper() + } + + override func tearDown() { + super.tearDown() + + subject = nil + } + + // MARK: Tests + + /// `getTextAutofillOptions(cipherView:)` returns all options when + /// we have all of the values available. + func test_getTextAutofillOptions() async { + let cipher = CipherView.fixture( + notes: "Notes", + secureNote: SecureNoteView(type: .generic), + type: .secureNote + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + let dump = TextAutofillOptionsHelperDumper.dump(options) + assertInlineSnapshot(of: dump, as: .lines) { + """ + \(Localizations.notes), Notes + """ + } + } + + /// `getTextAutofillOptions(cipherView:)` returns empty when cipher doesn't have a secure note. + func test_getTextAutofillOptions_emptyNotIdentity() async { + let cipher = CipherView.fixture( + secureNote: nil, + type: .secureNote + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + XCTAssertTrue(options.isEmpty) + } + + /// `getTextAutofillOptions(cipherView:)` returns empty when notes `nil`. + func test_getTextAutofillOptions_notesNil() async { + let cipher = CipherView.fixture( + notes: nil, + secureNote: SecureNoteView(type: .generic), + type: .secureNote + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + XCTAssertTrue(options.isEmpty) + } + + /// `getTextAutofillOptions(cipherView:)` returns empty when notes empty. + func test_getTextAutofillOptions_notesEmpty() async { + let cipher = CipherView.fixture( + notes: "", + secureNote: SecureNoteView(type: .generic), + type: .secureNote + ) + let options = subject.getTextAutofillOptions(cipherView: cipher) + XCTAssertTrue(options.isEmpty) + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelper.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelper.swift new file mode 100644 index 000000000..b99fcd948 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelper.swift @@ -0,0 +1,142 @@ +import BitwardenSdk + +/// Protocol for a helper that is used to get the options available for autofilling. +protocol TextAutofillOptionsHelper { + /// Gets the autofill options for a cipher for the user to choose from. + /// - Parameter cipherView: The cipher the user selected. + /// - Returns: The localized option title and the value to insert if that's selected. + func getTextAutofillOptions(cipherView: CipherView) async -> [( + localizedOption: String, + textToInsert: String + )] +} + +// MARK: - CardTextAutofillOptionsHelper + +/// `TextAutofillOptionsHelper` implementation for Card. +struct CardTextAutofillOptionsHelper: TextAutofillOptionsHelper { + func getTextAutofillOptions(cipherView: CipherView) async -> [(localizedOption: String, textToInsert: String)] { + guard let card = cipherView.card else { + return [] + } + var options: [(localizedOption: String, textToInsert: String)] = [] + if let name = card.cardholderName, !name.isEmpty { + options.append((Localizations.cardholderName, name)) + } + if let number = card.number, !number.isEmpty, cipherView.viewPassword { + options.append((Localizations.number, number)) + } + if let code = card.code, !code.isEmpty, cipherView.viewPassword { + options.append((Localizations.securityCode, code)) + } + return options + } +} + +// MARK: - CardTextAutofillOptionsHelper + +/// `TextAutofillOptionsHelper` implementation for Identity. +struct IdentityTextAutofillOptionsHelper: TextAutofillOptionsHelper { + func getTextAutofillOptions(cipherView: CipherView) async -> [(localizedOption: String, textToInsert: String)] { + guard let identity = cipherView.identity else { + return [] + } + var options: [(localizedOption: String, textToInsert: String)] = [] + if let firstName = identity.firstName, !firstName.isEmpty, + let lastName = identity.lastName, !lastName.isEmpty { + options.append((Localizations.fullName, "\(firstName) \(lastName)")) + } + if let ssn = identity.ssn, !ssn.isEmpty { + options.append((Localizations.ssn, ssn)) + } + if let passport = identity.passportNumber, !passport.isEmpty { + options.append((Localizations.passportNumber, passport)) + } + if let email = identity.email, !email.isEmpty { + options.append((Localizations.email, email)) + } + if let phone = identity.phone, !phone.isEmpty { + options.append((Localizations.phone, phone)) + } + return options + } +} + +// MARK: - LoginTextAutofillOptionsHelper + +/// `TextAutofillOptionsHelper` implementation for Login. +struct LoginTextAutofillOptionsHelper: TextAutofillOptionsHelper { + // MARK: Properties + + /// The service used by the application to report non-fatal errors. + let errorReporter: ErrorReporter + + /// The repository used by the application to manage vault data for the UI layer. + let vaultRepository: VaultRepository + + // MARK: Methods + + func getTextAutofillOptions(cipherView: CipherView) async -> [(localizedOption: String, textToInsert: String)] { + guard let login = cipherView.login else { + return [] + } + var options: [(localizedOption: String, textToInsert: String)] = [] + if let username = login.username, !username.isEmpty { + options.append((Localizations.username, username)) + } + if let password = login.password, !password.isEmpty, cipherView.viewPassword { + options.append((Localizations.password, password)) + } + + do { + if let totp = try await vaultRepository.getTOTPKeyIfAllowedToCopy(cipher: cipherView) { + // We can't calculate the TOTP code here because the user could take a while until they + // choose the option and the code could expire by then so it needs to be calculated + // after the user chooses this option. + options.append((Localizations.verificationCode, totp)) + } + } catch { + errorReporter.log(error: error) + } + + return options + } +} + +// MARK: - SecureNoteTextAutofillOptionsHelper + +/// `TextAutofillOptionsHelper` implementation for Secure Note. +struct SecureNoteTextAutofillOptionsHelper: TextAutofillOptionsHelper { + func getTextAutofillOptions(cipherView: CipherView) -> [(localizedOption: String, textToInsert: String)] { + guard cipherView.secureNote != nil else { + return [] + } + var options: [(localizedOption: String, textToInsert: String)] = [] + if let notes = cipherView.notes, !notes.isEmpty { + options.append((Localizations.notes, notes)) + } + return options + } +} + +// MARK: - SSHKeyTextAutofillOptionsHelper + +/// `TextAutofillOptionsHelper` implementation for SSH Key. +struct SSHKeyTextAutofillOptionsHelper: TextAutofillOptionsHelper { + func getTextAutofillOptions(cipherView: CipherView) -> [(localizedOption: String, textToInsert: String)] { + guard let sshKey = cipherView.sshKey else { + return [] + } + var options: [(localizedOption: String, textToInsert: String)] = [] + if !sshKey.privateKey.isEmpty, cipherView.viewPassword { + options.append((Localizations.privateKey, sshKey.privateKey)) + } + if !sshKey.publicKey.isEmpty { + options.append((Localizations.publicKey, sshKey.publicKey)) + } + if !sshKey.fingerprint.isEmpty { + options.append((Localizations.fingerprint, sshKey.fingerprint)) + } + return options + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelperFactory.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelperFactory.swift new file mode 100644 index 000000000..3fd8d7176 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelperFactory.swift @@ -0,0 +1,38 @@ +import BitwardenSdk + +/// Protocol for a factory to create `TextAutofillOptionsHelper` for each cipher type. +protocol TextAutofillOptionsHelperFactory { + /// Creates a `TextAutofillOptionsHelper` for a cipher depending on the type. + func create(cipherView: CipherView) -> TextAutofillOptionsHelper +} + +/// Default implementation of the `TextAutofillOptionsHelperFactory`. +struct DefaultTextAutofillOptionsHelperFactory: TextAutofillOptionsHelperFactory { + // MARK: Properties + + /// The service used by the application to report non-fatal errors. + let errorReporter: ErrorReporter + + /// The repository used by the application to manage vault data for the UI layer. + let vaultRepository: VaultRepository + + // MARK: Methods + + func create(cipherView: CipherView) -> TextAutofillOptionsHelper { + return switch cipherView.type { + case .login: + LoginTextAutofillOptionsHelper( + errorReporter: errorReporter, + vaultRepository: vaultRepository + ) + case .secureNote: + SecureNoteTextAutofillOptionsHelper() + case .card: + CardTextAutofillOptionsHelper() + case .identity: + IdentityTextAutofillOptionsHelper() + case .sshKey: + SSHKeyTextAutofillOptionsHelper() + } + } +} diff --git a/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelperFactoryTests.swift b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelperFactoryTests.swift new file mode 100644 index 000000000..1953a04a1 --- /dev/null +++ b/BitwardenShared/UI/Vault/Helpers/TextAutofillOptionsHelper/TextAutofillOptionsHelperFactoryTests.swift @@ -0,0 +1,71 @@ +import XCTest + +@testable import BitwardenShared + +// MARK: - TextAutofillOptionsHelperFactoryTests + +class TextAutofillOptionsHelperFactoryTests: BitwardenTestCase { + // MARK: Properties + + var errorReporter: MockErrorReporter! + var subject: TextAutofillOptionsHelperFactory! + var vaultRepository: MockVaultRepository! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + errorReporter = MockErrorReporter() + vaultRepository = MockVaultRepository() + subject = DefaultTextAutofillOptionsHelperFactory( + errorReporter: errorReporter, + vaultRepository: vaultRepository + ) + } + + override func tearDown() { + super.tearDown() + + errorReporter = nil + subject = nil + vaultRepository = nil + } + + // MARK: Tests + + /// `create(cipherView:)` creates a `CardTextAutofillOptionsHelper` when + /// cipher type is secure note. + func test_create_returnsCardOptionsHelper() { + let optionsHelper = subject.create(cipherView: .fixture(type: .card)) + XCTAssertTrue(optionsHelper is CardTextAutofillOptionsHelper) + } + + /// `create(cipherView:)` creates a `IdentityTextAutofillOptionsHelper` when + /// cipher type is identity. + func test_create_returnsIdentityOptionsHelper() { + let optionsHelper = subject.create(cipherView: .fixture(type: .identity)) + XCTAssertTrue(optionsHelper is IdentityTextAutofillOptionsHelper) + } + + /// `create(cipherView:)` creates a `LoginTextAutofillOptionsHelper` when + /// cipher type is login. + func test_create_returnsLoginOptionsHelper() { + let optionsHelper = subject.create(cipherView: .fixture(type: .login)) + XCTAssertTrue(optionsHelper is LoginTextAutofillOptionsHelper) + } + + /// `create(cipherView:)` creates a `SecureNoteTextAutofillOptionsHelper` when + /// cipher type is secure note. + func test_create_returnsSecureNoteOptionsHelper() { + let optionsHelper = subject.create(cipherView: .fixture(type: .secureNote)) + XCTAssertTrue(optionsHelper is SecureNoteTextAutofillOptionsHelper) + } + + /// `create(cipherView:)` creates a `SSHKeyTextAutofillOptionsHelper` when + /// cipher type is SSH key. + func test_create_returnsSSHKeyOptionsHelper() { + let optionsHelper = subject.create(cipherView: .fixture(type: .sshKey)) + XCTAssertTrue(optionsHelper is SSHKeyTextAutofillOptionsHelper) + } +} diff --git a/BitwardenShared/UI/Vault/PreviewContent/BitwardenSdk+VaultFixtures.swift b/BitwardenShared/UI/Vault/PreviewContent/BitwardenSdk+VaultFixtures.swift index 51959a201..872d98e69 100644 --- a/BitwardenShared/UI/Vault/PreviewContent/BitwardenSdk+VaultFixtures.swift +++ b/BitwardenShared/UI/Vault/PreviewContent/BitwardenSdk+VaultFixtures.swift @@ -421,6 +421,50 @@ extension BitwardenSdk.FieldView { } } +extension BitwardenSdk.IdentityView { + static func fixture( + title: String? = nil, + firstName: String? = nil, + middleName: String? = nil, + lastName: String? = nil, + address1: String? = nil, + address2: String? = nil, + address3: String? = nil, + city: String? = nil, + state: String? = nil, + postalCode: String? = nil, + country: String? = nil, + company: String? = nil, + email: String? = nil, + phone: String? = nil, + ssn: String? = nil, + username: String? = nil, + passportNumber: String? = nil, + licenseNumber: String? = nil + ) -> BitwardenSdk.IdentityView { + BitwardenSdk.IdentityView( + title: title, + firstName: firstName, + middleName: middleName, + lastName: lastName, + address1: address1, + address2: address2, + address3: address3, + city: city, + state: state, + postalCode: postalCode, + country: country, + company: company, + email: email, + phone: phone, + ssn: ssn, + username: username, + passportNumber: passportNumber, + licenseNumber: licenseNumber + ) + } +} + extension BitwardenSdk.Login { static func fixture( autofillOnPageLoad: Bool? = nil, diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor+AutofillModeAllTests.swift b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor+AutofillModeAllTests.swift new file mode 100644 index 000000000..10959c352 --- /dev/null +++ b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor+AutofillModeAllTests.swift @@ -0,0 +1,311 @@ +// swiftlint:disable:this file_name + +import BitwardenSdk +import XCTest + +@testable import BitwardenShared + +@available(iOS 18.0, *) +class VaultAutofillListProcessorAutofillModeAllTests: BitwardenTestCase { // swiftlint:disable:this type_body_length type_name line_length + // MARK: Properties + + var appExtensionDelegate: MockAutofillAppExtensionDelegate! + var authRepository: MockAuthRepository! + var clientService: MockClientService! + var coordinator: MockCoordinator! + var errorReporter: MockErrorReporter! + var fido2CredentialStore: MockFido2CredentialStore! + var fido2UserInterfaceHelper: MockFido2UserInterfaceHelper! + var stateService: MockStateService! + var subject: VaultAutofillListProcessor! + var textAutofillHelper: MockTextAutofillHelper! + var textAutofillHelperFactory: MockTextAutofillHelperFactory! + var totpExpirationManagerFactory: MockTOTPExpirationManagerFactory! + var vaultRepository: MockVaultRepository! + + // MARK: Setup & Teardown + + override func setUp() { + super.setUp() + + appExtensionDelegate = MockAutofillAppExtensionDelegate() + appExtensionDelegate.extensionMode = .autofillText + authRepository = MockAuthRepository() + clientService = MockClientService() + coordinator = MockCoordinator() + errorReporter = MockErrorReporter() + fido2CredentialStore = MockFido2CredentialStore() + fido2UserInterfaceHelper = MockFido2UserInterfaceHelper() + stateService = MockStateService() + textAutofillHelper = MockTextAutofillHelper() + textAutofillHelperFactory = MockTextAutofillHelperFactory() + textAutofillHelperFactory.createResult = textAutofillHelper + totpExpirationManagerFactory = MockTOTPExpirationManagerFactory() + vaultRepository = MockVaultRepository() + + subject = VaultAutofillListProcessor( + appExtensionDelegate: appExtensionDelegate, + coordinator: coordinator.asAnyCoordinator(), + services: ServiceContainer.withMocks( + authRepository: authRepository, + clientService: clientService, + errorReporter: errorReporter, + fido2CredentialStore: fido2CredentialStore, + fido2UserInterfaceHelper: fido2UserInterfaceHelper, + stateService: stateService, + textAutofillHelperFactory: textAutofillHelperFactory, + totpExpirationManagerFactory: totpExpirationManagerFactory, + vaultRepository: vaultRepository + ), + state: VaultAutofillListState() + ) + } + + override func tearDown() { + super.tearDown() + + appExtensionDelegate = nil + authRepository = nil + clientService = nil + coordinator = nil + errorReporter = nil + fido2CredentialStore = nil + fido2UserInterfaceHelper = nil + stateService = nil + subject = nil + totpExpirationManagerFactory = nil + vaultRepository = nil + } + + // MARK: Tests + + /// `completeTextRequest(text:)` calls the app extension delegate to complete the text request. + @MainActor + func test_completeTextRequest() { + subject.completeTextRequest(text: "Text to insert") + XCTAssertEqual(appExtensionDelegate.completeTextRequestTextToInsert, "Text to insert") + } + + /// `init(appExtensionDelegate:coordinator:services:state:)` initializes + /// the state with totp. + @MainActor + func test_init() { + XCTAssertTrue(subject.state.isAutofillingTextToInsertList) + XCTAssertEqual(subject.state.emptyViewMessage, Localizations.noItemsToList) + } + + /// `perform(_:)` with `.search()` performs a cipher search and updates the state with the results. + @MainActor + func test_perform_search() { + let items = [ + VaultListItem( + id: "1", + itemType: .cipher( + .fixture( + card: .fixture(cardholderName: "Cardholder Bit"), + id: "1", + type: .card + ) + ) + ), + VaultListItem( + id: "2", + itemType: .cipher( + .fixture( + id: "2", + identity: .fixture(firstName: "BitFirst", lastName: "Last"), + type: .identity + ) + ) + ), + ] + let expectedSection = VaultListSection( + id: "", + items: items, + name: "" + ) + vaultRepository.searchCipherAutofillSubject.value = [expectedSection] + + let task = Task { + await subject.perform(.search("Bit")) + } + + waitFor(!subject.state.ciphersForSearch.isEmpty) + task.cancel() + + XCTAssertEqual(subject.state.ciphersForSearch, [expectedSection]) + XCTAssertFalse(subject.state.showNoResults) + } + + /// `perform(_:)` with `.search()` performs a cipher search and updates the state with the results + /// when filtering by group. + @MainActor + func test_perform_searchWithGroup() { + let items = [ + VaultListItem( + id: "1", + itemType: .cipher( + .fixture( + card: .fixture(cardholderName: "Cardholder Bit"), + id: "1", + type: .card + ) + ) + ), + VaultListItem( + id: "2", + itemType: .cipher( + .fixture( + card: .fixture(cardholderName: "Cardholder Bit 2"), + id: "2", + type: .card + ) + ) + ), + ] + let expectedSection = VaultListSection( + id: "", + items: items, + name: "" + ) + vaultRepository.searchCipherAutofillSubject.value = [expectedSection] + subject.state.group = .card + + let task = Task { + await subject.perform(.search("Bit")) + } + + waitFor(!subject.state.ciphersForSearch.isEmpty) + task.cancel() + + XCTAssertEqual(subject.state.ciphersForSearch, [expectedSection]) + XCTAssertFalse(subject.state.showNoResults) + XCTAssertEqual(vaultRepository.searchCipherAutofillPublisherCalledWithGroup, .card) + } + + /// `perform(_:)` with `.streamAutofillItems` streams the list of autofill ciphers. + @MainActor + func test_perform_streamAutofillItems() { + let items = [ + VaultListItem( + id: "1", + itemType: .cipher( + .fixture( + card: .fixture(cardholderName: "Cardholder Bit"), + id: "1", + type: .card + ) + ) + ), + VaultListItem( + id: "2", + itemType: .cipher( + .fixture( + id: "2", + identity: .fixture(firstName: "BitFirst", lastName: "Last"), + type: .identity + ) + ) + ), + ] + let expectedSection = VaultListSection( + id: "", + items: items, + name: "" + ) + vaultRepository.ciphersAutofillSubject.value = [expectedSection] + + let task = Task { + await subject.perform(.streamAutofillItems) + } + + waitFor(!subject.state.vaultListSections.isEmpty) + task.cancel() + + XCTAssertEqual(subject.state.vaultListSections, [expectedSection]) + } + + /// `perform(_:)` with `.streamAutofillItems` streams the list of autofill ciphers when filtering by group. + @MainActor + func test_perform_streamAutofillItemsWithGroup() { + let items = [ + VaultListItem( + id: "1", + itemType: .cipher( + .fixture( + card: .fixture(cardholderName: "Cardholder Bit"), + id: "1", + type: .card + ) + ) + ), + VaultListItem( + id: "2", + itemType: .cipher( + .fixture( + card: .fixture(cardholderName: "Cardholder Bit 2"), + id: "2", + type: .card + ) + ) + ), + ] + let expectedSection = VaultListSection( + id: "", + items: items, + name: "" + ) + vaultRepository.ciphersAutofillSubject.value = [expectedSection] + subject.state.group = .card + + let task = Task { + await subject.perform(.streamAutofillItems) + } + + waitFor(!subject.state.vaultListSections.isEmpty) + task.cancel() + + XCTAssertEqual(subject.state.vaultListSections, [expectedSection]) + XCTAssertEqual(vaultRepository.ciphersAutofillPublisherCalledWithGroup, .card) + } + + /// `vaultItemTapped(_:)` has the text autofill helper handle text to insert autofill for the cipher. + @MainActor + func test_perform_vaultItemTapped() async { + let vaultListItem = VaultListItem( + cipherView: CipherView.fixture( + id: "1", + login: .fixture( + password: "PASSWORD", + username: "user@bitwarden.com" + ) + ) + )! + await subject.perform(.vaultItemTapped(vaultListItem)) + + XCTAssertEqual(textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id, "1") + } + + /// `vaultItemTapped(_:)` has the text autofill helper handle text to insert autofill for the cipher but it throws. + @MainActor + func test_perform_vaultItemTappedThrows() async throws { + let vaultListItem = VaultListItem( + cipherView: CipherView.fixture( + id: "1", + login: .fixture( + password: "PASSWORD", + username: "user@bitwarden.com" + ), + name: "Test" + ) + )! + textAutofillHelper.handleCipherForAutofillError = BitwardenTestError.example + await subject.perform(.vaultItemTapped(vaultListItem)) + + XCTAssertEqual(textAutofillHelper.handleCipherForAutofillCalledWithCipher?.id, "1") + XCTAssertEqual(errorReporter.errors as? [BitwardenTestError], [.example]) + let alert = try XCTUnwrap(coordinator.alertShown.first) + XCTAssertEqual(alert.title, Localizations.anErrorHasOccurred) + XCTAssertEqual(alert.message, Localizations.failedToAutofillItem("Test")) + } +} diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor+TotpTests.swift b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor+TotpTests.swift index 733960377..ddb1d1396 100644 --- a/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor+TotpTests.swift +++ b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor+TotpTests.swift @@ -331,7 +331,12 @@ class VaultAutofillListProcessorTotpTests: BitwardenTestCase { // swiftlint:disa /// `refreshTOTPCodes(searchItems:)` does nothing if vault list sections are empty.. @MainActor - func test_refreshTOTPCodes_searchItemsEmpty() { + func test_refreshTOTPCodes_searchItemsEmpty() throws { + // WORKAROUND: initialize `configuredTOTPRefreshSchedulingItems` with something so `waitFor` + // doens't have race condition issues. + totpExpirationManagerForSearchItems.configuredTOTPRefreshSchedulingItems = [ + VaultListItem(id: "1", itemType: .cipher(.fixture())), + ] let items = [ VaultListItem( id: "2", @@ -361,8 +366,10 @@ class VaultAutofillListProcessorTotpTests: BitwardenTestCase { // swiftlint:disa onExpiration(items) waitFor(totpExpirationManagerForSearchItems.configuredTOTPRefreshSchedulingItems?.isEmpty == true) - XCTAssertEqual(subject.state.ciphersForSearch.count, 1) - XCTAssertEqual(subject.state.ciphersForSearch[0].items.count, 0) + let ciphersForSearch = subject.state.ciphersForSearch + let section = try XCTUnwrap(ciphersForSearch.first) + XCTAssertEqual(ciphersForSearch.count, 1) + XCTAssertEqual(section.items.count, 0) } /// `refreshTOTPCodes(searchItems:)` logs when refreshing throws. diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor.swift b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor.swift index cd206f600..d3327b391 100644 --- a/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor.swift +++ b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListProcessor.swift @@ -22,7 +22,9 @@ class VaultAutofillListProcessor: StateProcessor @@ -22,7 +25,7 @@ struct VaultAutofillListView: View { profileSwitcher } - .navigationBar(title: Localizations.items, titleDisplayMode: .inline) + .navigationBar(title: store.state.group?.navigationTitle ?? Localizations.items, titleDisplayMode: .inline) .searchable( text: store.binding( get: \.searchText, @@ -32,7 +35,7 @@ struct VaultAutofillListView: View { prompt: Localizations.search ) .toolbar { - cancelToolbarItem { + cancelToolbarItem(hidden: store.state.group != nil) { store.send(.cancelTapped) } @@ -117,7 +120,8 @@ private struct VaultAutofillListSearchableView: View { @ViewBuilder private func cipherListView(_ sections: [VaultListSection]) -> some View { Group { - if store.state.isAutofillingFido2List || store.state.isCreatingFido2Credential { + if store.state.isAutofillingFido2List || store.state.isCreatingFido2Credential || + store.state.isAutofillingTextToInsertList { cipherCombinedListView(sections) } else { let items = sections.first?.items ?? [] @@ -205,7 +209,8 @@ private struct VaultAutofillListSearchableView: View { image: Asset.Images.Illustrations.items.swiftUIImage, text: store.state.emptyViewMessage ) { - if store.state.isAutofillingTotpList { + if store.state.isAutofillingTotpList + || store.state.isAutofillingTextToInsertList { EmptyView() } else { Button { @@ -228,7 +233,7 @@ private struct VaultAutofillListSearchableView: View { } } .overlay(alignment: .bottomTrailing) { - addItemFloatingActionButton { + addItemFloatingActionButton(hidden: store.state.isAutofillingTextToInsertList) { store.send(.addTapped(fromFAB: true)) } } diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListViewTests.swift b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListViewTests.swift index 5020af3dc..cd48d14b6 100644 --- a/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListViewTests.swift +++ b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillListViewTests.swift @@ -286,6 +286,107 @@ class VaultAutofillListViewTests: BitwardenTestCase { // swiftlint:disable:this ) } + /// The populated view renders correctly when autofilling text to insert. + @MainActor + func test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsert() { + let account = ProfileSwitcherItem.anneAccount + processor.state.profileSwitcherState.accounts = [account] + processor.state.profileSwitcherState.activeAccountId = account.userId + processor.state.isAutofillingTextToInsertList = true + processor.state.vaultListSections = [ + VaultListSection( + id: "", + items: [ + .fixture(cipherView: .fixture( + login: .fixture(username: "email@example.com"), + name: "Example" + )), + .fixture(cipherView: .fixture(id: "12", name: "Example", type: .secureNote)), + .fixture(cipherView: .loginFixture( + attachments: [.fixture()], + id: "13", + login: .fixture(username: "user@bitwarden.com"), + name: "Bitwarden", + organizationId: "1" + )), + ], + name: "Favorites" + ), + VaultListSection( + id: "2", + items: [ + VaultListItem( + id: "21", + itemType: .group(.login, 123) + ), + VaultListItem( + id: "22", + itemType: .group(.card, 25) + ), + VaultListItem( + id: "23", + itemType: .group(.identity, 1) + ), + VaultListItem( + id: "24", + itemType: .group(.secureNote, 0) + ), + ], + name: "Types" + ), + ] + assertSnapshots( + of: subject.navStackWrapped, + as: [.defaultPortrait, .defaultPortraitDark, .defaultPortraitAX5] + ) + } + + /// The populated view renders correctly when autofilling text to insert when filtering by group. + @MainActor + func test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup() { + let account = ProfileSwitcherItem.anneAccount + processor.state.profileSwitcherState.accounts = [account] + processor.state.profileSwitcherState.activeAccountId = account.userId + processor.state.isAutofillingTextToInsertList = true + processor.state.group = .login + processor.state.vaultListSections = [ + VaultListSection( + id: "Items", + items: [ + .fixture( + cipherView: .fixture( + id: "1", + login: .fixture(username: "email@example.com"), + name: "Example" + ) + ), + .fixture(cipherView: .fixture( + id: "2", + login: .fixture( + username: "An equally long subtitle that should also take up more than one line" + ), + name: "An extra long name that should take up more than one line" + )), + .fixture(cipherView: .fixture( + id: "3", + login: .fixture(username: "email@example.com"), + name: "Example" + )), + .fixture(cipherView: .fixture( + id: "4", + login: .fixture(username: "email@example.com"), + name: "Example" + )), + ], + name: Localizations.items + ), + ] + assertSnapshots( + of: subject.navStackWrapped, + as: [.defaultPortrait, .defaultPortraitDark, .defaultPortraitAX5] + ) + } + /// The view renders correctly when searching a term with populated results. @MainActor func test_snapshot_vaultAutofillList_searching_populated() { @@ -323,4 +424,4 @@ class VaultAutofillListViewTests: BitwardenTestCase { // swiftlint:disable:this as: [.defaultPortrait, .defaultPortraitDark, .defaultPortraitAX5] ) } -} +} // swiftlint:disable:this file_length diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillSearchHandler.swift b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillSearchHandler.swift new file mode 100644 index 000000000..93bca8923 --- /dev/null +++ b/BitwardenShared/UI/Vault/Vault/AutofillList/VaultAutofillSearchHandler.swift @@ -0,0 +1,29 @@ +import UIKit + +// MARK: - VaultAutofillSearchHandler + +/// A helper class to bridge `UISearchController`'s `UISearchResultsUpdating` +/// to the SwiftUI `VaultAutofillListView`. +class VaultAutofillSearchHandler: NSObject { + // MARK: Properties + + /// The store for this group search handler. + var store: Store + + // MARK: Initializers + + /// Initializes the GroupSearchHandler with a given store. + /// + /// - Parameter store: The HandlerStore for this SearchHandler. + /// + init(store: HandlerStore) { + self.store = store + } +} + +extension VaultAutofillSearchHandler: SearchHandler { + func updateSearchResults(for searchController: UISearchController) { + store.send(.searchStateChanged(isSearching: searchController.isActive)) + store.send(.searchTextChanged(searchController.searchBar.text ?? "")) + } +} diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsert.1.png b/BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsert.1.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4a7458e60fbf6457ca670cd237ea5434c6b2dd GIT binary patch literal 144743 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

XoY`qKm)o$j6?J0{m*hlf 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°^ey+;_VC_>k1*e?dbl!pRW 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 literal 0 HcmV?d00001 diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.1.png b/BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.1.png new file mode 100644 index 0000000000000000000000000000000000000000..346913aa1fdbb00adb1eeadd46f9092bdad0efa6 GIT binary patch literal 137356 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 UL7fYsi-3Q+$Muh;Yn>1HA1&WYW&i*H literal 0 HcmV?d00001 diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.2.png b/BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.2.png new file mode 100644 index 0000000000000000000000000000000000000000..c2c10b7ee6761b283bb401ba42a94e684c8629e7 GIT binary patch literal 143720 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�-W`Bt%^9_+cUl->5+OF%|F}Tx$BsYS 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 UV|G4Y1N;N2YF){@bo2iI0%|B&ZvX%Q literal 0 HcmV?d00001 diff --git a/BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.3.png b/BitwardenShared/UI/Vault/Vault/AutofillList/__Snapshots__/VaultAutofillListViewTests/test_snapshot_vaultAutofillList_populatedWhenAutofillingTextToInsertWithGroup.3.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc1ce876786f18d1383c0a157713a2b2e007344 GIT binary patch literal 211681 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%0D4?1k=%o!{^xF$C_D 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

    Xw@m^9bO*3EoEXJd>@ItV03x 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 literal 0 HcmV?d00001 diff --git a/BitwardenShared/UI/Vault/Vault/VaultCoordinator.swift b/BitwardenShared/UI/Vault/Vault/VaultCoordinator.swift index c11cb7f8e..3480dcf51 100644 --- a/BitwardenShared/UI/Vault/Vault/VaultCoordinator.swift +++ b/BitwardenShared/UI/Vault/Vault/VaultCoordinator.swift @@ -78,7 +78,9 @@ final class VaultCoordinator: Coordinator, HasStackNavigator { & HasSettingsRepository & HasStateService & HasTOTPExpirationManagerFactory + & HasTextAutofillHelperFactory & HasTimeProvider + & HasUserVerificationHelperFactory & HasVaultRepository & VaultItemCoordinator.Services @@ -164,6 +166,8 @@ final class VaultCoordinator: Coordinator, HasStackNavigator { } case .autofillList: showAutofillList() + case let .autofillListForGroup(group): + showAutofillListForGroup(group) case let .editItem(cipher): Task { let hasPremium = try? await services.vaultRepository.doesActiveAccountHavePremium() @@ -221,6 +225,37 @@ final class VaultCoordinator: Coordinator, HasStackNavigator { stackNavigator?.replace(view) } + /// Shows the autofill list screen for a specified group. + /// + private func showAutofillListForGroup(_ group: VaultListGroup) { + let processor = VaultAutofillListProcessor( + appExtensionDelegate: appExtensionDelegate, + coordinator: asAnyCoordinator(), + services: services, + state: VaultAutofillListState( + group: group, + iconBaseURL: services.environmentService.iconsURL + ) + ) + let store = Store(processor: processor) + let searchHandler = VaultAutofillSearchHandler(store: store) + let view = VaultAutofillListView( + searchHandler: searchHandler, + store: store, + timeProvider: services.timeProvider + ) + let viewController = UIHostingController(rootView: view) + let searchController = UISearchController() + searchController.searchBar.placeholder = Localizations.search + searchController.searchResultsUpdater = searchHandler + + stackNavigator?.push( + viewController, + navigationTitle: group.navigationTitle, + searchController: searchController + ) + } + /// Shows the vault group screen. /// /// - Parameters: diff --git a/BitwardenShared/UI/Vault/Vault/VaultCoordinatorTests.swift b/BitwardenShared/UI/Vault/Vault/VaultCoordinatorTests.swift index 6e043ac14..1bf43b573 100644 --- a/BitwardenShared/UI/Vault/Vault/VaultCoordinatorTests.swift +++ b/BitwardenShared/UI/Vault/Vault/VaultCoordinatorTests.swift @@ -165,6 +165,19 @@ class VaultCoordinatorTests: BitwardenTestCase { XCTAssertEqual(action.type, .dismissed) } + /// `navigate(to:)` with `.autofillListForGroup` pushes the vault autofill list view + /// onto the stack navigator filtered by a group. + @MainActor + func test_navigateTo_autofillListForGroup() throws { + subject.navigate(to: .autofillListForGroup(.identity)) + + let action = try XCTUnwrap(stackNavigator.actions.last) + XCTAssertEqual(action.type, .pushed) + + let view = try XCTUnwrap((action.view as? UIHostingController)?.rootView) + XCTAssertEqual(view.store.state.group, .identity) + } + /// `navigate(to:)` with `.group` pushes the vault group view onto the stack navigator. @MainActor func test_navigateTo_group() throws { diff --git a/BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessor.swift b/BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessor.swift index 0eac57a6f..52d88f484 100644 --- a/BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessor.swift +++ b/BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessor.swift @@ -223,7 +223,7 @@ final class VaultGroupProcessor: StateProcessor< let result = try await services.vaultRepository.searchVaultListPublisher( searchText: searchText, group: state.group, - filterType: state.searchVaultFilterType + filter: VaultListFilter(filterType: state.searchVaultFilterType) ) for try await ciphers in result { return ciphers @@ -250,7 +250,7 @@ final class VaultGroupProcessor: StateProcessor< do { for try await vaultList in try await services.vaultRepository.vaultListPublisher( group: state.group, - filter: state.vaultFilterType + filter: VaultListFilter(filterType: state.vaultFilterType) ) { groupTotpExpirationManager?.configureTOTPRefreshScheduling(for: vaultList.flatMap(\.items)) state.loadingState = .data(vaultList) diff --git a/BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessorTests.swift b/BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessorTests.swift index dde676081..bd17951eb 100644 --- a/BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessorTests.swift +++ b/BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessorTests.swift @@ -232,7 +232,7 @@ class VaultGroupProcessorTests: BitwardenTestCase { // swiftlint:disable:this ty await subject.perform(.search("example")) XCTAssertEqual(subject.state.searchResults.count, 1) XCTAssertEqual( - vaultRepository.searchVaultListFilterType, + vaultRepository.searchVaultListFilterType?.filterType, .organization(.fixture(id: "id1")) ) XCTAssertEqual( diff --git a/BitwardenShared/UI/Vault/Vault/VaultItemSelection/VaultItemSelectionProcessor.swift b/BitwardenShared/UI/Vault/Vault/VaultItemSelection/VaultItemSelectionProcessor.swift index e4b59a898..d0b9bdb0a 100644 --- a/BitwardenShared/UI/Vault/Vault/VaultItemSelection/VaultItemSelectionProcessor.swift +++ b/BitwardenShared/UI/Vault/Vault/VaultItemSelection/VaultItemSelectionProcessor.swift @@ -172,7 +172,7 @@ class VaultItemSelectionProcessor: StateProcessor< let searchPublisher = try await services.vaultRepository.searchVaultListPublisher( searchText: searchText, group: .login, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) for try await items in searchPublisher { state.searchResults = items @@ -224,7 +224,7 @@ class VaultItemSelectionProcessor: StateProcessor< for try await items in try await services.vaultRepository.searchVaultListPublisher( searchText: searchName, group: .login, - filterType: .allVaults + filter: VaultListFilter(filterType: .allVaults) ) { guard !items.isEmpty else { state.vaultListSections = [] diff --git a/BitwardenShared/UI/Vault/Vault/VaultList/VaultListProcessor.swift b/BitwardenShared/UI/Vault/Vault/VaultList/VaultListProcessor.swift index f9c1af08a..b2eb66fd5 100644 --- a/BitwardenShared/UI/Vault/Vault/VaultList/VaultListProcessor.swift +++ b/BitwardenShared/UI/Vault/Vault/VaultList/VaultListProcessor.swift @@ -277,7 +277,7 @@ extension VaultListProcessor { do { let result = try await services.vaultRepository.searchVaultListPublisher( searchText: searchText, - filterType: state.searchVaultFilterType + filter: VaultListFilter(filterType: state.searchVaultFilterType) ) for try await ciphers in result { return ciphers @@ -360,7 +360,7 @@ extension VaultListProcessor { private func streamVaultList() async { do { for try await value in try await services.vaultRepository - .vaultListPublisher(filter: state.vaultFilterType) { + .vaultListPublisher(filter: VaultListFilter(filterType: state.vaultFilterType)) { // Check if the vault needs a sync. let needsSync = try await services.vaultRepository.needsSync() diff --git a/BitwardenShared/UI/Vault/Vault/VaultRoute.swift b/BitwardenShared/UI/Vault/Vault/VaultRoute.swift index f0daa7003..5fe49bfd5 100644 --- a/BitwardenShared/UI/Vault/Vault/VaultRoute.swift +++ b/BitwardenShared/UI/Vault/Vault/VaultRoute.swift @@ -24,6 +24,9 @@ public enum VaultRoute: Equatable, Hashable { /// A route to the autofill list screen. case autofillList + /// A route to the autofill list screen with a specified group. + case autofillListForGroup(_ group: VaultListGroup) + /// A route to edit an item. /// /// - Parameter cipher: The `CipherView` to edit.