CH-J SM Mobileupravljanje poslužiteljima preko SSH
Meni
Objavljen izvor

CH-J SM Mobile

Pregledaj direktorije i datoteke za određeni programski izdanje.

Preuzmi ZIP izvora
CH-J / SM Mobile 134 datoteke
sm-mobile-20261016T050549Z-3678f2a05fa9 Dodano: · Izgrađeno:
Datoteke
legal_lifecycle_test.dart Dodano: Datum nije zabilježen 1,8 KB · 56 linije
Preuzmi datoteku
1import 'dart:convert';
2import 'package:flutter/material.dart';
3import 'package:flutter_test/flutter_test.dart';
4import 'package:sm_mobile/core/app_controller.dart';
5import 'package:sm_mobile/core/failure.dart';
6import 'package:sm_mobile/services/legal.dart';
7import 'support.dart';
9void main() {
10 TestWidgetsFlutterBinding.ensureInitialized();
11 test(
12 'license consent binds exact build, license and displayed guidance',
13 () async {
14 final store = MemoryStore();
15 final legal = Legal(store);
16 expect(await legal.load(), false);
17 await expectLater(
18 legal.accept(guidanceDisplayed: false),
19 throwsA(isA<Failure>()),
20 );
21 await legal.accept(guidanceDisplayed: true);
22 expect(await Legal(store).load(), true);
23 final record = jsonDecode(store.values['consent']!);
24 record['identity'] = 'different-build-same-version';
25 store.values['consent'] = jsonEncode(record);
26 expect(await Legal(store).load(), false);
27 },
28 );
29 test('Vault cannot initialize before explicit license acceptance', () async {
30 final c = AppController(MemoryStore());
31 await c.initialize();
32 await expectLater(
33 c.openVault('valid master password', create: true),
34 throwsA(isA<Failure>()),
35 );
36 expect(await c.vault.exists(), false);
37 c.dispose();
38 });
39 test(
40 'background cancels Vault initialization and invalidates pending work',
41 () async {
42 final c = AppController(MemoryStore());
43 await c.initialize();
44 await c.acceptLicense();
45 final opening = c.openVault(
46 'valid background master password',
47 create: true,
48 );
49 c.didChangeAppLifecycleState(AppLifecycleState.paused);
50 await expectLater(opening, throwsA(isA<Failure>()));
51 expect(c.vault.unlocked, false);
52 expect(c.ssh.connected, false);
53 c.dispose();
54 },
55 );
SHA-256b6c6bea214973a3b8d248dde7fb248eed8fcff544b402f7b6d41b62f77338908

CH-J Proprietary Software License 1.14 · Izvor je osiguran pod CH-J Proprietary Software License 1.14. Njena dostupnost ne mijenja uvjete licenciranja niti daje dodatna prava.

Arhiv SHA-256c486a807e4828998b9c57ab0f2e760f7980b31965fe118e89d3e1a5a2b65be65