diff --git a/SConstruct b/SConstruct index b64d71b9441..36863015dfd 100644 --- a/SConstruct +++ b/SConstruct @@ -202,6 +202,7 @@ env.Library( "mongotestfiles" , commonFiles + coreDbFiles + serverOnlyFiles ) # examples clientEnv.Program( "firstExample" , [ "client/examples/first.cpp" ] ) clientEnv.Program( "secondExample" , [ "client/examples/second.cpp" ] ) +clientEnv.Program( "authTest" , [ "client/examples/authTest.cpp" ] ) # testing test = testEnv.Program( "test" , Glob( "dbtests/*.cpp" ) ) diff --git a/client/examples/authTest.cpp b/client/examples/authTest.cpp new file mode 100644 index 00000000000..fead5cb1305 --- /dev/null +++ b/client/examples/authTest.cpp @@ -0,0 +1,31 @@ +// authTest.cpp + +#include + +#include "mongo/client/dbclient.h" + +using namespace mongo; + +int main() { + + DBClientConnection conn; + string errmsg; + if ( ! conn.connect( "127.0.0.1" , errmsg ) ) { + cout << "couldn't connect : " << errmsg << endl; + throw -11; + } + + { // clean up old data from any previous tests + conn.remove( "test.system.users" , emptyObj ); + } + + conn.insert( "test.system.users" , BUILDOBJ( "user" << "eliot" << "pwd" << "bar" ) ); + + errmsg.clear(); + bool ok = conn.auth( "test" , "eliot" , "bar" , errmsg ); + if ( ! ok ) + cout << errmsg << endl; + assert( ok ); + + assert( ! conn.auth( "test" , "eliot" , "bars" , errmsg ) ); +}