Initial commit
This commit is contained in:
@@ -0,0 +1,280 @@
|
||||
package mongodb
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"pet-house.com/core/g"
|
||||
"pet-house.com/core/server/cache"
|
||||
_ "pet-house.com/core/server/cache"
|
||||
)
|
||||
|
||||
func TestGetClient(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb getClient", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
})
|
||||
|
||||
}
|
||||
func TestPing(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb ping", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
err = client.Ping()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
})
|
||||
}
|
||||
func TestInsertOne(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb InsertOne", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
res, err := client.InsertOne("testing", bson.D{
|
||||
{Key: "name", Value: "pi"}, {Key: "value", Value: 3.14159},
|
||||
})
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if res == "" {
|
||||
t.Error("inserted id is empty")
|
||||
}
|
||||
})
|
||||
}
|
||||
func TestGetCollection(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb GetCollection", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
res := client.getCollection("testing")
|
||||
if res == nil {
|
||||
t.Error("Collection return empty")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestGetAggregate(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb Aggregate", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
pipeline := mongo.Pipeline{
|
||||
{
|
||||
{"$match", bson.D{
|
||||
{"items.fruit", "banana"},
|
||||
}},
|
||||
},
|
||||
{
|
||||
{"$sort", bson.D{
|
||||
{"date", 1},
|
||||
}},
|
||||
},
|
||||
}
|
||||
res, err := client.Aggregate("testing", pipeline)
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if res == nil {
|
||||
t.Error("Collection return empty")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestFind(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb Find", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
res, err := client.Find("testing", bson.D{{"end", nil}})
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if res == nil {
|
||||
t.Error("Collection return empty")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestFindOne(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb FindOne", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
res := client.FindOne("testing", bson.D{{"end", nil}})
|
||||
if res == nil {
|
||||
t.Error("Collection return empty")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestDeleteOne(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb DeleteOne", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
err = client.DeleteOne("testing", bson.D{{"end", nil}})
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestUpdateOne(t *testing.T) {
|
||||
CONFIG.Addr = g.TestMongoAddr
|
||||
defer Remove()
|
||||
defer cache.Remove()
|
||||
t.Run("test mongodb UpdateOne", func(t *testing.T) {
|
||||
client, err := GetClient()
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if client == nil {
|
||||
t.Error("mongodb clinet is nil")
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if err = client.Disconnect(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
id, err := client.InsertOne("testing", bson.D{
|
||||
{Key: "name", Value: "pi"}, {Key: "value", Value: 3.14159},
|
||||
})
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
b := bson.D{
|
||||
{Key: "$set", Value: bson.D{
|
||||
{Key: "name", Value: "pi"},
|
||||
{Key: "value", Value: 3.1415926},
|
||||
}},
|
||||
}
|
||||
res, err := client.UpdateOne("testing", bson.D{{"_id", id}}, b)
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
return
|
||||
}
|
||||
if res == nil {
|
||||
t.Error("Collection return empty")
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user