blob: ffcdd80306d59f077e0c97e5c0a2aa40f2ea03e4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/**
* Tests that the validate checkBSONConformance option works with various BSON types.
*/
(function() {
const coll = db.validate_bson_types;
assert.commandWorked(coll.insert({a: 1.0})); // double
assert.commandWorked(coll.insert({b: "abc"})); // string
assert.commandWorked(coll.insert({c: {x: 1}})); // object
assert.commandWorked(coll.insert({d: [1, 2, 3]})); // array
assert.commandWorked(coll.insert({
e: BinData(2, "KwAAAFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2c=")
})); // binData
assert.commandWorked(coll.insert({f: undefined})); // undefined
assert.commandWorked(coll.insert({g: ObjectId("dbdbdbdbdbdbdbdbdbdbdbdb")})); // objectId
assert.commandWorked(coll.insert({h: true})); // boolean
assert.commandWorked(coll.insert({i: ISODate("2013-12-11T19:38:24.055Z")})); // UTC
assert.commandWorked(coll.insert({j: null})); // null
assert.commandWorked(coll.insert({k: RegExp("a")})); // regex
assert.commandWorked(
coll.insert({l: DBPointer("foo", ObjectId("bbbbbbbbbbbbbbbbbbbbbbbb"))})); // DBPointer
assert.commandWorked(coll.insert({m: Code("noScope")})); // code
assert.commandWorked(coll.insert({n: Code('function(){return 1;}', {})})); // code w/ scope
assert.commandWorked(coll.insert({o: 3})); // int
assert.commandWorked(coll.insert({p: Timestamp(1, 2)})); // timestamp
assert.commandWorked(coll.insert({q: NumberLong(6)})); // 64-bit int
assert.commandWorked(coll.insert({r: NumberDecimal("2.0")})); // decimal 128
assert.commandWorked(coll.insert({s: MinKey()})); // MinKey
assert.commandWorked(coll.insert({t: MaxKey()})); // MaxKey
assert.commandWorked(coll.validate({checkBSONConformance: true}));
})();
|