Files
Forge/test/flatpak_permissions_service_test.dart

50 lines
1.4 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:forge/src/services/flatpak_permissions_service.dart';
void main() {
group('FlatpakPermissionsService Parser Tests', () {
test('parses basic permissions from manifest correctly', () {
const manifest = '''
[Application]
name=org.example.App
[Context]
shared=ipc;network;
sockets=pulseaudio;x11;
devices=dri;
filesystems=host;
''';
const overrides = '';
final perms = FlatpakPermissionsService.parsePermissions('org.example.App', manifest, overrides);
expect(perms.network, isTrue);
expect(perms.socketPulseaudio, isTrue);
expect(perms.socketX11, isTrue);
expect(perms.deviceDri, isTrue);
expect(perms.filesystemHost, isTrue);
expect(perms.filesystemHome, isTrue); // host implies home
expect(perms.hasOverrides, isFalse);
});
test('respects user overrides (disabling network and x11)', () {
const manifest = '''
[Context]
shared=ipc;network;
sockets=pulseaudio;x11;wayland;
''';
const overrides = '''
[Context]
shared=!network;
sockets=!x11;
''';
final perms = FlatpakPermissionsService.parsePermissions('org.example.App', manifest, overrides);
expect(perms.network, isFalse);
expect(perms.socketX11, isFalse);
expect(perms.socketWayland, isTrue);
expect(perms.socketPulseaudio, isTrue);
expect(perms.hasOverrides, isTrue);
});
});
}