forked from jslatts/nodechat-tutorial
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
89 lines (81 loc) · 1.99 KB
/
Copy pathmain.js
File metadata and controls
89 lines (81 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
var c = require('../').createClient(null, null, 'test'),
c2 = require('../').createClient(),
assert = require('assert');
var buffer = new Buffer(new Array(1025).join('x'));
module.exports = {
"test basic commands": function (done) {
c.set('1', 'test');
c.get('1', function (error, value) {
assert.ok(!error);
assert.equal(value, 'test');
});
c.del('1', function (error) {
assert.ok(!error);
});
c.get('1', function (error, value) {
assert.ok(!error);
assert.isNull(value);
done();
});
},
"test stress": function () {
var n = 0,
o = 0;
for (var i = 0; i < 100000; i++) {
c.set('2' + i, buffer, function (error) {
assert.ok(!error);
++n;
});
}
for (i = 0; i < 100000; i++) {
c.del('2' + i, function (error) {
assert.ok(!error);
++o;
});
}
process.on('exit', function () {
assert.equal(10000, n);
assert.equal(10000, o);
});
},
"test pubsub": function (done) {
c.subscribe('test');
c.on('subscribe:test', function (count) {
assert.equal(1, count);
c2.publish('test', '123', function (error) {
assert.ok(!error);
});
});
c.on('message:test', function (data) {
assert.equal('123', data.toString());
c.unsubscribe('test');
});
c.on('unsubscribe:test', function (count) {
assert.equal(0, count);
assert.equal(false, c.blocking);
c.ping(function (error) {
assert.ok(!error);
done();
});
});
},
"test monitor": function (done) {
c.monitor();
c.once('data', function (data) {
assert.ok(/MONITOR/.test(data));
c.once('data', function (data) {
assert.ok(/SET/.test(data));
c.once('data', function (data) {
assert.ok(/DEL/.test(data));
done();
});
});
});
c2.set('test', 123);
c2.del('test');
},
after: function () {
c.quit();
c2.quit();
}
};