summaryrefslogtreecommitdiff
path: root/jstests/core/doc_validation_invalid_validators.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/doc_validation_invalid_validators.js')
-rw-r--r--jstests/core/doc_validation_invalid_validators.js99
1 files changed, 48 insertions, 51 deletions
diff --git a/jstests/core/doc_validation_invalid_validators.js b/jstests/core/doc_validation_invalid_validators.js
index 81d16ec5371..b09e2cb0a14 100644
--- a/jstests/core/doc_validation_invalid_validators.js
+++ b/jstests/core/doc_validation_invalid_validators.js
@@ -5,65 +5,62 @@
// Verify invalid validator statements won't work and that we
// can't create validated collections on restricted databases.
(function() {
- "use strict";
+"use strict";
- var collName = "doc_validation_invalid_validators";
- var coll = db[collName];
- coll.drop();
+var collName = "doc_validation_invalid_validators";
+var coll = db[collName];
+coll.drop();
- // Check a few invalid match statements for validator.
- assert.commandFailed(db.createCollection(collName, {validator: 7}));
- assert.commandFailed(db.createCollection(collName, {validator: "assert"}));
- assert.commandFailed(db.createCollection(collName, {validator: {$jsonSchema: {invalid: 1}}}));
+// Check a few invalid match statements for validator.
+assert.commandFailed(db.createCollection(collName, {validator: 7}));
+assert.commandFailed(db.createCollection(collName, {validator: "assert"}));
+assert.commandFailed(db.createCollection(collName, {validator: {$jsonSchema: {invalid: 1}}}));
- // Check some disallowed match statements.
- assert.commandFailed(db.createCollection(collName, {validator: {$text: "bob"}}));
- assert.commandFailed(db.createCollection(collName, {validator: {$where: "this.a == this.b"}}));
- assert.commandFailed(db.createCollection(collName, {validator: {$near: {place: "holder"}}}));
- assert.commandFailed(db.createCollection(collName, {validator: {$geoNear: {place: "holder"}}}));
- assert.commandFailed(
- db.createCollection(collName, {validator: {$nearSphere: {place: "holder"}}}));
- assert.commandFailed(
- db.createCollection(collName, {validator: {$expr: {$eq: ["$a", "$$unbound"]}}}));
+// Check some disallowed match statements.
+assert.commandFailed(db.createCollection(collName, {validator: {$text: "bob"}}));
+assert.commandFailed(db.createCollection(collName, {validator: {$where: "this.a == this.b"}}));
+assert.commandFailed(db.createCollection(collName, {validator: {$near: {place: "holder"}}}));
+assert.commandFailed(db.createCollection(collName, {validator: {$geoNear: {place: "holder"}}}));
+assert.commandFailed(db.createCollection(collName, {validator: {$nearSphere: {place: "holder"}}}));
+assert.commandFailed(
+ db.createCollection(collName, {validator: {$expr: {$eq: ["$a", "$$unbound"]}}}));
- // Verify we fail on admin, local and config databases.
- assert.commandFailed(
- db.getSiblingDB("admin").createCollection(collName, {validator: {a: {$exists: true}}}));
- if (!db.runCommand("isdbgrid").isdbgrid) {
- assert.commandFailed(
- db.getSiblingDB("local").createCollection(collName, {validator: {a: {$exists: true}}}));
- }
+// Verify we fail on admin, local and config databases.
+assert.commandFailed(
+ db.getSiblingDB("admin").createCollection(collName, {validator: {a: {$exists: true}}}));
+if (!db.runCommand("isdbgrid").isdbgrid) {
assert.commandFailed(
- db.getSiblingDB("config").createCollection(collName, {validator: {a: {$exists: true}}}));
+ db.getSiblingDB("local").createCollection(collName, {validator: {a: {$exists: true}}}));
+}
+assert.commandFailed(
+ db.getSiblingDB("config").createCollection(collName, {validator: {a: {$exists: true}}}));
- // Create collection with document validator.
- assert.commandWorked(db.createCollection(collName, {validator: {a: {$exists: true}}}));
+// Create collection with document validator.
+assert.commandWorked(db.createCollection(collName, {validator: {a: {$exists: true}}}));
- // Verify some invalid match statements can't be passed to collMod.
- assert.commandFailed(
- db.runCommand({"collMod": collName, "validator": {$text: {$search: "bob"}}}));
- assert.commandFailed(
- db.runCommand({"collMod": collName, "validator": {$where: "this.a == this.b"}}));
- assert.commandFailed(
- db.runCommand({"collMod": collName, "validator": {$near: {place: "holder"}}}));
- assert.commandFailed(
- db.runCommand({"collMod": collName, "validator": {$geoNear: {place: "holder"}}}));
- assert.commandFailed(
- db.runCommand({"collMod": collName, "validator": {$nearSphere: {place: "holder"}}}));
- assert.commandFailed(
- db.runCommand({"collMod": collName, "validator": {$expr: {$eq: ["$a", "$$unbound"]}}}));
- assert.commandFailed(
- db.runCommand({"collMod": collName, "validator": {$jsonSchema: {invalid: 7}}}));
+// Verify some invalid match statements can't be passed to collMod.
+assert.commandFailed(db.runCommand({"collMod": collName, "validator": {$text: {$search: "bob"}}}));
+assert.commandFailed(
+ db.runCommand({"collMod": collName, "validator": {$where: "this.a == this.b"}}));
+assert.commandFailed(db.runCommand({"collMod": collName, "validator": {$near: {place: "holder"}}}));
+assert.commandFailed(
+ db.runCommand({"collMod": collName, "validator": {$geoNear: {place: "holder"}}}));
+assert.commandFailed(
+ db.runCommand({"collMod": collName, "validator": {$nearSphere: {place: "holder"}}}));
+assert.commandFailed(
+ db.runCommand({"collMod": collName, "validator": {$expr: {$eq: ["$a", "$$unbound"]}}}));
+assert.commandFailed(
+ db.runCommand({"collMod": collName, "validator": {$jsonSchema: {invalid: 7}}}));
- coll.drop();
+coll.drop();
- // Create collection without document validator.
- assert.commandWorked(db.createCollection(collName));
+// Create collection without document validator.
+assert.commandWorked(db.createCollection(collName));
- // Verify we can't add an invalid validator to a collection without a validator.
- assert.commandFailed(db.runCommand({"collMod": collName, "validator": {$text: "bob"}}));
- assert.commandFailed(
- db.runCommand({"collMod": collName, "validator": {$where: "this.a == this.b"}}));
- assert.commandWorked(db.runCommand({"collMod": collName, "validator": {a: {$exists: true}}}));
- coll.drop();
+// Verify we can't add an invalid validator to a collection without a validator.
+assert.commandFailed(db.runCommand({"collMod": collName, "validator": {$text: "bob"}}));
+assert.commandFailed(
+ db.runCommand({"collMod": collName, "validator": {$where: "this.a == this.b"}}));
+assert.commandWorked(db.runCommand({"collMod": collName, "validator": {a: {$exists: true}}}));
+coll.drop();
})();