mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-21 17:21:09 +01:00
71 lines
1.6 KiB
Go
71 lines
1.6 KiB
Go
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("../conf/config.yml"); err != nil {
|
|
t.Fatal("Init config failed")
|
|
}
|
|
t.Log("初始化配置成功")
|
|
err := InitMongo()
|
|
if err != nil {
|
|
t.Fatal("Init mongodb failed")
|
|
}
|
|
s, db := GetDb()
|
|
Convey("The value should be Session.Copy", func() {
|
|
So(s, ShouldResemble, Session.Copy())
|
|
})
|
|
Convey("The value should be reference of database", func() {
|
|
So(db, ShouldResemble, s.DB(viper.GetString("mongo.db")))
|
|
})
|
|
})
|
|
}
|
|
|
|
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))
|
|
})
|
|
})
|
|
}
|