| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef IOS_CHROME_TEST_APP_MOCK_REAUTHENTICATION_MODULE_H_ |
| #define IOS_CHROME_TEST_APP_MOCK_REAUTHENTICATION_MODULE_H_ |
| |
| #import "ios/chrome/common/ui/reauthentication/reauthentication_protocol.h" |
| |
| // Mock reauthentication module, used by eg tests in order to fake |
| // reauthentication. |
| @interface MockReauthenticationModule : NSObject <ReauthenticationProtocol> |
| |
| // Localized string containing the reason why reauthentication is requested. |
| @property(nonatomic, copy) NSString* localizedReasonForAuthentication; |
| |
| // Indicates whether the device is capable of reauthenticating the user with |
| // Biometric auth. |
| @property(nonatomic, assign) BOOL canAttemptWithBiometrics; |
| |
| // Indicates whether the device is capable of reauthenticating the user. |
| @property(nonatomic, assign) BOOL canAttempt; |
| |
| // Indicates whether (mock) authentication should succeed or not. Setting |
| // `shouldSucceed` to any value sets `canAttemptWithBiometrics` and `canAttempt` |
| // to YES. |
| @property(nonatomic, assign) ReauthenticationResult expectedResult; |
| |
| // Whether the mock module should return the mocked result when the |
| // reauthentication request is made or wait for |
| // `returnMockedReauthenticationResult` to be invoked. Defaults to YES. Use it |
| // for testing some state while authentication is being requested. |
| @property(nonatomic, assign) BOOL shouldReturnSynchronously; |
| |
| // Invokes the last handler passed to attemptReauthWithLocalizedReason with |
| // `expectedResult`. |
| - (void)returnMockedReauthenticationResult; |
| |
| @end |
| |
| #endif // IOS_CHROME_TEST_APP_MOCK_REAUTHENTICATION_MODULE_H_ |