mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Covered datadbcfg
This commit is contained in:
committed by
Dan Christian Bogos
parent
b403268d15
commit
9c8384b42e
@@ -124,6 +124,8 @@ func (dbcfg *DataDbCfg) Clone() *DataDbCfg {
|
||||
DataDbName: dbcfg.DataDbName,
|
||||
DataDbUser: dbcfg.DataDbUser,
|
||||
DataDbPass: dbcfg.DataDbPass,
|
||||
RplConns: dbcfg.RplConns,
|
||||
RmtConns: dbcfg.RmtConns,
|
||||
Items: itms,
|
||||
Opts: opts,
|
||||
}
|
||||
@@ -150,7 +152,7 @@ func (dbcfg *DataDbCfg) AsMapInterface() (initialMP map[string]interface{}, err
|
||||
if dbcfg.DataDbPort != "" {
|
||||
var dbPort int
|
||||
if dbPort, err = strconv.Atoi(dbcfg.DataDbPort); err != nil {
|
||||
return
|
||||
return nil, err
|
||||
}
|
||||
initialMP[utils.DataDbPortCfg] = dbPort
|
||||
}
|
||||
|
||||
@@ -77,6 +77,8 @@ func TestDataDbCfgloadFromJsonCfg(t *testing.T) {
|
||||
}
|
||||
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
|
||||
t.Error(err)
|
||||
} else if err = jsnCfg.dataDbCfg.loadFromJsonCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
} else if err = jsnCfg.dataDbCfg.loadFromJsonCfg(jsonCfg); err != nil {
|
||||
t.Error(err)
|
||||
} else {
|
||||
@@ -92,6 +94,28 @@ func TestDataDbCfgloadFromJsonCfg(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestConnsloadFromJsonCfg(t *testing.T) {
|
||||
jsonCfg := &DbJsonCfg{
|
||||
Remote_conns: &[]string{"*internal"},
|
||||
}
|
||||
expectedErrRmt := "Remote connection ID needs to be different than *internal"
|
||||
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
|
||||
t.Error(err)
|
||||
} else if err = jsnCfg.dataDbCfg.loadFromJsonCfg(jsonCfg); err == nil || err.Error() != expectedErrRmt {
|
||||
t.Errorf("Expected %+v, received %+v", expectedErrRmt, err)
|
||||
}
|
||||
|
||||
jsonCfg = &DbJsonCfg{
|
||||
Replication_conns: &[]string{"*internal"},
|
||||
}
|
||||
expectedErrRpl := "Replication connection ID needs to be different than *internal"
|
||||
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
|
||||
t.Error(err)
|
||||
} else if err = jsnCfg.dataDbCfg.loadFromJsonCfg(jsonCfg); err == nil || err.Error() != expectedErrRpl {
|
||||
t.Errorf("Expected %+v, received %+v", expectedErrRpl, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestItemCfgloadFromJson(t *testing.T) {
|
||||
jsonCfg := &ItemOptJson{
|
||||
Remote: utils.BoolPointer(true),
|
||||
@@ -106,7 +130,9 @@ func TestItemCfgloadFromJson(t *testing.T) {
|
||||
RouteID: "randomID",
|
||||
}
|
||||
rcv := new(ItemOpt)
|
||||
if err := rcv.loadFromJsonCfg(jsonCfg); err != nil {
|
||||
if err := rcv.loadFromJsonCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
} else if err = rcv.loadFromJsonCfg(jsonCfg); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(rcv, expected) {
|
||||
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(rcv))
|
||||
@@ -502,3 +528,59 @@ func TestDataDbCfgAsMapInterface(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestDataDBPortStrAtoi(t *testing.T) {
|
||||
cfgStr := `{
|
||||
"data_db": {
|
||||
"db_port": "6o79",
|
||||
}
|
||||
}`
|
||||
expected := "json: cannot unmarshal string into Go struct field DbJsonCfg.Db_port of type int"
|
||||
if _, err := NewCGRConfigFromJsonStringWithDefaults(cfgStr); err == nil || err.Error() != expected {
|
||||
t.Errorf("Expected %+v, received %+v", expected, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCloneDataDB(t *testing.T) {
|
||||
jsonCfg := &DbJsonCfg{
|
||||
Db_type: utils.StringPointer("redis"),
|
||||
Db_host: utils.StringPointer("127.0.0.1"),
|
||||
Db_port: utils.IntPointer(6379),
|
||||
Db_name: utils.StringPointer("10"),
|
||||
Db_user: utils.StringPointer("cgrates"),
|
||||
Db_password: utils.StringPointer("password"),
|
||||
Remote_conns: &[]string{"*conn1"},
|
||||
Replication_conns: &[]string{"*conn1"},
|
||||
Items: &map[string]*ItemOptJson{
|
||||
utils.MetaAccounts: {
|
||||
Replicate: utils.BoolPointer(true),
|
||||
Remote: utils.BoolPointer(true),
|
||||
},
|
||||
utils.MetaReverseDestinations: {
|
||||
Replicate: utils.BoolPointer(true),
|
||||
},
|
||||
utils.MetaDestinations: {
|
||||
Replicate: utils.BoolPointer(false),
|
||||
},
|
||||
},
|
||||
Opts: map[string]interface{}{
|
||||
utils.RedisSentinelNameCfg: "sentinel",
|
||||
},
|
||||
}
|
||||
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
|
||||
t.Error(err)
|
||||
} else if err = jsnCfg.dataDbCfg.loadFromJsonCfg(jsonCfg); err != nil {
|
||||
t.Error(err)
|
||||
} else {
|
||||
rcv := jsnCfg.dataDbCfg.Clone()
|
||||
if !reflect.DeepEqual(rcv.Items[utils.MetaAccounts], jsnCfg.dataDbCfg.Items[utils.MetaAccounts]) {
|
||||
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(rcv.Items[utils.MetaAccounts]),
|
||||
utils.ToJSON(jsnCfg.dataDbCfg.Items[utils.MetaAccounts]))
|
||||
} else if !reflect.DeepEqual(rcv.Opts[utils.RedisSentinelNameCfg], jsnCfg.dataDbCfg.Opts[utils.RedisSentinelNameCfg]) {
|
||||
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(rcv.Opts[utils.RedisSentinelNameCfg]),
|
||||
utils.ToJSON(jsnCfg.dataDbCfg.Opts[utils.RedisSentinelNameCfg]))
|
||||
} else if !reflect.DeepEqual(rcv.RplConns, jsnCfg.dataDbCfg.RplConns) {
|
||||
t.Errorf("Expected %+v \n, received %+v", rcv.RplConns, jsnCfg.dataDbCfg.RplConns)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user