var request;
var result;
print("START batch_write_command_auth.js");
var port = allocatePorts(1)[0];
var dbName = "batch_write_protocol_auth";
var mongoInstance = startMongod( "--auth", "--port", port, "--dbpath", "/data/db/" + dbName, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
var db = mongoInstance.getDB("test");
var collectionName = "batch_write_protocol";
var coll = db.getCollection(collectionName);
var testDb = db[dbName];
testDb.drop();
db.dropAllUsers();
db.getSisterDB( "admin" ).addUser({user: "super", pwd: "super", roles: ["__system"] });
db.getSisterDB("admin").auth("super", "super");
db.addUser({user: "guest" , pwd: "guest", roles: jsTest.readOnlyUserRoles});
db.addUser({user: "eliot" , pwd: "eliot", roles: jsTest.basicUserRoles });
db.getSisterDB("admin").logout();
/**
* Attempt to execute write batches without any authentication performed
*/
request = {insert : collectionName
, documents: [{a:1}]
, writeConcern:{w:1}
, ordered:false};
result = coll.runCommand(request);
jsTest.log(JSON.stringify(result, null, 2))
assert.eq(0, result.ok);
assert.eq(13, result.errCode);
assert.eq('string', typeof result.errmsg);