pubsub: await IQ response when publishing
This commit is contained in:
parent
5949d29460
commit
32847e860f
|
@ -57,6 +57,7 @@ async function initializedOMEMO (_converse) {
|
||||||
'to': _converse.bare_jid,
|
'to': _converse.bare_jid,
|
||||||
'type': 'result'});
|
'type': 'result'});
|
||||||
_converse.connection._dataRecv(mock.createRequest(stanza));
|
_converse.connection._dataRecv(mock.createRequest(stanza));
|
||||||
|
|
||||||
iq_stanza = await u.waitUntil(() => bundleHasBeenPublished(_converse))
|
iq_stanza = await u.waitUntil(() => bundleHasBeenPublished(_converse))
|
||||||
|
|
||||||
stanza = $iq({
|
stanza = $iq({
|
||||||
|
@ -69,7 +70,7 @@ async function initializedOMEMO (_converse) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
describe("The OMEMO module", function() {
|
fdescribe("The OMEMO module", function() {
|
||||||
|
|
||||||
it("adds methods for encrypting and decrypting messages via AES GCM",
|
it("adds methods for encrypting and decrypting messages via AES GCM",
|
||||||
mock.initConverse(
|
mock.initConverse(
|
||||||
|
@ -244,7 +245,8 @@ describe("The OMEMO module", function() {
|
||||||
await u.waitUntil(() => initializedOMEMO(_converse));
|
await u.waitUntil(() => initializedOMEMO(_converse));
|
||||||
|
|
||||||
const toolbar = view.el.querySelector('.chat-toolbar');
|
const toolbar = view.el.querySelector('.chat-toolbar');
|
||||||
toolbar.querySelector('.toggle-omemo').click();
|
const el = await u.waitUntil(() => toolbar.querySelector('.toggle-omemo'));
|
||||||
|
el.click();
|
||||||
expect(view.model.get('omemo_active')).toBe(true);
|
expect(view.model.get('omemo_active')).toBe(true);
|
||||||
|
|
||||||
// newguy enters the room
|
// newguy enters the room
|
||||||
|
@ -433,7 +435,19 @@ describe("The OMEMO module", function() {
|
||||||
</sent>
|
</sent>
|
||||||
</message>
|
</message>
|
||||||
`);
|
`);
|
||||||
|
_converse.connection.IQ_stanzas = [];
|
||||||
_converse.connection._dataRecv(mock.createRequest(carbon));
|
_converse.connection._dataRecv(mock.createRequest(carbon));
|
||||||
|
|
||||||
|
// The message received is a prekey message, so missing prekeys are
|
||||||
|
// generated and a new bundle published.
|
||||||
|
iq_stanza = await u.waitUntil(() => bundleHasBeenPublished(_converse));
|
||||||
|
const result_iq = $iq({
|
||||||
|
'from': _converse.bare_jid,
|
||||||
|
'id': iq_stanza.getAttribute('id'),
|
||||||
|
'to': _converse.bare_jid,
|
||||||
|
'type': 'result'});
|
||||||
|
_converse.connection._dataRecv(mock.createRequest(result_iq));
|
||||||
|
|
||||||
await new Promise(resolve => view.model.messages.once('rendered', resolve));
|
await new Promise(resolve => view.model.messages.once('rendered', resolve));
|
||||||
expect(view.model.messages.length).toBe(1);
|
expect(view.model.messages.length).toBe(1);
|
||||||
|
|
||||||
|
@ -501,7 +515,7 @@ describe("The OMEMO module", function() {
|
||||||
_converse.connection._dataRecv(mock.createRequest(stanza));
|
_converse.connection._dataRecv(mock.createRequest(stanza));
|
||||||
|
|
||||||
const toolbar = view.el.querySelector('.chat-toolbar');
|
const toolbar = view.el.querySelector('.chat-toolbar');
|
||||||
const toggle = toolbar.querySelector('.toggle-omemo');
|
const toggle = await u.waitUntil(() => toolbar.querySelector('.toggle-omemo'));
|
||||||
toggle.click();
|
toggle.click();
|
||||||
expect(view.model.get('omemo_active')).toBe(true);
|
expect(view.model.get('omemo_active')).toBe(true);
|
||||||
expect(view.model.get('omemo_supported')).toBe(true);
|
expect(view.model.get('omemo_supported')).toBe(true);
|
||||||
|
@ -1283,7 +1297,7 @@ describe("The OMEMO module", function() {
|
||||||
await u.waitUntil(() => initializedOMEMO(_converse));
|
await u.waitUntil(() => initializedOMEMO(_converse));
|
||||||
|
|
||||||
const toolbar = view.el.querySelector('.chat-toolbar');
|
const toolbar = view.el.querySelector('.chat-toolbar');
|
||||||
let toggle = toolbar.querySelector('.toggle-omemo');
|
let toggle = await u.waitUntil(() => toolbar.querySelector('.toggle-omemo'));
|
||||||
expect(view.model.get('omemo_active')).toBe(undefined);
|
expect(view.model.get('omemo_active')).toBe(undefined);
|
||||||
expect(view.model.get('omemo_supported')).toBe(true);
|
expect(view.model.get('omemo_supported')).toBe(true);
|
||||||
await u.waitUntil(() => !toggle.disabled);
|
await u.waitUntil(() => !toggle.disabled);
|
||||||
|
|
|
@ -66,7 +66,7 @@ converse.plugins.add('converse-pubsub', {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
api.sendIQ(stanza);
|
await api.sendIQ(stanza);
|
||||||
} catch (iq) {
|
} catch (iq) {
|
||||||
if (iq instanceof Element &&
|
if (iq instanceof Element &&
|
||||||
strict_options &&
|
strict_options &&
|
||||||
|
@ -77,7 +77,7 @@ converse.plugins.add('converse-pubsub', {
|
||||||
const el = stanza.nodeTree;
|
const el = stanza.nodeTree;
|
||||||
el.querySelector('publish-options').outerHTML = '';
|
el.querySelector('publish-options').outerHTML = '';
|
||||||
log.warn(`PubSub: Republishing without publish options. ${el.outerHTML}`);
|
log.warn(`PubSub: Republishing without publish options. ${el.outerHTML}`);
|
||||||
api.sendIQ(el);
|
await api.sendIQ(el);
|
||||||
} else {
|
} else {
|
||||||
throw iq;
|
throw iq;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user