summaryrefslogtreecommitdiff
path: root/jstests/replsets/oplog_format.js
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2014-03-03 11:27:18 -0500
committerRandolph Tan <randolph@10gen.com>2014-03-14 12:05:05 -0400
commiteb41492c6f1228077b92239524e4a607b70cd8e3 (patch)
treec90485d43753aa756063d0a6e8f67b8843931bba /jstests/replsets/oplog_format.js
parente44682821c37fdf3d4fd8cb58dcf5c34181ddbde (diff)
downloadmongo-eb41492c6f1228077b92239524e4a607b70cd8e3.tar.gz
SERVER-13190 migrate replset jstest suite to use write commands api
Diffstat (limited to 'jstests/replsets/oplog_format.js')
-rw-r--r--jstests/replsets/oplog_format.js114
1 files changed, 45 insertions, 69 deletions
diff --git a/jstests/replsets/oplog_format.js b/jstests/replsets/oplog_format.js
index a1054256af3..c07d4f66cef 100644
--- a/jstests/replsets/oplog_format.js
+++ b/jstests/replsets/oplog_format.js
@@ -34,40 +34,32 @@ assertLastOplog({_id:1}, null, "save -- setup ");
var msg = "IncRewriteExistingField: $inc $set"
coll.save({_id:1, a:2});
assertLastOplog({_id:1, a:2}, {_id:1}, "save " + msg);
-coll.update({}, {$inc:{a:1}, $set:{b:2}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+var res = assert.writeOK(coll.update({}, { $inc: { a: 1 }, $set: { b: 2 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:3, b:2}, coll.findOne({}), msg);
assertLastOplog({$set:{a:3, b:2}}, {_id:1}, msg);
var msg = "IncRewriteNonExistingField: $inc $set"
coll.save({_id:1, c:0});
assertLastOplog({_id:1, c:0}, {_id:1}, "save " + msg);
-coll.update({}, {$inc:{a:1}, $set:{b:2}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $inc: { a: 1 }, $set: { b: 2 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, c:0, a:1, b:2}, coll.findOne({}), msg);
assertLastOplog({$set:{a:1, b:2}}, {_id:1}, msg);
var msg = "TwoNestedPulls: two $pull"
coll.save({_id:1, a:{ b:[ 1, 2 ], c:[ 1, 2 ] }});
assertLastOplog({_id:1, a:{ b:[ 1, 2 ], c:[ 1, 2 ] }}, {_id:1}, "save " + msg);
-coll.update({}, {$pull:{ 'a.b':2, 'a.c':2 }});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $pull: { 'a.b': 2, 'a.c': 2 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:{ b:[ 1 ], c:[ 1 ] }}, coll.findOne({}), msg);
assertLastOplog({$set:{'a.b':[1], 'a.c':[1]}}, {_id:1}, msg);
var msg = "MultiSets: two $set"
coll.save({_id:1, a:1, b:1});
assertLastOplog({_id:1, a:1, b:1}, {_id:1}, "save " + msg);
-coll.update({}, {$set: {a:2, b:2}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $set: { a: 2, b: 2 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:2, b:2}, coll.findOne({}), msg);
assertLastOplog({$set:{a:2, b:2}}, {_id:1}, msg);
@@ -76,48 +68,37 @@ assertLastOplog({$set:{a:2, b:2}}, {_id:1}, msg);
var msg = "bad single $set"
coll.save({_id:1, a:1});
assertLastOplog({_id:1, a:1}, {_id:1}, "save " + msg);
-coll.update({}, {$set:{a:2}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $set: { a: 2 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:2}, coll.findOne({}), msg);
assertLastOplog({$set:{a:2}}, {_id:1}, msg);
var msg = "bad single $inc";
-coll.update({}, {$inc:{a:1}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $inc: { a: 1 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:3}, coll.findOne({}), msg);
assertLastOplog({$set:{a:3}}, {_id:1}, msg);
var msg = "bad double $set";
-coll.update({}, {$set:{a:2, b:2}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $set: { a: 2, b: 2 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:2, b:2}, coll.findOne({}), msg);
assertLastOplog({$set:{a:2, b:2}}, {_id:1}, msg);
var msg = "bad save";
-coll.save({_id:1, a:[2]});
-assert.isnull(gle.err, msg);
+assert.writeOK(coll.save({ _id: 1, a: [2] }));
assert.docEq({_id:1, a:[2]}, coll.findOne({}), msg);
assertLastOplog({_id:1, a:[2]}, {_id:1}, msg);
var msg = "bad array $inc";
-coll.update({}, {$inc:{"a.0":1}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $inc: { "a.0": 1 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:[3]}, coll.findOne({}), msg);
var lastTS = assertLastOplog({$set:{"a.0": 3}}, {_id:1}, msg);
var msg = "bad $setOnInsert";
-coll.update({}, {$setOnInsert:{"a":-1}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $setOnInsert: { a: -1 }}));
+assert.eq(res.nMatched, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:[3]}, coll.findOne({}), msg); // No-op
var otherTS = assertLastOplog({$set:{"a.0": 3}}, {_id:1}, msg); // Nothing new
assert.eq(lastTS, otherTS, "new oplog was not expected -- " + msg) // No new oplog entry
@@ -126,13 +107,11 @@ coll.remove({})
assert.eq(coll.count(), 0, "collection not empty")
var msg = "bad $setOnInsert w/upsert";
-coll.update({}, {$setOnInsert:{"a":200}}, {upsert:true}); // upsert
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
-assert(gle.upserted, "not upserted");
-assert.docEq({_id:gle.upserted, a:200}, coll.findOne({}), msg); // No-op
-assertLastOplog({_id:gle.upserted, "a": 200}, null, msg); // No new oplog entry
+res = assert.writeOK(coll.update({}, { $setOnInsert: { a: 200 }}, { upsert: true })); // upsert
+assert.eq(res.nUpserted, 1, "update failed for '" + msg + "': " + res.toString());
+var id = res.getUpsertedId()._id;
+assert.docEq({_id: id, a: 200 }, coll.findOne({}), msg); // No-op
+assertLastOplog({ _id: id, a: 200 }, null, msg); // No new oplog entry
coll.remove({})
assert.eq(coll.count(), 0, "collection not empty-2")
@@ -152,55 +131,52 @@ assertLastOplog({$set:{"a": [1,2,3]}}, {_id:1}, msg); // new format
var msg = "bad array $push 2";
coll.save({_id:1, a:"foo"})
-coll.update({}, {$push:{c:18}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $push: { c: 18 }}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a:"foo", c:[18]}, coll.findOne({}), msg);
assertLastOplog({$set:{"c": [18]}}, {_id:1}, msg);
var msg = "bad array $push $slice";
coll.save({_id:1, a:{b:[18]}})
-coll.update({_id:{$gt:0}}, {$push:{"a.b":{$each:[1,2], $slice:-2}}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({ _id: { $gt: 0 }},
+ { $push: { "a.b": { $each: [1, 2], $slice: -2 }}}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a: {b:[1,2]}}, coll.findOne({}), msg);
assertLastOplog({$set:{"a.b": [1,2]}}, {_id:1}, msg);
var msg = "bad array $push $sort ($slice -100)";
coll.save({_id:1, a:{b:[{c:2}, {c:1}]}})
-coll.update({}, {$push:{"a.b":{$each:[{c:-1}], $sort:{"c":1}, $slice:-100}}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({}, { $push: { "a.b": { $each: [{ c: -1 }],
+ $sort: { c: 1 },
+ $slice: -100 }}}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a: {b:[{c:-1}, {c:1}, {c:2}]}}, coll.findOne({}), msg);
assertLastOplog({$set:{"a.b": [{c:-1},{c:1}, {c:2}]}}, {_id:1}, msg);
var msg = "bad array $push $slice $sort";
coll.save({_id:1, a:[{b:2}, {b:1}]})
-coll.update({_id:{$gt:0}}, {$push:{"a":{$each:[{b:-1}], $slice:-2, $sort:{b:1}}}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({ _id: { $gt: 0 }}, { $push: { a: { $each: [{ b: -1 }],
+ $slice:-2,
+ $sort: { b: 1 }}}}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a: [{b:1}, {b:2}]}, coll.findOne({}), msg);
assertLastOplog({$set:{a: [{b:1},{b:2}]}}, {_id:1}, msg);
var msg = "bad array $push $slice $sort first two";
coll.save({_id:1, a:{b:[{c:2}, {c:1}]}})
-coll.update({_id:{$gt:0}}, {$push:{"a.b":{$each:[{c:-1}], $slice:-2, $sort:{"c":1}}}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({ _id: { $gt: 0 }}, { $push: { "a.b": { $each: [{ c: -1 }],
+ $slice: -2,
+ $sort: { c: 1 }}}}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a: {b:[{c:1}, {c:2}]}}, coll.findOne({}), msg);
assertLastOplog({$set:{"a.b": [{c:1},{c:2}]}}, {_id:1}, msg);
var msg = "bad array $push $slice $sort reversed first two";
coll.save({_id:1, a:{b:[{c:1}, {c:2}]}})
-coll.update({_id:{$gt:0}}, {$push:{"a.b":{$each:[{c:-1}], $slice:-2, $sort:{"c":-1}}}});
-var gle = cdb.getLastErrorObj();
-assert.isnull(gle.err, msg);
-assert.eq(gle.n, 1, "update failed for '" + msg +"': "+ tojson(gle));
+res = assert.writeOK(coll.update({ _id: { $gt: 0 }}, { $push: { "a.b": { $each: [{ c: -1 }],
+ $slice: -2,
+ $sort: { c: -1 }}}}));
+assert.eq(res.nModified, 1, "update failed for '" + msg + "': " + res.toString());
assert.docEq({_id:1, a: {b:[{c:1}, {c:-1}]}}, coll.findOne({}), msg);
assertLastOplog({$set:{"a.b": [{c:1},{c:-1}]}}, {_id:1}, msg);