8864284339af192c6b91a6a84ff2c69376bb5e8b
[aai/esr-gui.git] /
1 var ReplSet = require('./lib2/topologies/replset'),
2   ReadPreference = require('./lib2/topologies/read_preference');
3
4 // Attempt to connect
5 var server = new ReplSet([{
6   host: 'localhost', port: 31000
7 }, {
8   host: 'localhost', port: 31001
9 }], {
10   setName: 'rs'
11 });
12
13 function executeCursors(_server, cb) {
14   var count = 100;
15
16   for(var i = 0; i < 100; i++) {
17     // Execute the write
18     var cursor = _server.cursor('test.test', {
19         find: 'test.test'
20       , query: {a:1}
21     }, {readPreference: new ReadPreference('secondary')});
22
23     // Get the first document
24     cursor.next(function(err, doc) {
25       count = count - 1;
26       if(err) console.dir(err)
27       if(count == 0) return cb();
28     });
29   }
30 }
31
32 server.on('connect', function(_server) {
33   console.log("---------------------------------- 0")
34   // Attempt authentication
35   _server.auth('scram-sha-1', 'admin', 'root', 'root', function(err, r) {
36     console.log("---------------------------------- 1")
37     // console.dir(err)
38     // console.dir(r)
39
40     _server.insert('test.test', [{a:1}], function(err, r) {
41       console.log("---------------------------------- 2")
42       console.dir(err)
43       if(r)console.dir(r.result)
44       var name = null;
45
46       _server.on('joined', function(_t, _server) {
47         if(name == _server.name) {
48           console.log("=========== joined :: " + _t + " :: " + _server.name)
49           executeCursors(_server, function() {
50           });
51         }
52       })
53
54       // var s = _server.s.replicaSetState.secondaries[0];
55       // s.destroy({emitClose:true});
56       executeCursors(_server, function() {
57         console.log("============== 0")
58         // Attempt to force a server reconnect
59         var s = _server.s.replicaSetState.secondaries[0];
60         name = s.name;
61         s.destroy({emitClose:true});
62         // console.log("============== 1")
63
64         // _server.destroy();
65         // test.done();
66       });
67     });
68   });
69 });
70
71 server.connect();