1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
// Test that client cannot access index namespaces SERVER-4276.
if ( 0 ) { // SERVER-4276
t = db.jstests_indexx;
t.drop();
debug = true;
idx = db.jstests_indexx.$_id_;
function shouldFail( f ) {
e = assert.throws( function() {
f();
if( db.getLastError() ) {
throw db.getLastError();
}
} );
if ( debug ) {
printjson( e );
}
}
function checkFailingOperations() {
// Test that accessing the index namespace fails.
shouldFail( function() { idx.count(); } );
shouldFail( function() { idx.find().itcount(); } );
shouldFail( function() { idx.insert({}); } );
shouldFail( function() { idx.remove(); } );
shouldFail( function() { idx.update({},{}); } );
assert.commandFailed( idx.runCommand( 'compact' ) );
// No validation here (yet).
//shouldFail( function() { idx.ensureIndex({x:1}) } );
}
// Check with base collection not present.
checkFailingOperations();
t.save({});
// Check with base collection present.
checkFailingOperations();
}
|