summaryrefslogtreecommitdiff
path: root/dbtests/directclienttests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dbtests/directclienttests.cpp')
-rw-r--r--dbtests/directclienttests.cpp31
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;
}