summaryrefslogtreecommitdiff
path: root/jstests/auth/auth2.js
blob: 3cb9838682a342727365a1f7268538dfe3df4de4 (plain)
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
// test read/write permissions

port = allocatePorts( 1 )[ 0 ];
baseName = "jstests_auth_auth2";

m = startMongod( "--auth", "--port", port, "--dbpath", MongoRunner.dataPath + baseName, "--nohttpinterface", "--bind_ip", "127.0.0.1", "--nojournal", "--smallfiles" );
db = m.getDB( "admin" );

// These statements throw because the localhost exception does not allow
// these operations: it only allows the creation of the first admin user
// and necessary setup operations.
assert.throws( function(){ db.users.count(); } );
assert.throws( function() { db.shutdownServer(); } );

db.createUser( { user: "eliot", pwd: "eliot", roles: [ "root" ] } );

// These statements throw because we have a user but have not authenticated
// as that user.
assert.throws( function(){ db.users.count(); } );
assert.throws( function() { db.shutdownServer(); } );

db.auth( "eliot", "eliot" );

users = db.getCollection( "system.users" );
assert.eq( 1, users.count() );

db.shutdownServer();