diff --git a/backend/database/mongo_test.go b/backend/database/mongo_test.go index b875b91a..ed6044ee 100644 --- a/backend/database/mongo_test.go +++ b/backend/database/mongo_test.go @@ -2,14 +2,29 @@ package database import ( "crawlab/config" + "github.com/apex/log" + "github.com/globalsign/mgo" . "github.com/smartystreets/goconvey/convey" "github.com/spf13/viper" + "reflect" "testing" ) +func init() { + if err := config.InitConfig("../conf/config.yml"); err != nil { + log.Fatal("Init config failed") + } + log.Infof("初始化配置成功") + err := InitMongo() + if err != nil { + log.Fatal("Init mongodb failed") + } + +} + func TestGetDb(t *testing.T) { Convey("Test GetDb", t, func() { - if err := config.InitConfig(""); err != nil { + if err := config.InitConfig("../conf/config.yml"); err != nil { t.Fatal("Init config failed") } t.Log("初始化配置成功") @@ -26,3 +41,30 @@ func TestGetDb(t *testing.T) { }) }) } + +func TestGetCol(t *testing.T) { + var c = "nodes" + var colActual *mgo.Collection + Convey("Test GetCol", t, func() { + s, col := GetCol(c) + Convey("s should resemble Session.Copy", func() { + So(s, ShouldResemble, Session.Copy()) + So(reflect.TypeOf(col), ShouldResemble, reflect.TypeOf(colActual)) + }) + }) +} + +func TestGetGridFs(t *testing.T) { + var prefix = "files" + var gfActual *mgo.GridFS + + Convey("Test GetGridFs", t, func() { + s, gf := GetGridFs(prefix) + Convey("s should be session.copy", func() { + So(s, ShouldResemble, Session.Copy()) + }) + Convey("gf should be *mgo.GridFS", func() { + So(reflect.TypeOf(gf), ShouldResemble, reflect.TypeOf(gfActual)) + }) + }) +}