From 893c1af1d1e1e90630fcbbcc65ca01246e40135e Mon Sep 17 00:00:00 2001 From: porosnicuadrian Date: Wed, 16 Sep 2020 17:13:54 +0300 Subject: [PATCH] Updated datadbcfg AsMapInterface method --- config/datadbcfg.go | 8 ++++-- config/datadbcfg_test.go | 55 ++++++++++++---------------------------- config/stordbcfg_test.go | 4 +-- utils/consts.go | 3 +++ 4 files changed, 27 insertions(+), 43 deletions(-) diff --git a/config/datadbcfg.go b/config/datadbcfg.go index 8270edfa5..99d8dc225 100644 --- a/config/datadbcfg.go +++ b/config/datadbcfg.go @@ -169,8 +169,12 @@ func (itm *ItemOpt) AsMapInterface() (initialMP map[string]interface{}) { initialMP = map[string]interface{}{ utils.RemoteCfg: itm.Remote, utils.ReplicateCfg: itm.Replicate, - utils.RouteID: itm.RouteID, - utils.APIKey: itm.APIKey, + } + if itm.APIKey != utils.EmptyString { + initialMP[utils.ApiKeyCfg] = itm.APIKey + } + if itm.RouteID != utils.EmptyString { + initialMP[utils.RouteIDCfg] = itm.RouteID } return } diff --git a/config/datadbcfg_test.go b/config/datadbcfg_test.go index b4c8fcafd..7987de592 100644 --- a/config/datadbcfg_test.go +++ b/config/datadbcfg_test.go @@ -403,9 +403,6 @@ func TestDataDbCfgloadFromJsonCfgItems(t *testing.T) { } func TestDataDbCfgAsMapInterface(t *testing.T) { - var dbcfg DataDbCfg - dbcfg.Opts = make(map[string]interface{}) - dbcfg.Items = make(map[string]*ItemOpt) cfgJSONStr := `{ "data_db": { "db_type": "*redis", @@ -421,27 +418,27 @@ func TestDataDbCfgAsMapInterface(t *testing.T) { "remote_conns":[], "replication_conns":[], "items":{ - "*accounts":{"remote":true, "replicate":false}, - "*reverse_destinations": {"remote":false, "replicate":false}, + "*accounts":{"remote":true, "replicate":false, "api_key": "randomVal", "route_id": "randomVal"}, + "*reverse_destinations": {"remote":false, "replicate":false, "api_key": "randomVal", "route_id": "randomVal"}, }, }, }` eMap := map[string]interface{}{ - "db_type": "*redis", - "db_host": "127.0.0.1", - "db_port": 6379, - "db_name": "10", - "db_user": "cgrates", - "db_password": "", - "opts": map[string]interface{}{ - "redis_sentinel": "", - "query_timeout": "10s", + utils.DataDbTypeCfg: "*redis", + utils.DataDbHostCfg: "127.0.0.1", + utils.DataDbPortCfg: 6379, + utils.DataDbNameCfg: "10", + utils.DataDbUserCfg: "cgrates", + utils.DataDbPassCfg: "", + utils.OptsCfg: map[string]interface{}{ + utils.RedisSentinelNameCfg: "", + utils.QueryTimeoutCfg: "10s", }, - "remote_conns": []string{}, - "replication_conns": []string{}, - "items": map[string]interface{}{ - "*accounts": map[string]interface{}{"remote": true, "replicate": false, "ApiKey": "", "RouteID": ""}, - "*reverse_destinations": map[string]interface{}{"remote": false, "replicate": false, "ApiKey": "", "RouteID": ""}, + utils.RemoteConnsCfg: []string{}, + utils.ReplicationConnsCfg: []string{}, + utils.ItemsCfg: map[string]interface{}{ + utils.MetaAccounts: map[string]interface{}{utils.RemoteCfg: true, utils.ReplicateCfg: false, utils.ApiKeyCfg: "randomVal", utils.RouteIDCfg: "randomVal"}, + utils.MetaReverseDestinations: map[string]interface{}{utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.ApiKeyCfg: "randomVal", utils.RouteIDCfg: "randomVal"}, }, } if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(cfgJSONStr); err != nil { @@ -461,24 +458,4 @@ func TestDataDbCfgAsMapInterface(t *testing.T) { rcv[utils.ItemsCfg].(map[string]interface{})[utils.MetaReverseDestinations]) } } - - /*if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(cfgJSONStr); err != nil { - t.Error(err) - } else if rcv := cgrCfg.dataDbCfg.AsMapInterface(); !reflect.DeepEqual(rcv, eMap) { - t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap), utils.ToJSON(rcv)) - } - - */ - - if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { - t.Error(err) - } else if jsnDataDbCfg, err := jsnCfg.DbJsonCfg(DATADB_JSN); err != nil { - t.Error(err) - } else if err = dbcfg.loadFromJsonCfg(jsnDataDbCfg); err != nil { - t.Error(err) - } else if rcv, err := dbcfg.AsMapInterface(); err != nil { - t.Error(err) - } else if !reflect.DeepEqual(eMap, rcv) { - t.Errorf("Expected %+v, recieved %+v", utils.ToJSON(eMap), utils.ToJSON(rcv)) - } } diff --git a/config/stordbcfg_test.go b/config/stordbcfg_test.go index 2ccc353d2..b42afb6b2 100644 --- a/config/stordbcfg_test.go +++ b/config/stordbcfg_test.go @@ -187,8 +187,8 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { "sslmode": "disable", }, "items": map[string]interface{}{ - "session_costs": map[string]interface{}{"remote": false, "replicate": false, "ApiKey": "", "RouteID": ""}, - "cdrs": map[string]interface{}{"remote": false, "replicate": false, "ApiKey": "", "RouteID": ""}, + "session_costs": map[string]interface{}{"remote": false, "replicate": false}, + "cdrs": map[string]interface{}{"remote": false, "replicate": false}, }, } if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { diff --git a/utils/consts.go b/utils/consts.go index 23c1e0b47..a014d72d6 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -1914,6 +1914,8 @@ const ( // ItemOpt const ( + ApiKeyCfg = "api_key" + RouteIDCfg = "route_id" RemoteCfg = "remote" ReplicateCfg = "replicate" TTLCfg = "ttl" @@ -1999,6 +2001,7 @@ const ( RouteSConnsCfg = "routes_conns" AttrSConnsCfg = "attributes_conns" ReplicationConnsCfg = "replication_conns" + RemoteConnsCfg = "remote_conns" DebitIntervalCfg = "debit_interval" StoreSCostsCfg = "store_session_costs" MinCallDurationCfg = "min_call_duration"