// Test that dropping the config database is completely disabled via // mongos and via mongod, if started with --configsvr (function() { "use strict"; var getConfigsvrToWriteTo = function(st) { if (st.configRS) { return st.configRS.getPrimary(); } else { return st._configServers[0]; } }; var st = new ShardingTest({shards: 2}); var mongos = st.s; var config = getConfigsvrToWriteTo(st).getDB('config'); // Try to drop config db via configsvr print("1: Try to drop config database via configsvr"); assert.eq(0, config.dropDatabase().ok); assert.eq("Cannot drop 'config' database if mongod started with --configsvr", config.dropDatabase().errmsg); // Try to drop config db via mongos var config = mongos.getDB("config"); print("1: Try to drop config database via mongos"); assert.eq(0, config.dropDatabase().ok); // 20 = ErrorCodes::IllegalOperation assert.eq(20, config.dropDatabase().code); st.stop(); }());