Commit 5f623f08 authored by Somnath Ghorpade's avatar Somnath Ghorpade
Browse files

Added test cases for coremongo DB operations and also added ping for mysql connection.

parent 3d8fbe87
Branches
2 merge requests!290merge devbranch to staging.,!289#27 Added test cases for coremongo DB operations and also added ping for mysql connection.
Showing with 362 additions and 1 deletion
package coremongo
import (
"testing"
"time"
"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/loggermdl"
"github.com/stretchr/testify/assert"
"go.mongodb.org/mongo-driver/bson"
)
func init() {
err := InitUsingJSON([]MongoHost{
{
HostName: "localhost1",
Port: 27017,
Username: "",
Password: "",
Database: "",
Server: "localhost",
IsDefault: true,
MaxIdleConns: 10,
MaxOpenConns: 10,
},
})
if err != nil {
panic(err)
}
}
func TestInitUsingJSON(t *testing.T) {
err := InitUsingJSON([]MongoHost{{
HostName: "localhost",
Port: 27017,
Server: "localhost",
Username: "",
Password: "",
Database: "CoreStudio",
IsDefault: true,
MaxIdleConns: 10,
MaxOpenConns: 10,
},
})
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, err, "This should not return error")
}
func TestInitUsingJSONDefaultHostname(t *testing.T) {
err := InitUsingJSON([]MongoHost{{
HostName: "localhost",
Port: 27017,
Server: "localhost",
Username: "",
Password: "",
Database: "",
IsDefault: true,
MaxIdleConns: 10,
MaxOpenConns: 10,
},
})
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, err, "This should not return error")
}
func TestDeleteSession(t *testing.T) {
err := DeleteSession("localhost1")
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, err, "This should not return error")
}
func TestInitNewSession(t *testing.T) {
err := InitNewSession(MongoHost{
HostName: "localhost",
Port: 27017,
Server: "localhost",
Username: "",
Password: "",
Database: "",
IsDefault: true,
MaxIdleConns: 10,
MaxOpenConns: 10,
})
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, err, "This should not return error")
}
func TestGetMongoConnection(t *testing.T) {
_, err := GetMongoConnection("localhost1")
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, err, "This should not return error")
}
func TestGetMongoDAOWithHost(t *testing.T) {
MongoDao := GetMongoDAOWithHost("localhost1", "admin")
query := make(map[string]interface{})
query["loginId"] = "corestudio@mkcl.org"
data, err := MongoDao.GetData(query)
if err != nil {
loggermdl.LogError("err: ", err)
}
loggermdl.LogInfo("MongoDao: ", data)
assert.NoError(t, nil, "This should not return error")
}
func TestGetMongoDAO(t *testing.T) {
MongoDao := GetMongoDAO("admin")
query := make(map[string]interface{})
query["loginId"] = "corestudio@mkcl.org"
data, err := MongoDao.GetData(query)
if err != nil {
loggermdl.LogError("err: ", err)
}
loggermdl.LogInfo("MongoDao: ", data)
assert.NoError(t, nil, "This should not return error")
}
func TestSaveData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make(map[string]interface{})
data["loginId"] = "loginData"
res, err := MongoDao.SaveData(data)
if err != nil {
loggermdl.LogError("err: ", err)
}
loggermdl.LogInfo("MongoDao: ", res)
assert.NoError(t, nil, "This should not return error")
}
func TestSaveBulkData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make([]interface{}, 0)
data = append(data, map[string]interface{}{"loginId": "loginData1"})
data = append(data, map[string]interface{}{"loginId": "loginData2"})
res, err := MongoDao.SaveBulkData(data)
if err != nil {
loggermdl.LogError("err: ", err)
}
loggermdl.LogInfo("MongoDao: ", res)
assert.NoError(t, nil, "This should not return error")
}
func TestUpdateAll(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make(map[string]interface{})
data["name"] = "name"
query := make(map[string]interface{})
query["loginId"] = "loginData"
err := MongoDao.UpdateAll(query, data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestUpdate(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make(map[string]interface{})
data["name"] = "name"
query := make(map[string]interface{})
query["loginId"] = "loginData"
err := MongoDao.Update(query, data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestDeleteData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
query := make(map[string]interface{})
query["loginId"] = "loginData"
err := MongoDao.DeleteData(query)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestDeleteAll(t *testing.T) {
MongoDao := GetMongoDAO("admin")
query := make(map[string]interface{})
query["loginId"] = "loginData1"
err := MongoDao.DeleteAll(query)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestGetProjectedData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
query := make(map[string]interface{})
query["loginId"] = "loginData2"
projection := make(map[string]interface{})
projection["name"] = 1
data, err := MongoDao.GetProjectedData(query, projection)
if err != nil {
loggermdl.LogError("err: ", err)
}
loggermdl.LogInfo("MongoDao: ", data)
assert.NoError(t, nil, "This should not return error")
}
func TestGetAggregateData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
query := []bson.D{{{Key: "$match", Value: bson.D{{Key: "loginId", Value: "loginData2"}}}}}
data, err := MongoDao.GetAggregateData(query)
if err != nil {
loggermdl.LogError("err: ", err)
}
loggermdl.LogInfo("MongoDao: ", data)
assert.NoError(t, nil, "This should not return error")
}
func TestUpsertWithID(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make(map[string]interface{})
data["name"] = "name"
query := make(map[string]interface{})
query["loginId"] = "loginData"
res, err := MongoDao.UpsertWithID(query, data)
if err != nil {
loggermdl.LogError("err: ", err)
}
loggermdl.LogInfo("MongoDao: ", res)
assert.NoError(t, nil, "This should not return error")
}
func TestUpsert(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make(map[string]interface{})
data["name"] = "name"
query := make(map[string]interface{})
query["loginId"] = "loginData"
err := MongoDao.Upsert(query, data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestPushData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make(map[string]interface{})
data["name"] = "updated"
query := make(map[string]interface{})
query["loginId"] = "loginData2"
err := MongoDao.PushData(query, data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestCustomUpdate(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := bson.D{
{Key: "$set", Value: bson.D{
{Key: "email", Value: "johndoe@example.com"},
{Key: "updated_at", Value: time.Now()},
}}}
query := make(map[string]interface{})
query["loginId"] = "loginData2"
err := MongoDao.CustomUpdate(query, data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestCustomUpdateOne(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := bson.D{
{Key: "$set", Value: bson.D{
{Key: "email", Value: "somnathg@mkcl.org"},
{Key: "updated_at", Value: time.Now()},
}}}
query := make(map[string]interface{})
query["loginId"] = "loginData2"
err := MongoDao.CustomUpdateOne(query, data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestBulkSaveData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make([]interface{}, 0)
data = append(data, map[string]interface{}{"loginId": "loginData1"})
data = append(data, map[string]interface{}{"loginId": "loginData2"})
err := MongoDao.BulkSaveData(data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestBulkUpdateData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make([]interface{}, 0)
data = append(data, map[string]interface{}{"loginId": "loginData1", "name": "name1"})
data = append(data, map[string]interface{}{"loginId": "loginData2", "name": "name2"})
err := MongoDao.BulkUpdateData(data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestBulkUpdate(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make([]interface{}, 0)
data = append(data, map[string]interface{}{"loginId": "loginData", "name": "name1"})
data = append(data, map[string]interface{}{"loginId": "loginData2", "name": "name2"})
err := MongoDao.BulkUpdate(data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestBulkDeleteData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make([]interface{}, 0)
data = append(data, map[string]interface{}{"loginId": "loginData1"})
data = append(data, map[string]interface{}{"loginId": "loginData2"})
err := MongoDao.BulkDeleteData(data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
func TestBulkUpsertData(t *testing.T) {
MongoDao := GetMongoDAO("admin")
data := make([]interface{}, 0)
data = append(data, map[string]interface{}{"loginId": "loginData22", "name": "name1"})
data = append(data, map[string]interface{}{"loginId": "loginData3", "name": "name2"})
err := MongoDao.BulkUpsertData(data)
if err != nil {
loggermdl.LogError("err: ", err)
}
assert.NoError(t, nil, "This should not return error")
}
......@@ -63,6 +63,12 @@ func InitUsingJSON(configs []MySQLConnection) error {
connectionError = err
return
}
pingError := connection.Ping()
if errormdl.CheckErr1(pingError) != nil {
loggermdl.LogError(pingError)
connectionError = pingError
return
}
sqlConnections[connectionDetails.HostName] = connection
if connectionDetails.IsDefault {
defaultHost = connectionDetails.HostName
......@@ -187,7 +193,7 @@ func Init(tomlFilepath string, defaultHostName string) (map[string]*dbr.Connecti
return sqlConnections, errormdl.CheckErr2(connectionError)
}
//GetMYSQLConnection -
// GetMYSQLConnection -
func GetMYSQLConnection(connectionName string) (*dbr.Connection, error) {
if errormdl.CheckBool(sqlConnections == nil) {
loggermdl.LogError("GetMYSQLConnection Err : ", errormdl.Wrap("MYSQL_INIT_NOT_DONE"))
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment