summaryrefslogtreecommitdiff
path: root/jstests/tool/stat1.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/tool/stat1.js')
-rw-r--r--jstests/tool/stat1.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/jstests/tool/stat1.js b/jstests/tool/stat1.js
new file mode 100644
index 00000000000..83cedc35894
--- /dev/null
+++ b/jstests/tool/stat1.js
@@ -0,0 +1,23 @@
+// stat1.js
+// test mongostat with authentication SERVER-3875
+port = allocatePorts( 1 )[ 0 ];
+baseName = "tool_stat1";
+
+m = startMongod( "--auth", "--port", port, "--dbpath", "/data/db/" + baseName, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+db = m.getDB( "admin" );
+
+t = db[ baseName ];
+t.drop();
+
+users = db.getCollection( "system.users" );
+users.remove( {} );
+
+db.addUser( "eliot" , "eliot" );
+
+assert( db.auth( "eliot" , "eliot" ) , "auth failed" );
+
+x = runMongoProgram( "mongostat", "--host", "127.0.0.1:"+port, "--username", "eliot", "--password", "eliot", "--rowcount", "1" );
+assert.eq(x, 0, "mongostat should exit successfully with eliot:eliot");
+
+x = runMongoProgram( "mongostat", "--host", "127.0.0.1:"+port, "--username", "eliot", "--password", "wrong", "--rowcount", "1" );
+assert.eq(x, _isWindows() ? -1 : 255, "mongostat should exit with -1 with eliot:wrong");