Files
mongo/jstests/tool/csv1.js
2019-07-27 11:02:23 -04:00

59 lines
1.2 KiB
JavaScript

// csv1.js
t = new ToolTest("csv1");
c = t.startDB("foo");
base = {
a: 1,
b: "foo,bar\"baz,qux",
c: 5,
'd d': -6,
e: '-',
f: "."
};
assert.eq(0, c.count(), "setup1");
c.insert(base);
delete base._id;
assert.eq(1, c.count(), "setup2");
t.runTool(
"export", "--out", t.extFile, "-d", t.baseName, "-c", "foo", "--csv", "-f", "a,b,c,d d,e,f");
c.drop();
assert.eq(0, c.count(), "after drop");
t.runTool("import",
"--file",
t.extFile,
"-d",
t.baseName,
"-c",
"foo",
"--type",
"csv",
"-f",
"a,b,c,d d,e,f");
assert.soon("2 == c.count()", "restore 2");
a = c.find().sort({a: 1}).toArray();
delete a[0]._id;
delete a[1]._id;
assert.docEq({a: "a", b: "b", c: "c", 'd d': "d d", e: 'e', f: "f"}, a[1], "csv parse 1");
assert.docEq(base, a[0], "csv parse 0");
c.drop();
assert.eq(0, c.count(), "after drop 2");
t.runTool(
"import", "--file", t.extFile, "-d", t.baseName, "-c", "foo", "--type", "csv", "--headerline");
assert.soon("c.findOne()", "no data after sleep");
assert.eq(1, c.count(), "after restore 2");
x = c.findOne();
delete x._id;
assert.docEq(base, x, "csv parse 2");
t.stop();