summaryrefslogtreecommitdiff
path: root/jstests/change_streams
diff options
context:
space:
mode:
authorIan Boros <ian.boros@10gen.com>2018-04-25 12:19:01 -0400
committerIan Boros <ian.boros@10gen.com>2018-04-26 17:04:59 -0400
commitd881559e5c847bb422687a72ce10c263f1ef68cc (patch)
treee1c29fa44089f7b8b6f7825debd0cce5a5849070 /jstests/change_streams
parenta1601dd85764e1aac6128057b5681107931c64b8 (diff)
downloadmongo-d881559e5c847bb422687a72ce10c263f1ef68cc.tar.gz
SERVER-34662 fix $changeStream parsing to check that its argument is an object
Diffstat (limited to 'jstests/change_streams')
-rw-r--r--jstests/change_streams/change_stream.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/jstests/change_streams/change_stream.js b/jstests/change_streams/change_stream.js
index d0f3755bc17..0d392b99bcc 100644
--- a/jstests/change_streams/change_stream.js
+++ b/jstests/change_streams/change_stream.js
@@ -16,6 +16,17 @@
assertDropAndRecreateCollection(db, "t1");
assertDropAndRecreateCollection(db, "t2");
+ // Test that $changeStream only accepts an object as its argument.
+ function checkArgFails(arg) {
+ assert.commandFailedWithCode(
+ db.runCommand({aggregate: "t1", pipeline: [{$changeStream: arg}], cursor: {}}), 50808);
+ }
+
+ checkArgFails(1);
+ checkArgFails("invalid");
+ checkArgFails(false);
+ checkArgFails([1, 2, "invalid", {x: 1}]);
+
// Test that a change stream cannot be opened on collections in the "admin", "config", or
// "local" databases.
assertInvalidChangeStreamNss("admin", "testColl");