2024-05-02 14:15:42 -04:00
|
|
|
@Timeout(Duration(seconds: 120))
|
2024-03-17 16:19:52 -04:00
|
|
|
|
2024-04-30 17:43:09 -04:00
|
|
|
library veilid_flutter_integration_test;
|
|
|
|
|
2024-03-02 17:45:26 -05:00
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
import 'package:integration_test/integration_test.dart';
|
2024-04-30 17:43:09 -04:00
|
|
|
import 'package:veilid_test/veilid_test.dart';
|
2024-03-02 17:45:26 -05:00
|
|
|
|
2024-03-16 23:57:46 -04:00
|
|
|
import 'test_crypto.dart';
|
2024-05-02 14:15:42 -04:00
|
|
|
import 'test_dht.dart';
|
2024-03-16 23:57:46 -04:00
|
|
|
import 'test_routing_context.dart';
|
|
|
|
import 'test_table_db.dart';
|
2024-03-02 17:45:26 -05:00
|
|
|
import 'test_veilid_config.dart';
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
|
2024-04-30 17:43:09 -04:00
|
|
|
final fixture =
|
|
|
|
DefaultVeilidFixture(programName: 'veilid_flutter integration test');
|
2024-03-02 17:45:26 -05:00
|
|
|
|
2024-03-16 23:57:46 -04:00
|
|
|
group('Unstarted Tests', () {
|
|
|
|
test('veilid config defaults', testVeilidConfigDefaults);
|
2024-03-02 17:45:26 -05:00
|
|
|
});
|
|
|
|
|
2024-03-16 23:57:46 -04:00
|
|
|
group('Started Tests', () {
|
|
|
|
setUpAll(fixture.setUp);
|
|
|
|
tearDownAll(fixture.tearDown);
|
2024-03-02 17:45:26 -05:00
|
|
|
|
2024-03-16 23:57:46 -04:00
|
|
|
group('Crypto Tests', () {
|
|
|
|
test('best cryptosystem', testBestCryptoSystem);
|
|
|
|
test('get cryptosystem', testGetCryptoSystem);
|
|
|
|
test('get cryptosystem invalid', testGetCryptoSystemInvalid);
|
|
|
|
test('hash and verify password', testHashAndVerifyPassword);
|
2024-05-31 16:20:58 -04:00
|
|
|
test('sign and verify signature', testSignAndVerifySignature);
|
|
|
|
test('sign and verify signatures', testSignAndVerifySignatures);
|
2024-03-16 23:57:46 -04:00
|
|
|
});
|
2024-03-02 17:45:26 -05:00
|
|
|
|
2024-03-16 23:57:46 -04:00
|
|
|
group('Table DB Tests', () {
|
|
|
|
test('delete table db nonexistent', testDeleteTableDbNonExistent);
|
|
|
|
test('open delete table db', testOpenDeleteTableDb);
|
|
|
|
test('open twice table db', testOpenTwiceTableDb);
|
|
|
|
test('open twice table db store load', testOpenTwiceTableDbStoreLoad);
|
|
|
|
test('open twice table db store delete load',
|
|
|
|
testOpenTwiceTableDbStoreDeleteLoad);
|
|
|
|
test('resize table db', testResizeTableDb);
|
|
|
|
});
|
2024-03-02 17:45:26 -05:00
|
|
|
|
2024-03-16 23:57:46 -04:00
|
|
|
group('Attached Tests', () {
|
|
|
|
setUpAll(fixture.attach);
|
|
|
|
tearDownAll(fixture.detach);
|
2024-03-02 17:45:26 -05:00
|
|
|
|
2024-03-16 23:57:46 -04:00
|
|
|
group('Routing Contexts', () {
|
|
|
|
test('routing contexts', testRoutingContexts);
|
|
|
|
test('app message loopback',
|
2024-05-02 14:15:42 -04:00
|
|
|
() async => testAppMessageLoopback(fixture.updateStream));
|
2024-03-16 23:57:46 -04:00
|
|
|
test('app call loopback',
|
2024-05-02 14:15:42 -04:00
|
|
|
() async => testAppCallLoopback(fixture.updateStream));
|
2024-03-16 23:57:46 -04:00
|
|
|
test('app message loopback big packets',
|
2024-05-02 14:15:42 -04:00
|
|
|
() async => testAppMessageLoopbackBigPackets(fixture.updateStream));
|
2024-03-16 23:57:46 -04:00
|
|
|
test('app call loopback big packets',
|
2024-05-02 14:15:42 -04:00
|
|
|
() async => testAppCallLoopbackBigPackets(fixture.updateStream));
|
2024-03-16 23:57:46 -04:00
|
|
|
});
|
2024-03-02 17:45:26 -05:00
|
|
|
|
2024-03-16 23:57:46 -04:00
|
|
|
group('Veilid DHT', () {
|
|
|
|
test('get dht value unopened', testGetDHTValueUnopened);
|
|
|
|
test('open dht record nonexistent no writer',
|
|
|
|
testOpenDHTRecordNonexistentNoWriter);
|
|
|
|
test('close dht record nonexistent', testCloseDHTRecordNonexistent);
|
|
|
|
test('delete dht record nonexistent', testDeleteDHTRecordNonexistent);
|
|
|
|
test(
|
|
|
|
'create delete dht record simple', testCreateDeleteDHTRecordSimple);
|
|
|
|
test('create delete dht record no close',
|
|
|
|
testCreateDeleteDHTRecordNoClose);
|
|
|
|
test('get dht value nonexistent', testGetDHTValueNonexistent);
|
|
|
|
test('set get dht value', testSetGetDHTValue);
|
|
|
|
test('open writer dht value', testOpenWriterDHTValue);
|
2024-08-15 14:21:24 -04:00
|
|
|
// xxx: needs to be a multi-server integration test
|
|
|
|
// test('watch dht values',
|
|
|
|
// () async => testWatchDHTValues(fixture.updateStream));
|
2024-03-16 23:57:46 -04:00
|
|
|
test('inspect dht record', testInspectDHTRecord);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
2024-03-02 17:45:26 -05:00
|
|
|
}
|