famedlysdk/test/device_keys_list_test.dart

55 lines
2.0 KiB
Dart
Raw Normal View History

2020-02-04 13:41:13 +00:00
/*
2020-06-03 10:16:01 +00:00
* Ansible inventory script used at Famedly GmbH for managing many hosts
* Copyright (C) 2019, 2020 Famedly GmbH
2020-02-04 13:41:13 +00:00
*
2020-06-03 10:16:01 +00:00
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
2020-02-04 13:41:13 +00:00
*
2020-06-03 10:16:01 +00:00
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
2020-02-04 13:41:13 +00:00
*
2020-06-03 10:16:01 +00:00
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
2020-02-04 13:41:13 +00:00
*/
import 'dart:convert';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:test/test.dart';
void main() {
/// All Tests related to device keys
group('Device keys', () {
test('fromJson', () async {
var rawJson = <String, dynamic>{
'user_id': '@alice:example.com',
'device_id': 'JLAFKJWSCS',
'algorithms': ['m.olm.v1.curve25519-aes-sha2', 'm.megolm.v1.aes-sha2'],
'keys': {
'curve25519:JLAFKJWSCS':
'3C5BFWi2Y8MaVvjM8M22DBmh24PmgR0nPvJOIArzgyI',
'ed25519:JLAFKJWSCS': 'lEuiRJBit0IG6nUf5pUzWTUEsRVVe/HJkoKuEww9ULI'
2020-02-04 13:41:13 +00:00
},
'signatures': {
'@alice:example.com': {
'ed25519:JLAFKJWSCS':
'dSO80A01XiigH3uBiDVx/EjzaoycHcjq9lfQX0uWsqxl2giMIiSPR8a4d291W1ihKJL/a+myXS367WT6NAIcBA'
2020-02-04 13:41:13 +00:00
}
},
'unsigned': {'device_display_name': "Alice's mobile phone"},
2020-02-04 13:41:13 +00:00
};
2020-05-22 09:13:58 +00:00
final key = DeviceKeys.fromJson(rawJson, null);
2020-06-06 11:47:37 +00:00
await key.setVerified(false, false);
await key.setBlocked(true);
2020-05-22 11:18:45 +00:00
expect(json.encode(key.toJson()), json.encode(rawJson));
2020-06-05 20:03:28 +00:00
expect(key.directVerified, false);
2020-05-22 09:13:58 +00:00
expect(key.blocked, true);
2020-02-04 13:41:13 +00:00
});
});
}