1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
3.2 KiB

15 years ago
var sys = require('sys'),
15 years ago
colors = require('colors'),
xmpp = require('node-xmpp'),
15 years ago
Client = require('../lib/xmpp-client').Client,
JID = require('node-xmpp').JID,
15 years ago
conf = require('./conf').conf;
15 years ago
exports.testJid = function(test) {
15 years ago
test.expect(4);
var j = new JID('mathieu@gtalk.com');
15 years ago
//sys.debug(JSON.stringify(j));
test.equals('mathieu', j.user);
15 years ago
test.equals('gtalk.com', j.domain);
test.equals(null, j.resource);
j = new JID('mathieu@jabber.org/machin');
15 years ago
//sys.debug(JSON.stringify(j));
test.equals('machin', j.resource);
15 years ago
test.done();
};
15 years ago
exports.testClientInit = function(test) {
var c = new Client({jid: 'mathieu@gtalk.com', password:'toto'});
15 years ago
test.equals('gtalk.com', c.host);
test.done();
};
15 years ago
/*
15 years ago
exports.testClient = function(test) {
15 years ago
test.expect(3);
var MESSAGE = "Beuha de test!";
var b = new Client(conf.b);
15 years ago
b.addListener('message', function(from, msg, stanza){
sys.debug('Message from ' + from.red + ' : ' + msg.yellow);
test.equals(MESSAGE, msg);
15 years ago
test.done();
});
15 years ago
b.addListener('online', function() {
sys.debug('b is connected'.red);
test.ok(true);
var a = new Client(conf.a);
15 years ago
a.addListener('online', function() {
sys.debug('a is connected'.green);
sys.debug('a presences : ' + JSON.stringify(a.presences).green);
// test.equals('available', a.presences['' + b.jid]);
15 years ago
test.ok(true);
a.message(conf.b.jid, MESSAGE);
});
});
15 years ago
};
15 years ago
*/
15 years ago
/*
15 years ago
exports.testRoom = function(test) {
test.expect(1);
15 years ago
var ROOM = 'mushroom@conference.' + conf.b.jid.split('@')[1];
15 years ago
var MESSAGE = "Hello everybody";
var cpt = 0;
var b = new Client(conf.b, function() {
15 years ago
sys.debug('b is connected'.red);
sys.debug(('enter in ' + ROOM).green);
//console.log(sys.inspect(this, true, null));
15 years ago
var b_room = b.room(ROOM, function(status) {
sys.debug('b room is created'.green);
this.addListener('message', function(from, msg, stanza) {
sys.debug(from.yellow);
test.equals(MESSAGE, msg);
if(MESSAGE == msg) {
test.done();
}
});
var a = new Client(conf.a, function() {
15 years ago
sys.debug('a is connected'.green);
var a_room = a.room(ROOM, function(status) {
sys.debug(status.green);
sys.debug(this.role.green);
15 years ago
this.addListener('message', function(from, msg, stanza) {
sys.debug('message : ' + msg);
});
this.message(MESSAGE);
15 years ago
});
});
15 years ago
});
});
};
15 years ago
*/
exports.testPubSub = function(test) {
15 years ago
var POEMS = 'poems';
var b = new Client(conf.b, function() {
sys.debug('b is connected'.red);
this.addListener('iq:error', function(id, stanza) {
sys.error(stanza.toString().red);
test.done();
});
15 years ago
var p = b.pubsub();
/*p.discoNode(POEMS, function(r) {
sys.debug(r);
});*/
15 years ago
p.node(POEMS, function() {
sys.debug('got my node'.yellow);
14 years ago
p.suscribe(POEMS,
function(item) {
sys.debug('MESSAGE PUBSUB : ' + item.toString().yellow);
test.done();
},
function(subsription, id) {
p.publish(POEMS, new xmpp.Element('entry', {xmlns: 'http://www.w3.org/2005/Atom'})
.c('title').t('blab blah')
.tree());
}
);
15 years ago
//test.done();
});
/*
b.suscribe(null, POEMS, function(item) {
sys.debug(item.attrs.id.yellow);
});
15 years ago
*/
//b.publish(null, POEMS, );
});
};
15 years ago
if(module.id == '.') {
var testrunner = require('nodeunit').testrunner;
testrunner.run([__filename]);
}