diff options
Diffstat (limited to 'src/mongo/gotools/common/bsonutil/numberlong_test.go')
-rw-r--r-- | src/mongo/gotools/common/bsonutil/numberlong_test.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/mongo/gotools/common/bsonutil/numberlong_test.go b/src/mongo/gotools/common/bsonutil/numberlong_test.go new file mode 100644 index 00000000000..d2706b61847 --- /dev/null +++ b/src/mongo/gotools/common/bsonutil/numberlong_test.go @@ -0,0 +1,37 @@ +package bsonutil + +import ( + "github.com/mongodb/mongo-tools/common/json" + . "github.com/smartystreets/goconvey/convey" + "testing" +) + +func TestNumberLongValue(t *testing.T) { + + Convey("When converting JSON with NumberLong values", t, func() { + + Convey("works for NumberLong constructor", func() { + key := "key" + jsonMap := map[string]interface{}{ + key: json.NumberLong(42), + } + + err := ConvertJSONDocumentToBSON(jsonMap) + So(err, ShouldBeNil) + So(jsonMap[key], ShouldEqual, int64(42)) + }) + + Convey(`works for NumberLong document ('{ "$numberLong": "42" }')`, func() { + key := "key" + jsonMap := map[string]interface{}{ + key: map[string]interface{}{ + "$numberLong": "42", + }, + } + + err := ConvertJSONDocumentToBSON(jsonMap) + So(err, ShouldBeNil) + So(jsonMap[key], ShouldEqual, int64(42)) + }) + }) +} |