Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/amplify_auth_cognito/example/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
.buildlog/
.history
.svn/
**/adminCreateUser.zip

# IntelliJ related
*.iml
Expand Down Expand Up @@ -49,7 +50,6 @@ amplify/.config/local-*
amplify/logs
amplify/mock-data
amplify/backend/amplify-meta.json
amplify/backend/awscloudformation
amplify/backend/.temp
build/
dist/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,12 @@ void main() {
}, skip: !Platform.isIOS);

group('deleteUser (Android)', () {
setUpAll(() async {
await configureAuth(additionalPlugins: [
AmplifyAPI(),
]);
await signOutUser();
});
testWidgets('should throw an UnimplementedError on Android',
(WidgetTester tester) async {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* permissions and limitations under the License.
*/

import 'package:amplify_api/amplify_api.dart';
import 'package:amplify_test/amplify_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:amplify_flutter/amplify_flutter.dart';
Expand All @@ -30,16 +32,17 @@ void main() {

group('fetchSession', () {
setUpAll(() async {
await configureAuth();
await configureAuth(additionalPlugins: [
AmplifyAPI(),
]);

// create one user for all tests
await Amplify.Auth.signUp(
username: username,
password: password,
options: CognitoSignUpOptions(userAttributes: {
CognitoUserAttributeKey.email: generateEmail(),
CognitoUserAttributeKey.phoneNumber: mockPhoneNumber
}));
// create one confirmed user for all tests
await adminCreateUser(
username,
password,
autoConfirm: true,
verifyAttributes: true,
);
});

// sign in prior to each test
Expand Down Expand Up @@ -78,7 +81,7 @@ void main() {
testWidgets('should return isSignedIn as false if the user is signed out',
(WidgetTester tester) async {
await Amplify.Auth.signOut();
var res = await Amplify.Auth.fetchAuthSession() as CognitoAuthSession;
var res = await Amplify.Auth.fetchAuthSession();
expect(res.isSignedIn, isFalse);
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* permissions and limitations under the License.
*/

import 'package:amplify_api/amplify_api.dart';
import 'package:amplify_test/amplify_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:amplify_flutter/amplify_flutter.dart';
Expand All @@ -30,16 +32,17 @@ void main() {

group('getCurrentUser', () {
setUpAll(() async {
await configureAuth();
await configureAuth(additionalPlugins: [
AmplifyAPI(),
]);

// create one user for all tests
await Amplify.Auth.signUp(
username: username,
password: password,
options: CognitoSignUpOptions(userAttributes: {
CognitoUserAttributeKey.email: generateEmail(),
CognitoUserAttributeKey.phoneNumber: mockPhoneNumber
}));
await adminCreateUser(
username,
password,
autoConfirm: true,
verifyAttributes: true,
);
});

// sign in prior to each test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,33 +94,37 @@ void main() {
'should broadcast events for deleteUser',
(WidgetTester tester) async {
// setup
var nextEvent;
var signinEvent;
var deleteEvent;
var signoutEvent;
var event;
var eventCount = 0;
var authEventStream = Amplify.Hub.availableStreams[HubChannel.Auth]!;
authEventStream.listen((event) => eventCount++);

// assert sign in event is broadcast
nextEvent = authEventStream.first;
signinEvent =
authEventStream.firstWhere((el) => el.eventName == 'SIGNED_IN');
deleteEvent =
authEventStream.firstWhere((el) => el.eventName == 'USER_DELETED');
signoutEvent =
authEventStream.firstWhere((el) => el.eventName == 'SIGNED_OUT');

await Amplify.Auth.signIn(
username: username,
password: password,
);
event = await nextEvent;
expect(event.eventName, 'SIGNED_IN');
var event1 = await signinEvent;
expect(event1.eventName, 'SIGNED_IN');

// assert signed out event is broadcast
nextEvent = authEventStream.first;
await Amplify.Auth.deleteUser();
event = await nextEvent;
expect(event.eventName, 'SIGNED_OUT');
var event2 = await signoutEvent;
var event3 = await deleteEvent;
expect(event2.eventName, 'SIGNED_OUT');

// assert delete user event is broadcast
nextEvent = authEventStream.first;
event = await nextEvent;
expect(event.eventName, 'USER_DELETED');
expect(event3.eventName, 'USER_DELETED');

// assert 3 total events are broadcast
expect(eventCount, 3);
},
skip: !Platform.isIOS,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,6 @@ void main() async {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();

group('amplify_auth_cognito', () {
setUpAll(() async {
final authPlugin = AmplifyAuthCognito();
await Amplify.addPlugins([authPlugin]);
await Amplify.configure(amplifyconfig);
});

sign_in_sign_out_tests.main();
sign_up_tests.main();
user_attributes_tests.main();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* permissions and limitations under the License.
*/

import 'package:amplify_api/amplify_api.dart';
import 'package:amplify_test/amplify_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:amplify_flutter/amplify_flutter.dart';
Expand All @@ -23,24 +25,24 @@ import 'utils/setup_utils.dart';

void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();

late String username;
late String password;
group('signIn', () {
late String username;
late String password;
setUp(() async {
await configureAuth();
await configureAuth(additionalPlugins: [
AmplifyAPI(),
]);

// create new user for each test
username = generateUsername();
password = generatePassword();

await Amplify.Auth.signUp(
username: username,
password: password,
options: CognitoSignUpOptions(userAttributes: {
CognitoUserAttributeKey.email: generateEmail(),
CognitoUserAttributeKey.phoneNumber: mockPhoneNumber
}));
await adminCreateUser(
username,
password,
autoConfirm: true,
verifyAttributes: true,
);

await signOutUser();
});
Expand Down Expand Up @@ -99,17 +101,6 @@ void main() {
});

testWidgets('should sign a user out', (WidgetTester tester) async {
// sign up user
final username = generateUsername();
final password = generatePassword();
await Amplify.Auth.signUp(
username: username,
password: password,
options: CognitoSignUpOptions(userAttributes: {
CognitoUserAttributeKey.email: generateEmail(),
CognitoUserAttributeKey.phoneNumber: mockPhoneNumber
}));

// Ensure signed in before testing signOut.
await Amplify.Auth.signIn(username: username, password: password);
final authSession = await Amplify.Auth.fetchAuthSession();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
* permissions and limitations under the License.
*/

import 'package:amplify_api/amplify_api.dart';
import 'package:integration_test/integration_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:amplify_flutter/amplify_flutter.dart';
Expand All @@ -26,7 +27,9 @@ void main() {

group('signUp', () {
setUpAll(() async {
await configureAuth();
await configureAuth(additionalPlugins: [
AmplifyAPI(),
]);
await signOutUser();
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* permissions and limitations under the License.
*/

import 'package:amplify_api/amplify_api.dart';
import 'package:amplify_test/amplify_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:amplify_flutter/amplify_flutter.dart';
Expand All @@ -29,20 +31,21 @@ void main() {

group('updatePassword', () {
setUpAll(() async {
await configureAuth();
await configureAuth(additionalPlugins: [
AmplifyAPI(),
]);
});

setUp(() async {
// create new user for each test
username = generateUsername();
password = generatePassword();
await Amplify.Auth.signUp(
username: username,
password: password,
options: CognitoSignUpOptions(userAttributes: {
CognitoUserAttributeKey.email: generateEmail(),
CognitoUserAttributeKey.phoneNumber: mockPhoneNumber
}));
await adminCreateUser(
username,
password,
autoConfirm: true,
verifyAttributes: true,
);

await signOutUser();
// sign in with current password
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* permissions and limitations under the License.
*/

import 'package:amplify_api/amplify_api.dart';
import 'package:amplify_test/amplify_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:amplify_flutter/amplify_flutter.dart';
Expand Down Expand Up @@ -46,16 +48,22 @@ void main() {

group('User Attributes', () {
setUpAll(() async {
await configureAuth();
await configureAuth(additionalPlugins: [
AmplifyAPI(),
]);
await signOutUser();
await Amplify.Auth.signUp(
username: username,
password: password,
options: CognitoSignUpOptions(userAttributes: {
emailAttributeKey: email,
phoneNumberAttributeKey: phoneNumber,
nameAttributeKey: name
}));
await adminCreateUser(username, password,
autoConfirm: true,
verifyAttributes: true,
attributes: [
AuthUserAttribute(
userAttributeKey: CognitoUserAttributeKey.name, value: name),
AuthUserAttribute(
userAttributeKey: CognitoUserAttributeKey.email, value: email),
AuthUserAttribute(
userAttributeKey: CognitoUserAttributeKey.phoneNumber,
value: mockPhoneNumber)
]);
await Amplify.Auth.signIn(username: username, password: password);
});

Expand Down
13 changes: 13 additions & 0 deletions packages/amplify_auth_cognito/example/tool/add_api_request.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"version": 1,
"serviceConfiguration": {
"serviceName": "AppSync",
"apiName": "apiIntegrationTestGraphQL",
"transformSchema": "<SCHEMA_PLACEHOLDER>",
"defaultAuthType": {
"mode": "API_KEY",
"expirationTime": 365
}
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
"signinMethod": "USERNAME",
"requiredSignupAttributes": ["EMAIL", "PHONE_NUMBER"]
},
"includeIdentityPool": false
"includeIdentityPool": true
}
}
Loading