0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-28 07:59:02 +01:00
mongodb/jstests/gle/block2.js

54 lines
1.0 KiB
JavaScript

/**
* Basic gle testing for master/slave environment. Write command version also
* available at jstests/repl.
*/
var rt = new ReplTest("block1");
var m = rt.start(true);
var s = rt.start(false);
if (m.writeMode() == 'commands') {
jsTest.log('Skipping test since commands mode is already tested in repl/');
} else {
function setup() {
dbm = m.getDB("foo");
dbs = s.getDB("foo");
tm = dbm.bar;
ts = dbs.bar;
}
setup();
function check(msg) {
assert.eq(tm.count(), ts.count(), "check: " + msg);
}
function worked(w, wtimeout) {
var gle = dbm.getLastError(w, wtimeout);
if (gle != null) {
printjson(gle);
}
return gle == null;
}
check("A");
tm.save({x: 1});
assert(worked(2), "B");
tm.save({x: 2});
assert(worked(2, 3000), "C");
rt.stop(false);
tm.save({x: 3});
assert.eq(3, tm.count(), "D1");
assert(!worked(2, 3000), "D2");
s = rt.start(false);
setup();
assert(worked(2, 30000), "E");
}
rt.stop();