diff options
author | Ramon Fernandez <ramon@mongodb.com> | 2016-08-25 16:34:34 -0400 |
---|---|---|
committer | Ramon Fernandez <ramon@mongodb.com> | 2016-08-25 16:54:18 -0400 |
commit | c330c9991ab45e7d0685d53e699ef26dba065660 (patch) | |
tree | 3dc5cd06b5f6c7eaaa4cb20cbe763504c14a772b /src/mongo/gotools/common/bsonutil/timestamp_test.go | |
parent | eb62b862d5ebf179a1bcd9f394070e69c30188ab (diff) | |
download | mongo-c330c9991ab45e7d0685d53e699ef26dba065660.tar.gz |
Import tools: 5b883d86fdb4df55036d5dba2ca6f9dfa0750b44 from branch v3.3
ref: 1ac1389bda..5b883d86fd
for: 3.3.12
SERVER-25814 Initial vendor import: tools
Diffstat (limited to 'src/mongo/gotools/common/bsonutil/timestamp_test.go')
-rw-r--r-- | src/mongo/gotools/common/bsonutil/timestamp_test.go | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/mongo/gotools/common/bsonutil/timestamp_test.go b/src/mongo/gotools/common/bsonutil/timestamp_test.go new file mode 100644 index 00000000000..05899febc2d --- /dev/null +++ b/src/mongo/gotools/common/bsonutil/timestamp_test.go @@ -0,0 +1,43 @@ +package bsonutil + +import ( + "github.com/mongodb/mongo-tools/common/json" + . "github.com/smartystreets/goconvey/convey" + "gopkg.in/mgo.v2/bson" + "testing" +) + +func TestTimestampValue(t *testing.T) { + + Convey("When converting JSON with Timestamp values", t, func() { + testTS := bson.MongoTimestamp(123456<<32 | 55) + + Convey("works for Timestamp literal", func() { + + jsonMap := map[string]interface{}{ + "ts": json.Timestamp{123456, 55}, + } + + err := ConvertJSONDocumentToBSON(jsonMap) + So(err, ShouldBeNil) + So(jsonMap["ts"], ShouldEqual, testTS) + }) + + Convey(`works for Timestamp document`, func() { + Convey(`{"ts":{"$timestamp":{"t":123456, "i":55}}}`, func() { + jsonMap := map[string]interface{}{ + "ts": map[string]interface{}{ + "$timestamp": map[string]interface{}{ + "t": 123456.0, + "i": 55.0, + }, + }, + } + + bsonMap, err := ConvertJSONValueToBSON(jsonMap) + So(err, ShouldBeNil) + So(bsonMap.(map[string]interface{})["ts"], ShouldEqual, testTS) + }) + }) + }) +} |