Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
it('bernard should get bianca\'s messages', function(done){
var biancaSays = 'Hello Bernard!';
bernard.on('stanza', function(stanza) {
if (stanza.is('message') && new xmpp.JID(stanza.attrs.from).bare().toString() == "bianca@bianca.local" && stanza.getChild('body').getText() == biancaSays) {
done();
}
else {
throw function() {}; // Bernard didn't get Bianca's Hello.
}
});
bianca.send(new xmpp.Element('message', {to: "bernard@bernard.local"}).c('body').t(biancaSays));
});
client.on('disconnect', function() {
// We need to send a on his behalf
var stanza = new xmpp.Element('presence', {from: client.jid.toString(), type: "unavailable" });
client.server.router.connectedClientsForJid(client.jid.toString()).forEach(function(jid) {
if(client.jid.resource != jid.resource) {
stanza.attrs.to = jid.toString();
client.server.emit('inStanza', client, stanza); // TODO: Blocking Outbound Presence Notifications.
}
});
client.roster.eachSubscription(["from", "both"], function(item) {
stanza.attrs.to = item.jid;
client.server.emit('inStanza', client, stanza); // TODO: Blocking Outbound Presence Notifications.
});
});
}
it('bernard should get bianca\'s messages', function(done){
var biancaSays = 'Hello Bernard!';
bernard.on('stanza', function(stanza) {
if (stanza.is('message') && new xmpp.JID(stanza.attrs.from).bare().toString() == "bianca@localhost" && stanza.getChild('body').getText() == biancaSays) {
done();
}
else {
throw function() {}; // Bernard didn't get Bianca's Hello.
}
});
bianca.send(new xmpp.Element('message', {to: "bernard@localhost"}).c('body').t(biancaSays));
});
romeo.on('online', function () {
romeo.send(new xmpp.Element('presence', {}).c('show').t('chat').up().c('status').t('On the balcony'));
romeo.send(new xmpp.Element('message', {to: "juliet@localhost"}).c('body').t(romeoSays)); // juliet is not online!
proceed();
});
});
romeo.on('online', function () {
romeo.send(new xmpp.Element('presence', {}).c('show').t('chat').up().c('status').t('On the balcony'));
romeo.send(new xmpp.Element('message', {to: "juliet@localhost"}).c('body').t(romeoSays)); // juliet is not online!
proceed();
});
});
bernard.on('online', function () {
bernard.send(new xmpp.Element('presence', {}).c('show').t('chat').up().c('status').t('Bernard is here to help!'));
online();
});
this.socket.emit('xmpp.pubsub.push.authorisation', data, function(data) {
var stanza = new builder.Element(
'message',
{ to: to, id: id }
)
dataForm.addForm(stanza, data, this.NS_SUBSCRIPTION_AUTHORISATION)
this.client.send(stanza)
})
}
client.roster.deleteContact(new xmpp.JID(i.attrs.jid), function(err) {
var resultStanza = null;
if(err == null) {
resultStanza = new xmpp.Element('iq', {'to' : stanza.attrs.from, 'type' : 'result', 'id' : stanza.attrs.id});
}else {
resultStanza = new xmpp.Element('iq', {'to' : stanza.attrs.from, 'type' : 'error', 'id' : stanza.attrs.id});
resultStanza.c("error").c('text', { xmlns: "urn:ietf:params:xml:ns:xmpp-stanzas" }).t(err.message);
}
logger.info("Post deleteContact roster");
client.send(resultStanza);
});
} else {
send = function(outto, message) {
var out = new xmpp.Element('message', {
to: outto,
type: 'chat'
});
var body = out.c('body');
body.t(message);
xmppServer.send(out);
},
client.roster.deleteContact(new xmpp.JID(i.attrs.jid), function(err) {
var resultStanza = null;
if(err == null) {
resultStanza = new xmpp.Element('iq', {'to' : stanza.attrs.from, 'type' : 'result', 'id' : stanza.attrs.id});
}else {
resultStanza = new xmpp.Element('iq', {'to' : stanza.attrs.from, 'type' : 'error', 'id' : stanza.attrs.id});
resultStanza.c("error").c('text', { xmlns: "urn:ietf:params:xml:ns:xmpp-stanzas" }).t(err.message);
}
logger.info("Post deleteContact roster");
client.send(resultStanza);
});
} else {