// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import 'dart:async'; import 'package:amplify_auth_cognito_dart/src/sdk/cognito_identity.dart'; import 'package:amplify_auth_cognito_dart/src/sdk/cognito_identity_provider.dart'; import 'package:aws_common/aws_common.dart'; import 'package:smithy/src/operation.dart'; SmithyOperation mockSmithyOperation(FutureOr Function() fn) => SmithyOperation( CancelableOperation.fromFuture( Future.value(fn()), ), operationName: '', requestProgress: const Stream.empty(), responseProgress: const Stream.empty(), ); SmithyOperation _mockIfProvided(FutureOr Function()? fn) { if (fn == null) { throw UnimplementedError(); } return mockSmithyOperation(fn); } class MockCognitoIdentityProviderClient implements CognitoIdentityProviderClient { MockCognitoIdentityProviderClient({ Future Function()? associateSoftwareToken, Future Function()? changePassword, Future Function()? confirmDevice, Future Function()? confirmForgotPassword, Future Function()? confirmSignUp, Future Function()? deleteUser, Future Function()? forgetDevice, Future Function()? forgotPassword, Future Function()? getDevice, Future Function()? getUser, Future Function()? getUserAttributeVerificationCode, Future Function()? globalSignOut, Future Function(InitiateAuthRequest)? initiateAuth, Future Function()? listDevices, Future Function()? resendConfirmationCode, Future Function( RespondToAuthChallengeRequest, )? respondToAuthChallenge, Future Function()? revokeToken, Future Function()? signUp, Future Function()? updateDeviceStatus, Future Function()? updateUserAttributes, Future Function()? verifySoftwareToken, Future Function()? verifyUserAttribute, }) : _associateSoftwareToken = associateSoftwareToken, _changePassword = changePassword, _confirmDevice = confirmDevice, _confirmForgotPassword = confirmForgotPassword, _confirmSignUp = confirmSignUp, _deleteUser = deleteUser, _forgetDevice = forgetDevice, _forgotPassword = forgotPassword, _getDevice = getDevice, _getUser = getUser, _getUserAttributeVerificationCode = getUserAttributeVerificationCode, _globalSignOut = globalSignOut, _initiateAuth = initiateAuth, _listDevices = listDevices, _resendConfirmationCode = resendConfirmationCode, _respondToAuthChallenge = respondToAuthChallenge, _revokeToken = revokeToken, _signUp = signUp, _updateDeviceStatus = updateDeviceStatus, _updateUserAttributes = updateUserAttributes, _verifySoftwareToken = verifySoftwareToken, _verifyUserAttribute = verifyUserAttribute; final Future Function()? _associateSoftwareToken; final Future Function()? _changePassword; final Future Function()? _confirmDevice; final Future Function()? _confirmForgotPassword; final Future Function()? _confirmSignUp; final Future Function()? _deleteUser; final Future Function()? _forgetDevice; final Future Function()? _forgotPassword; final Future Function()? _getDevice; final Future Function()? _getUser; final Future Function()? _getUserAttributeVerificationCode; final Future Function()? _globalSignOut; final Future Function(InitiateAuthRequest)? _initiateAuth; final Future Function()? _listDevices; final Future Function()? _resendConfirmationCode; final Future Function( RespondToAuthChallengeRequest, )? _respondToAuthChallenge; final Future Function()? _revokeToken; final Future Function()? _signUp; final Future Function()? _updateDeviceStatus; final Future Function()? _updateUserAttributes; final Future Function()? _verifySoftwareToken; final Future Function()? _verifyUserAttribute; @override SmithyOperation associateSoftwareToken( AssociateSoftwareTokenRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_associateSoftwareToken); @override SmithyOperation changePassword( ChangePasswordRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_changePassword); @override SmithyOperation confirmDevice( ConfirmDeviceRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_confirmDevice); @override SmithyOperation confirmForgotPassword( ConfirmForgotPasswordRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_confirmForgotPassword); @override SmithyOperation confirmSignUp( ConfirmSignUpRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_confirmSignUp); @override SmithyOperation deleteUser( DeleteUserRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_deleteUser); @override SmithyOperation forgetDevice( ForgetDeviceRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_forgetDevice); @override SmithyOperation forgotPassword( ForgotPasswordRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_forgotPassword); @override SmithyOperation getDevice( GetDeviceRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_getDevice); @override SmithyOperation getUser( GetUserRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_getUser); @override SmithyOperation getUserAttributeVerificationCode( GetUserAttributeVerificationCodeRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_getUserAttributeVerificationCode); @override SmithyOperation globalSignOut( GlobalSignOutRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_globalSignOut); @override SmithyOperation initiateAuth( InitiateAuthRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided( _initiateAuth == null ? null : () => _initiateAuth!(input), ); @override SmithyOperation listDevices( ListDevicesRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_listDevices); @override SmithyOperation resendConfirmationCode( ResendConfirmationCodeRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_resendConfirmationCode); @override SmithyOperation respondToAuthChallenge( RespondToAuthChallengeRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided( _respondToAuthChallenge == null ? null : () => _respondToAuthChallenge!(input), ); @override SmithyOperation revokeToken( RevokeTokenRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_revokeToken); @override SmithyOperation signUp( SignUpRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_signUp); @override SmithyOperation updateDeviceStatus( UpdateDeviceStatusRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_updateDeviceStatus); @override SmithyOperation updateUserAttributes( UpdateUserAttributesRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_updateUserAttributes); @override SmithyOperation verifySoftwareToken( VerifySoftwareTokenRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_verifySoftwareToken); @override SmithyOperation verifyUserAttribute( VerifyUserAttributeRequest input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_verifyUserAttribute); } class MockCognitoIdentityClient implements CognitoIdentityClient { MockCognitoIdentityClient({ Future Function()? getCredentialsForIdentity, Future Function()? getId, }) : _getCredentialsForIdentity = getCredentialsForIdentity, _getId = getId; final Future Function()? _getCredentialsForIdentity; final Future Function()? _getId; @override SmithyOperation getCredentialsForIdentity( GetCredentialsForIdentityInput input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_getCredentialsForIdentity); @override SmithyOperation getId( GetIdInput input, { AWSHttpClient? client, AWSCredentialsProvider? credentialsProvider, }) => _mockIfProvided(_getId); }