diff options
author | Valeri Karpov <valeri.karpov@10gen.com> | 2014-11-11 16:48:17 -0500 |
---|---|---|
committer | Valeri Karpov <valeri.karpov@10gen.com> | 2014-11-12 16:51:18 -0500 |
commit | 633684b3998eaf750d3c01720836ccfeb7e08266 (patch) | |
tree | 108240b88e0180709db74e1d1cc21dc07a875dd0 | |
parent | d28a155a00cb640f6c821a15328245d5aa97115b (diff) | |
download | mongo-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.js | 33 | ||||
-rw-r--r-- | test/qa-tests/configs/plain_26.config.js | 17 | ||||
-rw-r--r-- | test/qa-tests/configs/plain_28.config.js | 17 | ||||
-rw-r--r-- | test/qa-tests/configs/replset_28.config.js | 28 | ||||
-rw-r--r-- | test/qa-tests/configs/sharding_28.config.js | 26 | ||||
-rw-r--r-- | test/qa-tests/configs/ssl_28.config.js | 23 | ||||
-rw-r--r-- | test/qa-tests/mongodump/jstests/db_flag_tests.js | 35 |
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(); +})(); |