0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-30 17:10:48 +01:00
mongodb/jstests/tool/exportimport1.js

56 lines
1.7 KiB
JavaScript

// exportimport1.js
t = new ToolTest("exportimport1");
c = t.startDB("foo");
assert.eq(0, c.count(), "setup1");
var arr = ["x", undefined, "y", undefined];
c.save({a: 22, b: arr});
assert.eq(1, c.count(), "setup2");
t.runTool("export", "--out", t.extFile, "-d", t.baseName, "-c", "foo");
c.drop();
assert.eq(0, c.count(), "after drop", "-d", t.baseName, "-c", "foo");
t.runTool("import", "--file", t.extFile, "-d", t.baseName, "-c", "foo");
assert.soon("c.findOne()", "no data after sleep");
assert.eq(1, c.count(), "after restore 2");
var doc = c.findOne();
assert.eq(22, doc.a, "after restore 2");
for (var i = 0; i < arr.length; i++) {
assert.eq(arr[i], doc.b[i], "after restore array: " + i);
}
// now with --jsonArray
t.runTool("export", "--jsonArray", "--out", t.extFile, "-d", t.baseName, "-c", "foo");
c.drop();
assert.eq(0, c.count(), "after drop", "-d", t.baseName, "-c", "foo");
t.runTool("import", "--jsonArray", "--file", t.extFile, "-d", t.baseName, "-c", "foo");
assert.soon("c.findOne()", "no data after sleep");
assert.eq(1, c.count(), "after restore 2");
assert.eq(22, c.findOne().a, "after restore 2");
c.drop();
assert.eq(0, c.count(), "after drop", "-d", t.baseName, "-c", "foo");
arr = ["a", undefined, "c"];
c.save({a: arr});
assert.eq(1, c.count(), "setup2");
t.runTool("export", "--out", t.extFile, "-d", t.baseName, "-c", "foo");
c.drop();
assert.eq(0, c.count(), "after drop", "-d", t.baseName, "-c", "foo");
t.runTool("import", "--file", t.extFile, "-d", t.baseName, "-c", "foo");
assert.soon("c.findOne()", "no data after sleep");
assert.eq(1, c.count(), "after restore 2");
var doc = c.findOne();
for (var i = 0; i < arr.length; i++) {
assert.eq(arr[i], doc.a[i], "after restore array: " + i);
}
t.stop();