summaryrefslogtreecommitdiff
path: root/src/mongo/gotools/test/qa-tests/jstests/import/decimal128.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/gotools/test/qa-tests/jstests/import/decimal128.js')
-rw-r--r--src/mongo/gotools/test/qa-tests/jstests/import/decimal128.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/mongo/gotools/test/qa-tests/jstests/import/decimal128.js b/src/mongo/gotools/test/qa-tests/jstests/import/decimal128.js
new file mode 100644
index 00000000000..9024096ca18
--- /dev/null
+++ b/src/mongo/gotools/test/qa-tests/jstests/import/decimal128.js
@@ -0,0 +1,44 @@
+(function() {
+ // skip this test where NumberDecimal is unsupported (3.2 and earlier)
+ if (typeof NumberDecimal === 'undefined') {
+ return;
+ }
+
+ if (typeof getToolTest === 'undefined') {
+ load('jstests/configs/plain_28.config.js');
+ }
+ jsTest.log('Testing running import with various data types');
+
+ var toolTest = getToolTest('import');
+ var db1 = toolTest.db;
+ var commonToolArgs = getCommonToolArguments();
+
+ var testDoc = {
+ _id: "foo",
+ x: NumberDecimal("124124"),
+ };
+
+ // Make a dummy file to import by writing a test collection and exporting it
+ assert.eq(0, db1.c.count(), "initial collection is not empty");
+ db1.c.save(testDoc);
+ toolTest.runTool.apply(toolTest, ["export",
+ "--out", toolTest.extFile,
+ "-d", toolTest.baseName,
+ "-c", db1.c.getName()]
+ .concat(commonToolArgs));
+
+ toolTest.runTool.apply(toolTest, ["import",
+ "--file", toolTest.extFile,
+ "--db", "imported",
+ "--collection", "dec128"]
+ .concat(commonToolArgs));
+ var importedDocs = db1.c.getDB().getSiblingDB("imported").dec128.find().toArray();
+
+ assert.eq(importedDocs.length, 1, "incorrect # of docs imported");
+
+ var importedDoc = importedDocs[0];
+
+ assert.eq(importedDoc, testDoc, "imported doc and test doc do not match");
+
+ toolTest.stop();
+}());