You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-07-13 00:10:37 +02:00
All: Add support for single master password, to simplify handling of multiple encryption keys
This commit is contained in:
@ -1,7 +1,8 @@
|
||||
import { afterAllCleanUp, setupDatabaseAndSynchronizer, switchClient, encryptionService, expectNotThrow } from '../../testing/test-utils';
|
||||
import MasterKey from '../../models/MasterKey';
|
||||
import { showMissingMasterKeyMessage } from './utils';
|
||||
import { localSyncInfo, setMasterKeyEnabled } from '../synchronizer/syncInfoUtils';
|
||||
import { migrateMasterPassword, showMissingMasterKeyMessage } from './utils';
|
||||
import { localSyncInfo, setActiveMasterKeyId, setMasterKeyEnabled } from '../synchronizer/syncInfoUtils';
|
||||
import Setting from '../../models/Setting';
|
||||
|
||||
describe('e2ee/utils', function() {
|
||||
|
||||
@ -41,4 +42,33 @@ describe('e2ee/utils', function() {
|
||||
expect(showMissingMasterKeyMessage(syncInfo, [mk1.id, mk2.id])).toBe(false);
|
||||
});
|
||||
|
||||
it('should do the master password migration', async () => {
|
||||
const mk1 = await MasterKey.save(await encryptionService().generateMasterKey('111111'));
|
||||
const mk2 = await MasterKey.save(await encryptionService().generateMasterKey('222222'));
|
||||
|
||||
Setting.setValue('encryption.passwordCache', {
|
||||
[mk1.id]: '111111',
|
||||
[mk2.id]: '222222',
|
||||
});
|
||||
|
||||
await migrateMasterPassword();
|
||||
|
||||
{
|
||||
expect(Setting.value('encryption.masterPassword')).toBe('');
|
||||
const newCache = Setting.value('encryption.passwordCache');
|
||||
expect(newCache[mk1.id]).toBe('111111');
|
||||
expect(newCache[mk2.id]).toBe('222222');
|
||||
}
|
||||
|
||||
setActiveMasterKeyId(mk1.id);
|
||||
await migrateMasterPassword();
|
||||
|
||||
{
|
||||
expect(Setting.value('encryption.masterPassword')).toBe('111111');
|
||||
const newCache = Setting.value('encryption.passwordCache');
|
||||
expect(newCache[mk1.id]).toBe(undefined);
|
||||
expect(newCache[mk2.id]).toBe('222222');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
Reference in New Issue
Block a user