ci: Test that database can write and read at least 5mb of data

This does not yet test on
Android but at least makes sure
that this problem does not
occur when using future
databases.
This commit is contained in:
Krille 2023-12-21 08:39:26 +01:00
parent df035d873a
commit aa2b010155
No known key found for this signature in database
GPG Key ID: E067ECD60F1A0652
1 changed files with 25 additions and 0 deletions

View File

@ -26,6 +26,16 @@ import 'package:test/test.dart';
import 'package:matrix/matrix.dart';
import 'fake_database.dart';
String createLargeString(String character, int desiredSize) {
final buffer = StringBuffer();
while (buffer.length < desiredSize) {
buffer.write(character);
}
return buffer.toString();
}
void main() {
final databaseBuilders = {
'Matrix SDK Database': getMatrixSdkDatabase,
@ -173,6 +183,21 @@ void main() {
expect(
events2.values.any((element) => element.type == 'm.abc+de'), true);
});
test('Database can write and read 5MB data', () async {
final hugeDataObject = {'foo': createLargeString('A', 5 * 1024 * 1024)};
await database.storeAccountData(
'm.huge_data_test',
jsonEncode(hugeDataObject),
);
final events = await database.getAccountData();
expect(
events.values.any((data) => data.type == 'm.huge_data_test'),
true,
);
});
test('storeEventUpdate', () async {
await database.storeEventUpdate(
EventUpdate(