mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-11-04 00:33:12 +00:00
47 lines
1.4 KiB
Dart
47 lines
1.4 KiB
Dart
import 'package:flutter_hbb/common.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
test('request-approval links preserve their connection type', () {
|
|
for (final type in [
|
|
'connect',
|
|
'play',
|
|
'file-transfer',
|
|
'view-camera',
|
|
'port-forward',
|
|
'rdp',
|
|
'terminal',
|
|
'terminal-admin',
|
|
]) {
|
|
expect(
|
|
urlLinkToCmdArgs(
|
|
Uri.parse('rustdesk://$type/123456789?request-approval=true')),
|
|
['--$type', '123456789', '--request-approval'],
|
|
);
|
|
}
|
|
expect(
|
|
urlLinkToCmdArgs(Uri.parse('rustdesk://123456789?request-approval=true')),
|
|
['--connect', '123456789', '--request-approval'],
|
|
);
|
|
});
|
|
|
|
test('omitted and empty passwords retain automatic login', () {
|
|
expect(urlLinkToCmdArgs(Uri.parse('rustdesk://123456789')),
|
|
['--connect', '123456789']);
|
|
for (final query in ['password=', 'password=&request-approval=false']) {
|
|
expect(urlLinkToCmdArgs(Uri.parse('rustdesk://123456789?$query')),
|
|
['--connect', '123456789', '--password', '']);
|
|
}
|
|
});
|
|
|
|
test('request-approval ignores an explicit password in either order', () {
|
|
for (final query in [
|
|
'password=provided&request-approval=true',
|
|
'request-approval=true&password=provided',
|
|
]) {
|
|
expect(urlLinkToCmdArgs(Uri.parse('rustdesk://123456789?$query')),
|
|
['--connect', '123456789', '--request-approval']);
|
|
}
|
|
});
|
|
}
|