summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValeri Karpov <valeri.karpov@10gen.com>2014-11-11 16:48:17 -0500
committerValeri Karpov <valeri.karpov@10gen.com>2014-11-12 16:51:18 -0500
commit633684b3998eaf750d3c01720836ccfeb7e08266 (patch)
tree108240b88e0180709db74e1d1cc21dc07a875dd0
parentd28a155a00cb640f6c821a15328245d5aa97115b (diff)
downloadmongo-633684b3998eaf750d3c01720836ccfeb7e08266.tar.gz
TOOLS-202 Basic QA tests for mongodump and test configurations
Former-commit-id: f9cb808977c07c62dfe31c1ebaf47ba84ce72888
-rw-r--r--test/qa-tests/configs/auth_28.config.js33
-rw-r--r--test/qa-tests/configs/plain_26.config.js17
-rw-r--r--test/qa-tests/configs/plain_28.config.js17
-rw-r--r--test/qa-tests/configs/replset_28.config.js28
-rw-r--r--test/qa-tests/configs/sharding_28.config.js26
-rw-r--r--test/qa-tests/configs/ssl_28.config.js23
-rw-r--r--test/qa-tests/mongodump/jstests/db_flag_tests.js35
7 files changed, 179 insertions, 0 deletions
diff --git a/test/qa-tests/configs/auth_28.config.js b/test/qa-tests/configs/auth_28.config.js
new file mode 100644
index 00000000000..5166fa7d785
--- /dev/null
+++ b/test/qa-tests/configs/auth_28.config.js
@@ -0,0 +1,33 @@
+var getToolTest;
+
+(function() {
+ var AUTH_USER = 'passwordIsTaco';
+ var AUTH_PASSWORD = 'Taco';
+
+ var TOOLS_TEST_CONFIG = {
+ binVersion: '',
+ auth: ''
+ };
+
+ getToolTest = function(name) {
+ var toolTest = new ToolTest(name, TOOLS_TEST_CONFIG);
+ var db = t.startDB();
+
+ db.getSiblingDB('admin').createUser({
+ user: AUTH_USER,
+ pwd: AUTH_PASSWORD,
+ roles: ['__system']
+ });
+
+ db.getSiblingDB('admin').auth(AUTH_USER, AUTH_PASSWORD);
+
+ return toolTest;
+ };
+})();
+
+var getCommonToolArguments = function() {
+ return [
+ '--username', AUTH_USER,
+ '--password', AUTH_PASSWORD
+ ];
+};
diff --git a/test/qa-tests/configs/plain_26.config.js b/test/qa-tests/configs/plain_26.config.js
new file mode 100644
index 00000000000..c99bf15d698
--- /dev/null
+++ b/test/qa-tests/configs/plain_26.config.js
@@ -0,0 +1,17 @@
+var getToolTest;
+
+(function() {
+ var TOOLS_TEST_CONFIG = {
+ binVersion: '2.6',
+ };
+
+ getToolTest = function(name) {
+ var toolTest = new ToolTest(name, TOOLS_TEST_CONFIG);
+ toolTest.startDB();
+ return toolTest;
+ };
+})();
+
+var getCommonToolArguments = function() {
+ return [];
+};
diff --git a/test/qa-tests/configs/plain_28.config.js b/test/qa-tests/configs/plain_28.config.js
new file mode 100644
index 00000000000..58d2fb0e01d
--- /dev/null
+++ b/test/qa-tests/configs/plain_28.config.js
@@ -0,0 +1,17 @@
+var getToolTest;
+
+(function() {
+ var TOOLS_TEST_CONFIG = {
+ binVersion: '',
+ };
+
+ getToolTest = function(name) {
+ var toolTest = new ToolTest(name, TOOLS_TEST_CONFIG);
+ toolTest.startDB();
+ return toolTest;
+ };
+})();
+
+var getCommonToolArguments = function() {
+ return [];
+};
diff --git a/test/qa-tests/configs/replset_28.config.js b/test/qa-tests/configs/replset_28.config.js
new file mode 100644
index 00000000000..e003e6d383a
--- /dev/null
+++ b/test/qa-tests/configs/replset_28.config.js
@@ -0,0 +1,28 @@
+var getToolTest;
+
+(function() {
+ getToolTest = function(name) {
+ var toolTest = new ToolTest(name, null);
+
+ var replTest = new ReplSetTest({ name: 'tool_replset', nodes: 3, oplogSize: 5 });
+
+ var nodes = replTest.startSet();
+ replTest.initiate();
+ var master = replTest.getMaster();
+
+ toolTest.m = master;
+ toolTest.db = master.getDB(name);
+
+ var oldStop = toolTest.stop;
+ toolTest.stop = function() {
+ replTest.stopSet();
+ oldStop.apply(toolTest, arguments);
+ };
+
+ return toolTest;
+ };
+})();
+
+var getCommonToolArguments = function() {
+ return [];
+};
diff --git a/test/qa-tests/configs/sharding_28.config.js b/test/qa-tests/configs/sharding_28.config.js
new file mode 100644
index 00000000000..e2a377252b4
--- /dev/null
+++ b/test/qa-tests/configs/sharding_28.config.js
@@ -0,0 +1,26 @@
+var getToolTest;
+
+(function() {
+ getToolTest = function(name) {
+ var toolTest = new ToolTest(name, null);
+
+ var shardingTest = new ShardingTest(name, 2, 0, 3, { chunksize: 1, enableBalancer: 0 });
+ shardingTest.adminCommand({ enablesharding: name });
+
+ toolTest.m = shardingTest.s0;
+ toolTest.db = shardingTest.getDB(name);
+ toolTest.port = shardingTest.s0.port;
+
+ var oldStop = toolTest.stop;
+ toolTest.stop = function() {
+ shardingTest.stop();
+ oldStop.apply(toolTest, arguments);
+ };
+
+ return toolTest;
+ };
+})();
+
+var getCommonToolArguments = function() {
+ return [];
+};
diff --git a/test/qa-tests/configs/ssl_28.config.js b/test/qa-tests/configs/ssl_28.config.js
new file mode 100644
index 00000000000..7f9dd578404
--- /dev/null
+++ b/test/qa-tests/configs/ssl_28.config.js
@@ -0,0 +1,23 @@
+var getToolTest;
+
+(function() {
+ var TOOLS_TEST_CONFIG = {
+ binVersion: '',
+ sslMode: 'requireSSL',
+ sslPEMKeyFile: '../../libs/server.pem',
+ sslCAFile: '../../libs/ca.pem'
+ };
+
+ getToolTest = function(name) {
+ var toolTest = new ToolTest(name, TOOLS_TEST_CONFIG);
+ toolTest.startDB();
+ return toolTest;
+ };
+})();
+
+var getCommonToolArguments = function() {
+ return [
+ '--ssl',
+ '--sslPEMKeyFile', '../../libs/client.pem'
+ ];
+};
diff --git a/test/qa-tests/mongodump/jstests/db_flag_tests.js b/test/qa-tests/mongodump/jstests/db_flag_tests.js
new file mode 100644
index 00000000000..48cc5d4993c
--- /dev/null
+++ b/test/qa-tests/mongodump/jstests/db_flag_tests.js
@@ -0,0 +1,35 @@
+if (typeof getToolTest === 'undefined') {
+ load('../plain_28.config.js');
+}
+
+(function() {
+ var toolTest = getToolTest('dbFlagTest');
+ var commonToolArgs = getCommonToolArguments();
+ var db = toolTest.db.getSiblingDB('foo');
+
+ db.dropDatabase();
+ assert.eq(0, db.bar.count());
+ db.getSiblingDB('baz').dropDatabase();
+ assert.eq(0, db.getSiblingDB('baz').bar.count());
+
+ // Insert into the 'foo' database
+ db.bar.insert({ x: 1 });
+ // and into the 'baz' database
+ db.getSiblingDB('baz').bar.insert({ x: 2 });
+
+ // Running mongodump with `--db foo` should only dump the
+ // 'foo' database, ignoring the 'baz' database
+ var dumpArgs = ['dump', '--db', 'foo'].concat(commonToolArgs);
+ toolTest.runTool.apply(toolTest, dumpArgs);
+ db.dropDatabase();
+ db.getSiblingDB('baz').dropDatabase();
+ assert.eq(0, db.bar.count());
+ assert.eq(0, db.getSiblingDB('baz').bar.count());
+
+ var restoreArgs = ['restore'].concat(commonToolArgs);
+ toolTest.runTool.apply(toolTest, restoreArgs);
+ assert.eq(1, db.bar.count());
+ assert.eq(0, db.getSiblingDB('baz').bar.count());
+
+ toolTest.stop();
+})();