summaryrefslogtreecommitdiff
path: root/jstests/indexOtherNamespace.js
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2014-03-03 15:04:57 -0500
committerRandolph Tan <randolph@10gen.com>2014-03-03 15:29:00 -0500
commitf8534ae0d6c4e252d169c5bcf42f42cf6518ee7d (patch)
treee35db08d5d7ea3d70b6925f30bec0881efd2ee83 /jstests/indexOtherNamespace.js
parent6a10de0bb8fe996daca5ecd5687f1072abb0dd8b (diff)
downloadmongo-f8534ae0d6c4e252d169c5bcf42f42cf6518ee7d.tar.gz
SERVER-12127 migrate js tests to jscore suite when not related to writes
Temporarily put back jstest in order not to lose test coverage
Diffstat (limited to 'jstests/indexOtherNamespace.js')
-rw-r--r--jstests/indexOtherNamespace.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/jstests/indexOtherNamespace.js b/jstests/indexOtherNamespace.js
new file mode 100644
index 00000000000..5bb7355ddb6
--- /dev/null
+++ b/jstests/indexOtherNamespace.js
@@ -0,0 +1,21 @@
+// SERVER-8814: Test that only the system.indexes namespace can be used to build indexes.
+
+function assertGLENotOK(status) {
+ assert(status.ok && status.err !== null,
+ "Expected not-OK status object; found " + tojson(status));
+}
+
+var otherDB = db.getSiblingDB("indexOtherNS");
+otherDB.dropDatabase();
+
+otherDB.foo.insert({a:1})
+assert.eq(1, otherDB.system.indexes.count());
+assert.eq("BasicCursor", otherDB.foo.find({a:1}).explain().cursor);
+
+otherDB.randomNS.system.indexes.insert({ns:"indexOtherNS.foo", key:{a:1}, name:"a_1"});
+assertGLENotOK(otherDB.getLastErrorObj());
+// Assert that index didn't actually get built
+assert.eq(1, otherDB.system.indexes.count());
+assert.eq(null, otherDB.system.namespaces.findOne({name : "indexOtherNS.foo.$a_1"}));
+assert.eq("BasicCursor", otherDB.foo.find({a:1}).explain().cursor);
+otherDB.dropDatabase();