Navigation Menu

Skip to content

Commit

Permalink
test session expiration by reusing client id and password
Browse files Browse the repository at this point in the history
  • Loading branch information
emiloslavsky committed Apr 17, 2012
1 parent 08ee378 commit bce1210
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
3 changes: 2 additions & 1 deletion test/test
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash

# arg1 is the connection string

Expand All @@ -23,3 +23,4 @@ runtest zk_test_utf8.js $1
runtest zk_test_watcher.js 2 $1
runtest zk_test_watcher_promise.js $1
runtest zk_test_watcher_session.js 2 $1
runtest zk_test_end_session.js $1
27 changes: 27 additions & 0 deletions test/zk_test_end_session.js
@@ -0,0 +1,27 @@
// 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);
});
});
});

0 comments on commit bce1210

Please sign in to comment.