diff options
Diffstat (limited to 'dbtests/directclienttests.cpp')
-rw-r--r-- | dbtests/directclienttests.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/dbtests/directclienttests.cpp b/dbtests/directclienttests.cpp index 204bf92..860eb7e 100644 --- a/dbtests/directclienttests.cpp +++ b/dbtests/directclienttests.cpp @@ -18,12 +18,12 @@ */ #include "pch.h" -#include "../db/query.h" +#include "../db/ops/query.h" #include "../db/db.h" #include "../db/instance.h" #include "../db/json.h" #include "../db/lasterror.h" -#include "../db/update.h" +#include "../db/ops/update.h" #include "../util/timer.h" #include "dbtests.h" @@ -58,9 +58,9 @@ namespace DirectClientTests { if( pass ) { BSONObj info; BSONObj cmd = BSON( "captrunc" << "b" << "n" << 1 << "inc" << true ); - cout << cmd.toString() << endl; + //cout << cmd.toString() << endl; bool ok = client().runCommand("a", cmd, info); - cout << info.toString() << endl; + //cout << info.toString() << endl; assert(ok); } @@ -69,12 +69,35 @@ namespace DirectClientTests { } }; + class InsertMany : ClientBase { + public: + virtual void run(){ + vector<BSONObj> objs; + objs.push_back(BSON("_id" << 1)); + objs.push_back(BSON("_id" << 1)); + objs.push_back(BSON("_id" << 2)); + + + client().dropCollection(ns); + client().insert(ns, objs); + ASSERT_EQUALS(client().getLastErrorDetailed()["code"].numberInt(), 11000); + ASSERT_EQUALS((int)client().count(ns), 1); + + client().dropCollection(ns); + client().insert(ns, objs, InsertOption_ContinueOnError); + ASSERT_EQUALS(client().getLastErrorDetailed()["code"].numberInt(), 11000); + ASSERT_EQUALS((int)client().count(ns), 2); + } + + }; + class All : public Suite { public: All() : Suite( "directclient" ) { } void setupTests() { add< Capped >(); + add< InsertMany >(); } } myall; } |