summaryrefslogtreecommitdiff
path: root/jstests/auth/show_log_auth.js
blob: 35847b30489d60a8cf7738d80b02646c5701aac0 (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
28
29
30
31
32
// test that "show log dbname" and "show logs" have good err messages when unauthorized

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

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

db.addUser({user: "admin" , pwd: "pass", roles: jsTest.adminUserRoles});

// Temporarily capture this shell's print() output
var oldprint = print, printed = [];
print = function(s) { printed.push(s); }

try {
    shellHelper.show('logs');
    shellHelper.show('log ' + baseName);
}
finally {
    // Stop capturing print() output
    print = oldprint;
}

function assertStartsWith(s, prefix) {
    assert.eq(s.substr(0, prefix.length), prefix);
}

assertStartsWith(printed[0], 'Error while trying to show logs');
assertStartsWith(printed[1], 'Error while trying to show ' + baseName + ' log');

db.auth( "admin" , "pass" );
db.shutdownServer();