//
|
// Ensures that mongod respects the batch write protocols
|
//
|
|
var collectionName = "batch_write_protocol";
|
var coll = db.getCollection(collectionName);
|
|
jsTest.log("Starting insert tests...");
|
|
coll.remove({});
|
|
var request;
|
var result;
|
|
// Drop collection
|
coll.dropIndexes();
|
coll.drop();
|
|
//
|
// Illegal collection name should fail
|
var illegalCollectionName = "A\0Z";
|
request = {insert : illegalCollectionName, documents : [{a : 1}], writeConcern:{w:1}, ordered: true};
|
result = coll.runCommand(request)
|
assert.eq(0, result.ok);
|
assert.eq('number', typeof result.code);
|
assert.eq('string', typeof result.errmsg);
|
|
request = {update : illegalCollectionName, updates: [
|
{q: {a:1}, u: {$set: {a:1}, upsert:true}}
|
], writeConcern:{w:1}, ordered:true};
|
result = coll.runCommand(request)
|
assert.eq(0, result.ok);
|
assert.eq('number', typeof result.code);
|
assert.eq('string', typeof result.errmsg);
|
|
request = {delete : illegalCollectionName, deletes: [
|
{q:{a:1}, top:0}
|
], writeConcern:{w:1}, ordered:true};
|
result = coll.runCommand(request)
|
assert.eq(0, result.ok);
|
assert.eq('number', typeof result.code);
|
assert.eq('string', typeof result.errmsg);
|