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
|
2020-03-30 09:08:38 +00:00
|
|
|
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
|
|
|
},
|
2020-03-30 09:08:38 +00:00
|
|
|
'signatures': {
|
|
|
|
'@alice:example.com': {
|
|
|
|
'ed25519:JLAFKJWSCS':
|
|
|
|
'dSO80A01XiigH3uBiDVx/EjzaoycHcjq9lfQX0uWsqxl2giMIiSPR8a4d291W1ihKJL/a+myXS367WT6NAIcBA'
|
2020-02-04 13:41:13 +00:00
|
|
|
}
|
|
|
|
},
|
2020-03-30 09:08:38 +00:00
|
|
|
'unsigned': {'device_display_name': "Alice's mobile phone"},
|
2020-02-04 13:41:13 +00:00
|
|
|
};
|
2020-03-30 09:08:38 +00:00
|
|
|
var rawListJson = <String, dynamic>{
|
|
|
|
'user_id': '@alice:example.com',
|
|
|
|
'outdated': true,
|
|
|
|
'device_keys': {'JLAFKJWSCS': rawJson},
|
2020-02-04 13:41:13 +00:00
|
|
|
};
|
|
|
|
|
2020-05-22 09:13:58 +00:00
|
|
|
final key = DeviceKeys.fromJson(rawJson, null);
|
2020-06-05 20:03:28 +00:00
|
|
|
key.setVerified(false, false);
|
|
|
|
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
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|