|
|
@@ -0,0 +1,42 @@ |
|
|
import { afterAllCleanUp, setupDatabaseAndSynchronizer, switchClient, encryptionService } from '../../testing/test-utils'; |
|
|
import MasterKey from '../../models/MasterKey'; |
|
|
import { showMissingMasterKeyMessage } from './utils'; |
|
|
import { localSyncInfo, setMasterKeyEnabled } from '../synchronizer/syncInfoUtils'; |
|
|
|
|
|
describe('e2ee/utils', function() { |
|
|
|
|
|
beforeEach(async (done) => { |
|
|
await setupDatabaseAndSynchronizer(1); |
|
|
await switchClient(1); |
|
|
done(); |
|
|
}); |
|
|
|
|
|
afterAll(async () => { |
|
|
await afterAllCleanUp(); |
|
|
}); |
|
|
|
|
|
it('should tell if the missing master key message should be shown', async () => { |
|
|
const mk1 = await MasterKey.save(await encryptionService().generateMasterKey('111111')); |
|
|
const mk2 = await MasterKey.save(await encryptionService().generateMasterKey('111111')); |
|
|
|
|
|
expect(showMissingMasterKeyMessage(localSyncInfo(), [mk1.id])).toBe(true); |
|
|
expect(showMissingMasterKeyMessage(localSyncInfo(), [mk1.id, mk2.id])).toBe(true); |
|
|
expect(showMissingMasterKeyMessage(localSyncInfo(), [])).toBe(false); |
|
|
|
|
|
setMasterKeyEnabled(mk1.id, false); |
|
|
expect(showMissingMasterKeyMessage(localSyncInfo(), [mk1.id])).toBe(false); |
|
|
expect(showMissingMasterKeyMessage(localSyncInfo(), [mk1.id, mk2.id])).toBe(true); |
|
|
|
|
|
setMasterKeyEnabled(mk2.id, false); |
|
|
expect(showMissingMasterKeyMessage(localSyncInfo(), [mk1.id, mk2.id])).toBe(false); |
|
|
|
|
|
setMasterKeyEnabled(mk1.id, true); |
|
|
setMasterKeyEnabled(mk2.id, true); |
|
|
expect(showMissingMasterKeyMessage(localSyncInfo(), [mk1.id, mk2.id])).toBe(true); |
|
|
|
|
|
const syncInfo = localSyncInfo(); |
|
|
syncInfo.masterKeys = []; |
|
|
expect(showMissingMasterKeyMessage(syncInfo, [mk1.id, mk2.id])).toBe(false); |
|
|
}); |
|
|
|
|
|
}); |