fluffychat/test/utils/test_client.dart

41 lines
1.2 KiB
Dart
Raw Permalink Normal View History

2022-08-14 16:59:21 +02:00
// ignore_for_file: depend_on_referenced_packages
import 'package:matrix/encryption/utils/key_verification.dart';
import 'package:matrix/matrix.dart';
import 'package:matrix_api_lite/fake_matrix_api.dart';
2021-04-12 18:33:43 +02:00
import 'package:fluffychat/utils/matrix_sdk_extensions.dart/flutter_hive_collections_database.dart';
2021-10-26 18:50:34 +02:00
Future<Client> prepareTestClient({
2021-04-12 18:33:43 +02:00
bool loggedIn = false,
2022-05-14 09:51:21 +02:00
Uri? homeserver,
2021-04-12 18:33:43 +02:00
String id = 'FluffyChat Widget Test',
}) async {
2022-05-14 09:51:21 +02:00
homeserver ??= Uri.parse('https://fakeserver.notexisting');
final client = Client(
'FluffyChat Widget Tests',
httpClient: FakeMatrixApi(),
verificationMethods: {
KeyVerificationMethod.numbers,
KeyVerificationMethod.emoji,
},
importantStateEvents: <String>{
'im.ponies.room_emotes', // we want emotes to work properly
},
databaseBuilder: FlutterHiveCollectionsDatabase.databaseBuilder,
supportedLoginTypes: {
AuthenticationTypes.password,
AuthenticationTypes.sso
},
);
2022-01-29 12:35:03 +01:00
await client.checkHomeserver(homeserver);
2021-04-12 18:33:43 +02:00
if (loggedIn) {
await client.login(
LoginType.mLoginToken,
2021-04-12 18:33:43 +02:00
identifier: AuthenticationUserIdentifier(user: '@alice:example.invalid'),
password: '1234',
);
}
return client;
}