diff options
Diffstat (limited to 'jstests/core/doc_validation_invalid_validators.js')
-rw-r--r-- | jstests/core/doc_validation_invalid_validators.js | 99 |
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(); })(); |