From f242e460eda1a444919a44306acd4821cf54634b Mon Sep 17 00:00:00 2001 From: Germain Souquet Date: Mon, 10 May 2021 17:28:00 +0100 Subject: [PATCH] fix tests --- spec/integ/megolm-integ.spec.js | 8 +++++--- spec/test-utils.js | 20 ++++++++++---------- src/client.js | 2 +- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/spec/integ/megolm-integ.spec.js b/spec/integ/megolm-integ.spec.js index 8c49b1c28..e43aab4ef 100644 --- a/spec/integ/megolm-integ.spec.js +++ b/spec/integ/megolm-integ.spec.js @@ -484,8 +484,9 @@ describe("megolm", function() { return aliceTestClient.flushSync().then(() => { return aliceTestClient.flushSync(); }); - }).then(function() { + }).then(async function() { const room = aliceTestClient.client.getRoom(ROOM_ID); + await room.decryptCriticalEvents(); const event = room.getLiveTimeline().getEvents()[0]; expect(event.getContent().body).toEqual('42'); }); @@ -698,7 +699,7 @@ describe("megolm", function() { // the crypto stuff can take a while, so give the requests a whole second. aliceTestClient.httpBackend.flushAllExpected({ - timeout: 1000, + timeout: 10000, }), ]); }).then(function() { @@ -933,8 +934,9 @@ describe("megolm", function() { aliceTestClient.httpBackend.when("GET", "/sync").respond(200, syncResponse); return aliceTestClient.flushSync(); - }).then(function() { + }).then(async function() { const room = aliceTestClient.client.getRoom(ROOM_ID); + await room.decryptCriticalEvents(); const event = room.getLiveTimeline().getEvents()[0]; expect(event.getContent().body).toEqual('42'); diff --git a/spec/test-utils.js b/spec/test-utils.js index 3ca1a5b9a..1a657c80b 100644 --- a/spec/test-utils.js +++ b/spec/test-utils.js @@ -212,18 +212,18 @@ MockStorageApi.prototype = { * @returns {Promise} promise which resolves (to `event`) when the event has been decrypted */ export function awaitDecryption(event) { - if (!event.isBeingDecrypted()) { - return Promise.resolve(event); - } + if (event.getClearContent() !== null) { + return event; + } else { + logger.log(`${Date.now()} event ${event.getId()} is being decrypted; waiting`); - logger.log(`${Date.now()} event ${event.getId()} is being decrypted; waiting`); - - return new Promise((resolve, reject) => { - event.once('Event.decrypted', (ev) => { - logger.log(`${Date.now()} event ${event.getId()} now decrypted`); - resolve(ev); + return new Promise((resolve, reject) => { + event.once('Event.decrypted', (ev) => { + logger.log(`${Date.now()} event ${event.getId()} now decrypted`); + resolve(ev); + }); }); - }); + } } diff --git a/src/client.js b/src/client.js index fc76aef33..5d9d1d2cf 100644 --- a/src/client.js +++ b/src/client.js @@ -5556,7 +5556,7 @@ function _resolve(callback, resolve, res) { function _PojoToMatrixEventMapper(client, options = {}) { const preventReEmit = Boolean(options.preventReEmit); - const decrypt = options.decrypt === true; + const decrypt = options.decrypt !== false; function mapper(plainOldJsObject) { const event = new MatrixEvent(plainOldJsObject); if (event.isEncrypted()) {