summaryrefslogtreecommitdiff
path: root/jstests/replsets/copydb.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/replsets/copydb.js')
-rw-r--r--jstests/replsets/copydb.js97
1 files changed, 0 insertions, 97 deletions
diff --git a/jstests/replsets/copydb.js b/jstests/replsets/copydb.js
deleted file mode 100644
index 2c11e553618..00000000000
--- a/jstests/replsets/copydb.js
+++ /dev/null
@@ -1,97 +0,0 @@
-// Tests the copydb command in a replica set.
-// Ensures that documents and indexes are replicated to secondary.
-
-(function() {
- 'use strict';
-
- var replTest = new ReplSetTest({name: 'copydbTest', nodes: 3});
-
- replTest.startSet();
- replTest.initiate();
- var primary = replTest.getPrimary();
- var secondary = replTest._slaves[0];
-
- var sourceDBName = 'copydb-repl-test-source';
- var targetDBName = 'copydb-repl-test-target';
-
- var primarySourceDB = primary.getDB(sourceDBName);
- assert.commandWorked(primarySourceDB.dropDatabase(),
- 'failed to drop source database ' + sourceDBName + ' on primary');
-
- var primaryTargetDB = primary.getDB(targetDBName);
- assert.commandWorked(primaryTargetDB.dropDatabase(),
- 'failed to drop target database ' + targetDBName + ' on primary');
-
- assert.writeOK(primarySourceDB.foo.save({a: 1}),
- 'failed to insert document in source collection');
- assert.commandWorked(primarySourceDB.foo.ensureIndex({a: 1}),
- 'failed to create index in source collection on primary');
- assert.commandWorked(primarySourceDB.runCommand({create: "fooView", viewOn: "foo"}),
- 'failed to create view on source collection on primary');
-
- assert.eq(1,
- primarySourceDB.foo.find().itcount(),
- 'incorrect number of documents in source collection on primary before copy');
- assert.eq(1,
- primarySourceDB.fooView.find().itcount(),
- 'incorrect number of documents in source view on primary before copy');
- assert.eq(0,
- primaryTargetDB.foo.find().itcount(),
- 'target collection on primary should be empty before copy');
-
- assert.commandWorked(
- primarySourceDB.copyDatabase(primarySourceDB.getName(), primaryTargetDB.getName()),
- 'failed to copy database');
-
- assert.eq(primarySourceDB.foo.find().itcount(),
- primaryTargetDB.foo.find().itcount(),
- 'incorrect number of documents in target collection on primary after copy');
-
- // Confirm that 'fooView' is still a view namespace after copy.
- let res = primaryTargetDB.runCommand({listCollections: 1, filter: {name: "fooView"}});
- assert.commandWorked(res);
- assert(res.cursor.firstBatch.length === 1);
- assert(res.cursor.firstBatch[0].hasOwnProperty("type"), tojson(res));
- assert.eq("view",
- res.cursor.firstBatch[0].type,
- "Namespace exected to be view: " + tojson(res.cursor.firstBatch[0]));
-
- assert.eq(primarySourceDB.fooView.find().itcount(),
- primaryTargetDB.fooView.find().itcount(),
- 'incorrect number of documents in target view on primary after copy');
-
- assert.eq(primarySourceDB.foo.getIndexes().length,
- primaryTargetDB.foo.getIndexes().length,
- 'incorrect number of indexes in target collection on primary after copy');
-
- replTest.awaitReplication();
-
- var secondarySourceDB = secondary.getDB(sourceDBName);
-
- assert.eq(primarySourceDB.foo.find().itcount(),
- secondarySourceDB.foo.find().itcount(),
- 'incorrect number of documents in source collection on secondary after copy');
-
- assert.eq(primarySourceDB.fooView.find().itcount(),
- secondarySourceDB.fooView.find().itcount(),
- 'incorrect number of documents in source view on secondary after copy');
-
- assert.eq(primarySourceDB.foo.getIndexes().length,
- secondarySourceDB.foo.getIndexes().length,
- 'incorrect number of indexes in source collection on secondary after copy');
-
- var secondaryTargetDB = secondary.getDB(targetDBName);
-
- assert.eq(primaryTargetDB.foo.find().itcount(),
- secondaryTargetDB.foo.find().itcount(),
- 'incorrect number of documents in target collection on secondary after copy');
-
- assert.eq(primaryTargetDB.fooView.find().itcount(),
- secondaryTargetDB.fooView.find().itcount(),
- 'incorrect number of documents in target view on secondary after copy');
-
- assert.eq(primaryTargetDB.foo.getIndexes().length,
- secondaryTargetDB.foo.getIndexes().length,
- 'incorrect number of indexes in target collection on secondary after copy');
- replTest.stopSet();
-}());