light-node-zookeeper
Version:
small node zookeeper
28 lines (23 loc) • 1.02 kB
JavaScript
// test session expiration as described in zk FAQ
var ZK = require('../lib/zookeeper');
var assert = require('assert');
var connect = (process.argv[2] || 'localhost:2181');
var timeout = 5000;
var zk = new ZK({connect: connect, timeout: timeout, debug_level: ZK.ZOO_LOG_LEVEL_INFO, host_order_deterministic: false});
var zkClosed = false;
zk.on('close', function() { zkClosed = true;} );
zk.connect(function (err) {
if(err) throw err;
assert.equal(zk.client_password.length, 32);
var zk2 = new ZK({connect: connect, timeout: timeout, debug_level: ZK.ZOO_LOG_LEVEL_INFO, host_order_deterministic: false,
client_id: zk.client_id,client_password: zk.client_password});
zk2.connect(function (err) {
if(err) throw err;
zk2.close();
zk.a_create ('/test_end_session', 'x', ZK.ZOO_SEQUENCE |ZK.ZOO_EPHEMERAL, function (rc, error, path) {
console.log ("zk node create result: %d, error: '%s', path=%s", rc, error, path);
assert(rc != 0);
assert(zkClosed);
});
});
});