diff --git a/agents/dnsagent.go b/agents/dnsagent.go
index 497a898e5..8d44f8b37 100644
--- a/agents/dnsagent.go
+++ b/agents/dnsagent.go
@@ -53,7 +53,7 @@ func (da *DNSAgent) initDNSServer() (err error) {
})
if strings.HasSuffix(da.cgrCfg.DNSAgentCfg().ListenNet, utils.TLSNoCaps) {
- cert, err := tls.LoadX509KeyPair(da.cgrCfg.TlsCfg().ServerCerificate, da.cgrCfg.TlsCfg().ServerKey)
+ cert, err := tls.LoadX509KeyPair(da.cgrCfg.TLSCfg().ServerCerificate, da.cgrCfg.TLSCfg().ServerKey)
if err != nil {
return err
}
diff --git a/agents/httpagent_it_test.go b/agents/httpagent_it_test.go
index 86cd5b1df..ec75184b9 100644
--- a/agents/httpagent_it_test.go
+++ b/agents/httpagent_it_test.go
@@ -124,12 +124,12 @@ func testHAitHttp(t *testing.T) {
if isTls {
// With Tls
//make http client with tls
- cert, err := tls.LoadX509KeyPair(haCfg.TlsCfg().ClientCerificate, haCfg.TlsCfg().ClientKey)
+ cert, err := tls.LoadX509KeyPair(haCfg.TLSCfg().ClientCerificate, haCfg.TLSCfg().ClientKey)
if err != nil {
t.Error(err)
}
// Load CA cert
- caCert, err := ioutil.ReadFile(haCfg.TlsCfg().CaCertificate)
+ caCert, err := ioutil.ReadFile(haCfg.TLSCfg().CaCertificate)
if err != nil {
t.Error(err)
}
@@ -195,7 +195,7 @@ func testHAitAuthDryRun(t *testing.T) {
httpConst = "https"
}
reqUrl := fmt.Sprintf("%s://%s%s?request_type=OutboundAUTH&CallID=123456&Msisdn=497700056231&Imsi=2343000000000123&Destination=491239440004&MSRN=0102220233444488999&ProfileID=1&AgentID=176&GlobalMSISDN=497700056129&GlobalIMSI=214180000175129&ICCID=8923418450000089629&MCC=234&MNC=10&calltype=callback",
- httpConst, addr, haCfg.HttpAgentCfg()[0].Url)
+ httpConst, addr, haCfg.HTTPAgentCfg()[0].Url)
rply, err := httpC.Get(reqUrl)
if err != nil {
t.Fatal(err)
@@ -245,7 +245,7 @@ func testHAitAuth1001(t *testing.T) {
}
reqUrl := fmt.Sprintf("%s://%s%s?request_type=OutboundAUTH&CallID=123456&Msisdn=%s&Imsi=2343000000000123&Destination=1002&MSRN=0102220233444488999&ProfileID=1&AgentID=176&GlobalMSISDN=497700056129&GlobalIMSI=214180000175129&ICCID=8923418450000089629&MCC=234&MNC=10&calltype=callback",
- httpConst, addr, haCfg.HttpAgentCfg()[0].Url, acnt)
+ httpConst, addr, haCfg.HTTPAgentCfg()[0].Url, acnt)
rply, err := httpC.Get(reqUrl)
if err != nil {
t.Fatal(err)
@@ -272,7 +272,7 @@ func testHAitCDRmtcall(t *testing.T) {
httpConst = "https"
}
reqUrl := fmt.Sprintf("%s://%s%s?request_type=MTCALL_CDR×tamp=2018-08-14%%2012:03:22&call_date=2018-0814%%2012:00:49&transactionid=10000&CDR_ID=123456&carrierid=1&mcc=0&mnc=0&imsi=434180000000000&msisdn=1001&destination=1002&leg=C&leg_duration=185&reseller_charge=11.1605&client_charge=0.0000&user_charge=22.0000&IOT=0&user_balance=10.00&cli=%%2B498702190000&polo=0.0100&ddi_map=N",
- httpConst, addr, haCfg.HttpAgentCfg()[0].Url)
+ httpConst, addr, haCfg.HTTPAgentCfg()[0].Url)
rply, err := httpC.Get(reqUrl)
if err != nil {
t.Fatal(err)
@@ -316,7 +316,7 @@ func testHAitCDRmtcall2(t *testing.T) {
addr = haCfg.ListenCfg().HTTPTLSListen
httpConst = "https"
}
- url := fmt.Sprintf("%s://%s%s", httpConst, addr, haCfg.HttpAgentCfg()[1].Url)
+ url := fmt.Sprintf("%s://%s%s", httpConst, addr, haCfg.HTTPAgentCfg()[1].Url)
req, err := http.NewRequest("POST", url, bytes.NewBuffer([]byte(xmlBody)))
if err != nil {
@@ -351,7 +351,7 @@ func testHAitTextPlain(t *testing.T) {
httpConst = "https"
}
reqUrl := fmt.Sprintf("%s://%s%s?request_type=TextPlainDryRun&CallID=123456&Msisdn=497700056231&Imsi=2343000000000123&Destination=491239440004",
- httpConst, addr, haCfg.HttpAgentCfg()[2].Url)
+ httpConst, addr, haCfg.HTTPAgentCfg()[2].Url)
rply, err := httpC.Get(reqUrl)
if err != nil {
t.Fatal(err)
diff --git a/apier/v1/accounts_it_test.go b/apier/v1/accounts_it_test.go
index d41cc1f55..065531baf 100644
--- a/apier/v1/accounts_it_test.go
+++ b/apier/v1/accounts_it_test.go
@@ -271,7 +271,7 @@ func testAccITSetBalanceTimingIds(t *testing.T) {
// check only where balance ID is testBalanceID (SetBalance function call was made with this Balance ID)
if value.ID == "testBalanceID" {
if !reflect.DeepEqual(eOut, value.Timings) {
- t.Errorf("\nExpecting %+v, \nreceived: %+v", utils.ToJSON(eOut), utils.ToJSON(value.Timings))
+ t.Errorf("Expecting %+v, \nreceived: %+v", utils.ToJSON(eOut), utils.ToJSON(value.Timings))
}
break
}
diff --git a/apier/v1/api_interfaces.go b/apier/v1/api_interfaces.go
index 3ba023f9b..84c1a4e54 100644
--- a/apier/v1/api_interfaces.go
+++ b/apier/v1/api_interfaces.go
@@ -168,7 +168,7 @@ type RALsV1Interface interface {
type ConfigSv1Interface interface {
GetConfig(section *config.SectionWithOpts, reply *map[string]interface{}) (err error)
- ReloadConfig(section *config.ConfigReloadArgs, reply *string) (err error)
+ ReloadConfig(section *config.ReloadArgs, reply *string) (err error)
SetConfig(args *config.SetConfigArgs, reply *string) (err error)
SetConfigFromJSON(args *config.SetConfigFromJSONArgs, reply *string) (err error)
GetConfigAsJSON(args *config.SectionWithOpts, reply *string) (err error)
diff --git a/apier/v1/config.go b/apier/v1/config.go
index 40ed4826e..3c33b71f6 100644
--- a/apier/v1/config.go
+++ b/apier/v1/config.go
@@ -39,7 +39,7 @@ func (cSv1 *ConfigSv1) GetConfig(section *config.SectionWithOpts, reply *map[str
}
// ReloadConfig reloads the configuration
-func (cSv1 *ConfigSv1) ReloadConfig(args *config.ConfigReloadArgs, reply *string) (err error) {
+func (cSv1 *ConfigSv1) ReloadConfig(args *config.ReloadArgs, reply *string) (err error) {
return cSv1.cfg.V1ReloadConfig(args, reply)
}
diff --git a/apier/v1/config_it_test.go b/apier/v1/config_it_test.go
index aab09feed..af3fc375c 100644
--- a/apier/v1/config_it_test.go
+++ b/apier/v1/config_it_test.go
@@ -374,7 +374,7 @@ func testConfigSSetConfigFromJSONCoreS(t *testing.T) {
func testConfigSReloadConfigCoreS(t *testing.T) {
cfgStr := `{"cores":{"caps":2,"caps_stats_interval":"0","caps_strategy":"*busy","shutdown_timeout":"1s"}}`
var reply string
- if err := configRPC.Call(utils.ConfigSv1ReloadConfig, &config.ConfigReloadArgs{
+ if err := configRPC.Call(utils.ConfigSv1ReloadConfig, &config.ReloadArgs{
Tenant: "cgrates.org",
Path: path.Join(*dataDir, "conf", "samples", "caps_busy"),
Section: config.CoreSCfgJson,
diff --git a/apier/v1/dispatcher.go b/apier/v1/dispatcher.go
index 19b0e2d26..ee4e902ae 100755
--- a/apier/v1/dispatcher.go
+++ b/apier/v1/dispatcher.go
@@ -831,7 +831,7 @@ func (dS *DispatcherConfigSv1) GetConfig(args *config.SectionWithOpts, reply *ma
return dS.dS.ConfigSv1GetConfig(args, reply)
}
-func (dS *DispatcherConfigSv1) ReloadConfig(args *config.ConfigReloadArgs, reply *string) (err error) {
+func (dS *DispatcherConfigSv1) ReloadConfig(args *config.ReloadArgs, reply *string) (err error) {
return dS.dS.ConfigSv1ReloadConfig(args, reply)
}
diff --git a/cmd/cgr-engine/cgr-engine.go b/cmd/cgr-engine/cgr-engine.go
index c26c3294a..faab8742e 100644
--- a/cmd/cgr-engine/cgr-engine.go
+++ b/cmd/cgr-engine/cgr-engine.go
@@ -200,41 +200,41 @@ func startRPC(server *cores.Server, internalRaterChan,
if (len(cfg.ListenCfg().RPCGOBTLSListen) != 0 ||
len(cfg.ListenCfg().RPCJSONTLSListen) != 0 ||
len(cfg.ListenCfg().HTTPTLSListen) != 0) &&
- (len(cfg.TlsCfg().ServerCerificate) == 0 ||
- len(cfg.TlsCfg().ServerKey) == 0) {
+ (len(cfg.TLSCfg().ServerCerificate) == 0 ||
+ len(cfg.TLSCfg().ServerKey) == 0) {
utils.Logger.Warning("WARNING: missing TLS certificate/key file!")
return
}
if cfg.ListenCfg().RPCGOBTLSListen != "" {
go server.ServeGOBTLS(
cfg.ListenCfg().RPCGOBTLSListen,
- cfg.TlsCfg().ServerCerificate,
- cfg.TlsCfg().ServerKey,
- cfg.TlsCfg().CaCertificate,
- cfg.TlsCfg().ServerPolicy,
- cfg.TlsCfg().ServerName,
+ cfg.TLSCfg().ServerCerificate,
+ cfg.TLSCfg().ServerKey,
+ cfg.TLSCfg().CaCertificate,
+ cfg.TLSCfg().ServerPolicy,
+ cfg.TLSCfg().ServerName,
exitChan,
)
}
if cfg.ListenCfg().RPCJSONTLSListen != "" {
go server.ServeJSONTLS(
cfg.ListenCfg().RPCJSONTLSListen,
- cfg.TlsCfg().ServerCerificate,
- cfg.TlsCfg().ServerKey,
- cfg.TlsCfg().CaCertificate,
- cfg.TlsCfg().ServerPolicy,
- cfg.TlsCfg().ServerName,
+ cfg.TLSCfg().ServerCerificate,
+ cfg.TLSCfg().ServerKey,
+ cfg.TLSCfg().CaCertificate,
+ cfg.TLSCfg().ServerPolicy,
+ cfg.TLSCfg().ServerName,
exitChan,
)
}
if cfg.ListenCfg().HTTPTLSListen != "" {
go server.ServeHTTPTLS(
cfg.ListenCfg().HTTPTLSListen,
- cfg.TlsCfg().ServerCerificate,
- cfg.TlsCfg().ServerKey,
- cfg.TlsCfg().CaCertificate,
- cfg.TlsCfg().ServerPolicy,
- cfg.TlsCfg().ServerName,
+ cfg.TLSCfg().ServerCerificate,
+ cfg.TLSCfg().ServerKey,
+ cfg.TLSCfg().CaCertificate,
+ cfg.TLSCfg().ServerPolicy,
+ cfg.TLSCfg().ServerName,
cfg.HTTPCfg().HTTPJsonRPCURL,
cfg.HTTPCfg().HTTPWSURL,
cfg.HTTPCfg().HTTPUseBasicAuth,
@@ -319,7 +319,7 @@ func singnalHandler(stopChan <-chan struct{}, exitChan chan<- struct{}) {
go func() {
var reply string
if err := config.CgrConfig().V1ReloadConfig(
- &config.ConfigReloadArgs{
+ &config.ReloadArgs{
Section: utils.EmptyString,
Path: config.CgrConfig().ConfigPath, // use the same path
}, &reply); err != nil {
diff --git a/config/analyzerscfg_test.go b/config/analyzerscfg_test.go
index 02c6b81fd..f8852f04d 100644
--- a/config/analyzerscfg_test.go
+++ b/config/analyzerscfg_test.go
@@ -114,7 +114,7 @@ func TestAnalyzerSCfgClone(t *testing.T) {
}
rcv := cS.Clone()
if !reflect.DeepEqual(cS, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(cS), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(cS), utils.ToJSON(rcv))
}
if rcv.DBPath = ""; cS.DBPath != "/var/spool/cgrates/analyzers" {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/apibancfg_test.go b/config/apibancfg_test.go
index 84fc5be13..55c1ee8c5 100644
--- a/config/apibancfg_test.go
+++ b/config/apibancfg_test.go
@@ -78,7 +78,7 @@ func TestAPIBanCfgAsMapInterface(t *testing.T) {
} else if err = alS.loadFromJSONCfg(jsnalS); err != nil {
t.Error(err)
} else if rcv := alS.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
@@ -89,7 +89,7 @@ func TestAPIBanCfgClone(t *testing.T) {
}
rcv := ban.Clone()
if !reflect.DeepEqual(ban, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
}
if rcv.Keys[0] = ""; ban.Keys[0] != "key1" {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/apiercfg_test.go b/config/apiercfg_test.go
index ad81f9ba5..77b7353c9 100644
--- a/config/apiercfg_test.go
+++ b/config/apiercfg_test.go
@@ -103,7 +103,7 @@ func TestApierCfgClone(t *testing.T) {
}
rcv := sa.Clone()
if !reflect.DeepEqual(sa, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(sa), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(sa), utils.ToJSON(rcv))
}
if rcv.CachesConns[1] = ""; sa.CachesConns[1] != "*conn1" {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/attributescfg.go b/config/attributescfg.go
index ffddae436..0153eff75 100644
--- a/config/attributescfg.go
+++ b/config/attributescfg.go
@@ -34,7 +34,7 @@ type AttributeSCfg struct {
NestedFields bool
}
-func (alS *AttributeSCfg) loadFromJsonCfg(jsnCfg *AttributeSJsonCfg) (err error) {
+func (alS *AttributeSCfg) loadFromJSONCfg(jsnCfg *AttributeSJsonCfg) (err error) {
if jsnCfg == nil {
return
}
@@ -45,10 +45,9 @@ func (alS *AttributeSCfg) loadFromJsonCfg(jsnCfg *AttributeSJsonCfg) (err error)
alS.StatSConns = make([]string, len(*jsnCfg.Stats_conns))
for idx, connID := range *jsnCfg.Stats_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ alS.StatSConns[idx] = connID
if connID == utils.MetaInternal {
alS.StatSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStatS)
- } else {
- alS.StatSConns[idx] = connID
}
}
}
@@ -56,10 +55,9 @@ func (alS *AttributeSCfg) loadFromJsonCfg(jsnCfg *AttributeSJsonCfg) (err error)
alS.ResourceSConns = make([]string, len(*jsnCfg.Resources_conns))
for idx, connID := range *jsnCfg.Resources_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ alS.ResourceSConns[idx] = connID
if connID == utils.MetaInternal {
alS.ResourceSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)
- } else {
- alS.ResourceSConns[idx] = connID
}
}
}
@@ -67,10 +65,9 @@ func (alS *AttributeSCfg) loadFromJsonCfg(jsnCfg *AttributeSJsonCfg) (err error)
alS.ApierSConns = make([]string, len(*jsnCfg.Apiers_conns))
for idx, connID := range *jsnCfg.Apiers_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ alS.ApierSConns[idx] = connID
if connID == utils.MetaInternal {
alS.ApierSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier)
- } else {
- alS.ApierSConns[idx] = connID
}
}
}
@@ -107,12 +104,10 @@ func (alS *AttributeSCfg) loadFromJsonCfg(jsnCfg *AttributeSJsonCfg) (err error)
return
}
+// AsMapInterface returns the config as a map[string]interface{}
func (alS *AttributeSCfg) AsMapInterface() (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: alS.Enabled,
- utils.StatSConnsCfg: alS.StatSConns,
- utils.ResourceSConnsCfg: alS.ResourceSConns,
- utils.ApierSConnsCfg: alS.ApierSConns,
utils.IndexedSelectsCfg: alS.IndexedSelects,
utils.ProcessRunsCfg: alS.ProcessRuns,
utils.NestedFieldsCfg: alS.NestedFields,
@@ -138,5 +133,87 @@ func (alS *AttributeSCfg) AsMapInterface() (initialMP map[string]interface{}) {
}
initialMP[utils.SuffixIndexedFieldsCfg] = suffixIndexedFields
}
+ if alS.StatSConns != nil {
+ statSConns := make([]string, len(alS.StatSConns))
+ for i, item := range alS.StatSConns {
+ statSConns[i] = item
+ if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStatS) {
+ statSConns[i] = utils.MetaInternal
+ }
+ }
+ initialMP[utils.StatSConnsCfg] = statSConns
+ }
+
+ if alS.ResourceSConns != nil {
+ resourceSConns := make([]string, len(alS.ResourceSConns))
+ for i, item := range alS.ResourceSConns {
+ resourceSConns[i] = item
+ if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources) {
+ resourceSConns[i] = utils.MetaInternal
+ }
+ }
+ initialMP[utils.ResourceSConnsCfg] = resourceSConns
+ }
+ if alS.ApierSConns != nil {
+ apierSConns := make([]string, len(alS.ApierSConns))
+ for i, item := range alS.ApierSConns {
+ apierSConns[i] = item
+ if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier) {
+ apierSConns[i] = utils.MetaInternal
+ }
+ }
+ initialMP[utils.ApierSConnsCfg] = apierSConns
+ }
+ return
+}
+
+// Clone returns a deep copy of AttributeSCfg
+func (alS AttributeSCfg) Clone() (cln *AttributeSCfg) {
+ cln = &AttributeSCfg{
+ Enabled: alS.Enabled,
+ IndexedSelects: alS.IndexedSelects,
+ NestedFields: alS.NestedFields,
+ ProcessRuns: alS.ProcessRuns,
+ }
+ if alS.ResourceSConns != nil {
+ cln.ResourceSConns = make([]string, len(alS.ResourceSConns))
+ for i, con := range alS.ResourceSConns {
+ cln.ResourceSConns[i] = con
+ }
+ }
+ if alS.StatSConns != nil {
+ cln.StatSConns = make([]string, len(alS.StatSConns))
+ for i, con := range alS.StatSConns {
+ cln.StatSConns[i] = con
+ }
+ }
+ if alS.ApierSConns != nil {
+ cln.ApierSConns = make([]string, len(alS.ApierSConns))
+ for i, con := range alS.ApierSConns {
+ cln.ApierSConns[i] = con
+ }
+ }
+
+ if alS.StringIndexedFields != nil {
+ idx := make([]string, len(*alS.StringIndexedFields))
+ for i, dx := range *alS.StringIndexedFields {
+ idx[i] = dx
+ }
+ cln.StringIndexedFields = &idx
+ }
+ if alS.PrefixIndexedFields != nil {
+ idx := make([]string, len(*alS.PrefixIndexedFields))
+ for i, dx := range *alS.PrefixIndexedFields {
+ idx[i] = dx
+ }
+ cln.PrefixIndexedFields = &idx
+ }
+ if alS.SuffixIndexedFields != nil {
+ idx := make([]string, len(*alS.SuffixIndexedFields))
+ for i, dx := range *alS.SuffixIndexedFields {
+ idx[i] = dx
+ }
+ cln.SuffixIndexedFields = &idx
+ }
return
}
diff --git a/config/attributescfg_test.go b/config/attributescfg_test.go
index f9be4d088..c04d311d7 100644
--- a/config/attributescfg_test.go
+++ b/config/attributescfg_test.go
@@ -51,7 +51,7 @@ func TestAttributeSCfgloadFromJsonCfg(t *testing.T) {
}
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsnCfg.attributeSCfg.loadFromJsonCfg(jsonCfg); err != nil {
+ } else if err = jsnCfg.attributeSCfg.loadFromJSONCfg(jsonCfg); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, jsnCfg.attributeSCfg) {
t.Errorf("Expected %+v, received %+v", utils.ToJSON(expected), utils.ToJSON(jsnCfg.attributeSCfg))
@@ -61,7 +61,10 @@ func TestAttributeSCfgloadFromJsonCfg(t *testing.T) {
func TestAttributeSCfgAsMapInterface(t *testing.T) {
cfgJSONStr := `{
"attributes": {
- "enabled": true,
+ "enabled": true,
+ "stats_conns": ["*internal"],
+ "resources_conns": ["*internal"],
+ "apiers_conns": ["*internal"],
"prefix_indexed_fields": ["*req.index1","*req.index2"],
"string_indexed_fields": ["*req.index1"],
"process_runs": 3,
@@ -69,9 +72,9 @@ func TestAttributeSCfgAsMapInterface(t *testing.T) {
}`
eMap := map[string]interface{}{
utils.EnabledCfg: true,
- utils.StatSConnsCfg: []string{},
- utils.ResourceSConnsCfg: []string{},
- utils.ApierSConnsCfg: []string{},
+ utils.StatSConnsCfg: []string{utils.MetaInternal},
+ utils.ResourceSConnsCfg: []string{utils.MetaInternal},
+ utils.ApierSConnsCfg: []string{utils.MetaInternal},
utils.StringIndexedFieldsCfg: []string{"*req.index1"},
utils.PrefixIndexedFieldsCfg: []string{"*req.index1", "*req.index2"},
utils.ProcessRunsCfg: 3,
@@ -82,7 +85,7 @@ func TestAttributeSCfgAsMapInterface(t *testing.T) {
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
t.Error(err)
} else if rcv := cgrCfg.attributeSCfg.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) {
- t.Errorf("\nExpected: %+v\n Received: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\n Received: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
@@ -136,3 +139,40 @@ func TestAttributeSCfgAsMapInterface3(t *testing.T) {
t.Errorf("Expected %+v, receieved %+v", expectedMap, newMap)
}
}
+
+func TestAttributeSCfgClone(t *testing.T) {
+ ban := &AttributeSCfg{
+ Enabled: true,
+ ApierSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier), "*conn1"},
+ StatSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats), "*conn1"},
+ ResourceSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources), "*conn1"},
+ IndexedSelects: false,
+ StringIndexedFields: &[]string{"*req.index1"},
+ PrefixIndexedFields: &[]string{"*req.index1", "*req.index2"},
+ SuffixIndexedFields: &[]string{"*req.index1"},
+ ProcessRuns: 1,
+ NestedFields: true,
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+ if rcv.ApierSConns[1] = ""; ban.ApierSConns[1] != "*conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if rcv.StatSConns[1] = ""; ban.StatSConns[1] != "*conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if rcv.ResourceSConns[1] = ""; ban.ResourceSConns[1] != "*conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.StringIndexedFields)[0] = ""; (*ban.StringIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.PrefixIndexedFields)[0] = ""; (*ban.PrefixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.SuffixIndexedFields)[0] = ""; (*ban.SuffixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+}
diff --git a/config/cachecfg_test.go b/config/cachecfg_test.go
index be09d86f8..2fc6c62b5 100644
--- a/config/cachecfg_test.go
+++ b/config/cachecfg_test.go
@@ -225,7 +225,7 @@ func TestCacheCfgClone(t *testing.T) {
}
rcv := cs.Clone()
if !reflect.DeepEqual(cs, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(cs), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(cs), utils.ToJSON(rcv))
}
if rcv.Partitions[utils.MetaDestinations].Limit = 0; cs.Partitions[utils.MetaDestinations].Limit != 10 {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/chargerscfg.go b/config/chargerscfg.go
index 9d5f4826e..87c505651 100644
--- a/config/chargerscfg.go
+++ b/config/chargerscfg.go
@@ -19,8 +19,6 @@ along with this program. If not, see
package config
import (
- "strings"
-
"github.com/cgrates/cgrates/utils"
)
@@ -35,7 +33,7 @@ type ChargerSCfg struct {
NestedFields bool
}
-func (cS *ChargerSCfg) loadFromJsonCfg(jsnCfg *ChargerSJsonCfg) (err error) {
+func (cS *ChargerSCfg) loadFromJSONCfg(jsnCfg *ChargerSJsonCfg) (err error) {
if jsnCfg == nil {
return
}
@@ -49,10 +47,9 @@ func (cS *ChargerSCfg) loadFromJsonCfg(jsnCfg *ChargerSJsonCfg) (err error) {
cS.AttributeSConns = make([]string, len(*jsnCfg.Attributes_conns))
for idx, attrConn := range *jsnCfg.Attributes_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ cS.AttributeSConns[idx] = attrConn
if attrConn == utils.MetaInternal {
cS.AttributeSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)
- } else {
- cS.AttributeSConns[idx] = attrConn
}
}
}
@@ -83,6 +80,7 @@ func (cS *ChargerSCfg) loadFromJsonCfg(jsnCfg *ChargerSJsonCfg) (err error) {
return
}
+// AsMapInterface returns the config as a map[string]interface{}
func (cS *ChargerSCfg) AsMapInterface() (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: cS.Enabled,
@@ -92,10 +90,9 @@ func (cS *ChargerSCfg) AsMapInterface() (initialMP map[string]interface{}) {
if cS.AttributeSConns != nil {
attributeSConns := make([]string, len(cS.AttributeSConns))
for i, item := range cS.AttributeSConns {
+ attributeSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes) {
- attributeSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaAttributes)
- } else {
- attributeSConns[i] = item
+ attributeSConns[i] = utils.MetaInternal
}
}
initialMP[utils.AttributeSConnsCfg] = attributeSConns
@@ -123,3 +120,41 @@ func (cS *ChargerSCfg) AsMapInterface() (initialMP map[string]interface{}) {
}
return
}
+
+// Clone returns a deep copy of ChargerSCfg
+func (cS ChargerSCfg) Clone() (cln *ChargerSCfg) {
+ cln = &ChargerSCfg{
+ Enabled: cS.Enabled,
+ IndexedSelects: cS.IndexedSelects,
+ NestedFields: cS.NestedFields,
+ }
+ if cS.AttributeSConns != nil {
+ cln.AttributeSConns = make([]string, len(cS.AttributeSConns))
+ for i, con := range cS.AttributeSConns {
+ cln.AttributeSConns[i] = con
+ }
+ }
+
+ if cS.StringIndexedFields != nil {
+ idx := make([]string, len(*cS.StringIndexedFields))
+ for i, dx := range *cS.StringIndexedFields {
+ idx[i] = dx
+ }
+ cln.StringIndexedFields = &idx
+ }
+ if cS.PrefixIndexedFields != nil {
+ idx := make([]string, len(*cS.PrefixIndexedFields))
+ for i, dx := range *cS.PrefixIndexedFields {
+ idx[i] = dx
+ }
+ cln.PrefixIndexedFields = &idx
+ }
+ if cS.SuffixIndexedFields != nil {
+ idx := make([]string, len(*cS.SuffixIndexedFields))
+ for i, dx := range *cS.SuffixIndexedFields {
+ idx[i] = dx
+ }
+ cln.SuffixIndexedFields = &idx
+ }
+ return
+}
diff --git a/config/chargerscfg_test.go b/config/chargerscfg_test.go
index a01fb941a..44d544688 100644
--- a/config/chargerscfg_test.go
+++ b/config/chargerscfg_test.go
@@ -45,7 +45,7 @@ func TestChargerSCfgloadFromJsonCfg(t *testing.T) {
}
if jsncfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsncfg.chargerSCfg.loadFromJsonCfg(jsonCfg); err != nil {
+ } else if err = jsncfg.chargerSCfg.loadFromJSONCfg(jsonCfg); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, jsncfg.chargerSCfg) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(jsncfg.chargerSCfg))
@@ -104,3 +104,31 @@ func TestChargerSCfgAsMapInterface1(t *testing.T) {
t.Errorf("Expected %+v, recieved %+v", eMap, rcv)
}
}
+
+func TestChargerSCfgClone(t *testing.T) {
+ ban := &ChargerSCfg{
+ Enabled: true,
+ IndexedSelects: true,
+ AttributeSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes), "*conn1"},
+ StringIndexedFields: &[]string{"*req.Field1"},
+ PrefixIndexedFields: &[]string{"*req.Field1", "*req.Field2"},
+ SuffixIndexedFields: &[]string{"*req.Field1", "*req.Field2"},
+ NestedFields: true,
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+ if rcv.AttributeSConns[1] = ""; ban.AttributeSConns[1] != "*conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.StringIndexedFields)[0] = ""; (*ban.StringIndexedFields)[0] != "*req.Field1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.PrefixIndexedFields)[0] = ""; (*ban.PrefixIndexedFields)[0] != "*req.Field1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.SuffixIndexedFields)[0] = ""; (*ban.SuffixIndexedFields)[0] != "*req.Field1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+}
diff --git a/config/config.go b/config/config.go
index 25b126273..7b7595a63 100644
--- a/config/config.go
+++ b/config/config.go
@@ -389,11 +389,11 @@ func (cfg *CGRConfig) loadFromJSONCfg(jsnCfg *CgrJsonCfg) (err error) {
cfg.loadCdrsCfg, cfg.loadSessionSCfg,
cfg.loadFreeswitchAgentCfg, cfg.loadKamAgentCfg,
cfg.loadAsteriskAgentCfg, cfg.loadDiameterAgentCfg, cfg.loadRadiusAgentCfg,
- cfg.loadDNSAgentCfg, cfg.loadHttpAgentCfg, cfg.loadAttributeSCfg,
+ cfg.loadDNSAgentCfg, cfg.loadHTTPAgentCfg, cfg.loadAttributeSCfg,
cfg.loadChargerSCfg, cfg.loadResourceSCfg, cfg.loadStatSCfg,
cfg.loadThresholdSCfg, cfg.loadRouteSCfg, cfg.loadLoaderSCfg,
cfg.loadMailerCfg, cfg.loadSureTaxCfg, cfg.loadDispatcherSCfg,
- cfg.loadLoaderCgrCfg, cfg.loadMigratorCgrCfg, cfg.loadTlsCgrCfg,
+ cfg.loadLoaderCgrCfg, cfg.loadMigratorCgrCfg, cfg.loadTLSCgrCfg,
cfg.loadAnalyzerCgrCfg, cfg.loadApierCfg, cfg.loadErsCfg, cfg.loadEesCfg,
cfg.loadRateSCfg, cfg.loadSIPAgentCfg, cfg.loadDispatcherHCfg,
cfg.loadConfigSCfg, cfg.loadAPIBanCgrCfg, cfg.loadCoreSCfg} {
@@ -579,16 +579,16 @@ func (cfg *CGRConfig) loadDNSAgentCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnDNSCfg, err = jsnCfg.DNSAgentJsonCfg(); err != nil {
return
}
- return cfg.dnsAgentCfg.loadFromJsonCfg(jsnDNSCfg, cfg.generalCfg.RSRSep)
+ return cfg.dnsAgentCfg.loadFromJSONCfg(jsnDNSCfg, cfg.generalCfg.RSRSep)
}
-// loadHttpAgentCfg loads the HttpAgent section of the configuration
-func (cfg *CGRConfig) loadHttpAgentCfg(jsnCfg *CgrJsonCfg) (err error) {
- var jsnHttpAgntCfg *[]*HttpAgentJsonCfg
- if jsnHttpAgntCfg, err = jsnCfg.HttpAgentJsonCfg(); err != nil {
+// loadHTTPAgentCfg loads the HttpAgent section of the configuration
+func (cfg *CGRConfig) loadHTTPAgentCfg(jsnCfg *CgrJsonCfg) (err error) {
+ var jsnHTTPAgntCfg *[]*HttpAgentJsonCfg
+ if jsnHTTPAgntCfg, err = jsnCfg.HttpAgentJsonCfg(); err != nil {
return
}
- return cfg.httpAgentCfg.loadFromJsonCfg(jsnHttpAgntCfg, cfg.generalCfg.RSRSep)
+ return cfg.httpAgentCfg.loadFromJsonCfg(jsnHTTPAgntCfg, cfg.generalCfg.RSRSep)
}
// loadAttributeSCfg loads the AttributeS section of the configuration
@@ -597,7 +597,7 @@ func (cfg *CGRConfig) loadAttributeSCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnAttributeSCfg, err = jsnCfg.AttributeServJsonCfg(); err != nil {
return
}
- return cfg.attributeSCfg.loadFromJsonCfg(jsnAttributeSCfg)
+ return cfg.attributeSCfg.loadFromJSONCfg(jsnAttributeSCfg)
}
// loadChargerSCfg loads the ChargerS section of the configuration
@@ -606,7 +606,7 @@ func (cfg *CGRConfig) loadChargerSCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnChargerSCfg, err = jsnCfg.ChargerServJsonCfg(); err != nil {
return
}
- return cfg.chargerSCfg.loadFromJsonCfg(jsnChargerSCfg)
+ return cfg.chargerSCfg.loadFromJSONCfg(jsnChargerSCfg)
}
// loadResourceSCfg loads the ResourceS section of the configuration
@@ -615,7 +615,7 @@ func (cfg *CGRConfig) loadResourceSCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnRLSCfg, err = jsnCfg.ResourceSJsonCfg(); err != nil {
return
}
- return cfg.resourceSCfg.loadFromJsonCfg(jsnRLSCfg)
+ return cfg.resourceSCfg.loadFromJSONCfg(jsnRLSCfg)
}
// loadStatSCfg loads the StatS section of the configuration
@@ -624,7 +624,7 @@ func (cfg *CGRConfig) loadStatSCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnStatSCfg, err = jsnCfg.StatSJsonCfg(); err != nil {
return
}
- return cfg.statsCfg.loadFromJsonCfg(jsnStatSCfg)
+ return cfg.statsCfg.loadFromJSONCfg(jsnStatSCfg)
}
// loadThresholdSCfg loads the ThresholdS section of the configuration
@@ -633,7 +633,7 @@ func (cfg *CGRConfig) loadThresholdSCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnThresholdSCfg, err = jsnCfg.ThresholdSJsonCfg(); err != nil {
return
}
- return cfg.thresholdSCfg.loadFromJsonCfg(jsnThresholdSCfg)
+ return cfg.thresholdSCfg.loadFromJSONCfg(jsnThresholdSCfg)
}
// loadRouteSCfg loads the RouteS section of the configuration
@@ -642,7 +642,7 @@ func (cfg *CGRConfig) loadRouteSCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnRouteSCfg, err = jsnCfg.RouteSJsonCfg(); err != nil {
return
}
- return cfg.routeSCfg.loadFromJsonCfg(jsnRouteSCfg)
+ return cfg.routeSCfg.loadFromJSONCfg(jsnRouteSCfg)
}
// loadLoaderSCfg loads the LoaderS section of the configuration
@@ -679,7 +679,7 @@ func (cfg *CGRConfig) loadSureTaxCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnSureTaxCfg, err = jsnCfg.SureTaxJsonCfg(); err != nil {
return
}
- return cfg.sureTaxCfg.loadFromJsonCfg(jsnSureTaxCfg)
+ return cfg.sureTaxCfg.loadFromJSONCfg(jsnSureTaxCfg)
}
// loadDispatcherSCfg loads the DispatcherS section of the configuration
@@ -688,7 +688,7 @@ func (cfg *CGRConfig) loadDispatcherSCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnDispatcherSCfg, err = jsnCfg.DispatcherSJsonCfg(); err != nil {
return
}
- return cfg.dispatcherSCfg.loadFromJsonCfg(jsnDispatcherSCfg)
+ return cfg.dispatcherSCfg.loadFromJSONCfg(jsnDispatcherSCfg)
}
// loadDispatcherHCfg loads the DispatcherH section of the configuration
@@ -697,7 +697,7 @@ func (cfg *CGRConfig) loadDispatcherHCfg(jsnCfg *CgrJsonCfg) (err error) {
if jsnDispatcherHCfg, err = jsnCfg.DispatcherHJsonCfg(); err != nil {
return
}
- return cfg.dispatcherHCfg.loadFromJsonCfg(jsnDispatcherHCfg)
+ return cfg.dispatcherHCfg.loadFromJSONCfg(jsnDispatcherHCfg)
}
// loadLoaderCgrCfg loads the Loader section of the configuration
@@ -718,13 +718,13 @@ func (cfg *CGRConfig) loadMigratorCgrCfg(jsnCfg *CgrJsonCfg) (err error) {
return cfg.migratorCgrCfg.loadFromJSONCfg(jsnMigratorCgrCfg)
}
-// loadTlsCgrCfg loads the Tls section of the configuration
-func (cfg *CGRConfig) loadTlsCgrCfg(jsnCfg *CgrJsonCfg) (err error) {
- var jsnTlsCgrCfg *TlsJsonCfg
- if jsnTlsCgrCfg, err = jsnCfg.TlsCfgJson(); err != nil {
+// loadTLSCgrCfg loads the Tls section of the configuration
+func (cfg *CGRConfig) loadTLSCgrCfg(jsnCfg *CgrJsonCfg) (err error) {
+ var jsnTLSCgrCfg *TlsJsonCfg
+ if jsnTLSCgrCfg, err = jsnCfg.TlsCfgJson(); err != nil {
return
}
- return cfg.tlsCfg.loadFromJsonCfg(jsnTlsCgrCfg)
+ return cfg.tlsCfg.loadFromJsonCfg(jsnTLSCgrCfg)
}
// loadAnalyzerCgrCfg loads the Analyzer section of the configuration
@@ -807,7 +807,7 @@ func (cfg *CGRConfig) loadTemplateSCfg(jsnCfg *CgrJsonCfg) (err error) {
}
if jsnTemplateCfg != nil {
for k, val := range jsnTemplateCfg {
- if cfg.templates[k], err = FCTemplatesFromFCTemplatesJsonCfg(val, cfg.generalCfg.RSRSep); err != nil {
+ if cfg.templates[k], err = FCTemplatesFromFCTemplatesJSONCfg(val, cfg.generalCfg.RSRSep); err != nil {
return
}
}
@@ -921,8 +921,8 @@ func (cfg *CGRConfig) AsteriskAgentCfg() *AsteriskAgentCfg {
return cfg.asteriskAgentCfg
}
-// HttpAgentCfg returns the config for HttpAgent
-func (cfg *CGRConfig) HttpAgentCfg() HttpAgentCfgs {
+// HTTPAgentCfg returns the config for HttpAgent
+func (cfg *CGRConfig) HTTPAgentCfg() HttpAgentCfgs {
cfg.lks[HttpAgentJson].Lock()
defer cfg.lks[HttpAgentJson].Unlock()
return cfg.httpAgentCfg
@@ -1005,8 +1005,8 @@ func (cfg *CGRConfig) GeneralCfg() *GeneralCfg {
return cfg.generalCfg
}
-// TlsCfg returns the config for Tls
-func (cfg *CGRConfig) TlsCfg() *TlsCfg {
+// TLSCfg returns the config for Tls
+func (cfg *CGRConfig) TLSCfg() *TlsCfg {
cfg.lks[TlsCfgJson].Lock()
defer cfg.lks[TlsCfgJson].Unlock()
return cfg.tlsCfg
@@ -1186,7 +1186,7 @@ func (cfg *CGRConfig) getLoadFunctions() map[string]func(*CgrJsonCfg) error {
DATADB_JSN: cfg.loadDataDBCfg,
STORDB_JSN: cfg.loadStorDBCfg,
LISTEN_JSN: cfg.loadListenCfg,
- TlsCfgJson: cfg.loadTlsCgrCfg,
+ TlsCfgJson: cfg.loadTLSCgrCfg,
HTTP_JSN: cfg.loadHTTPCfg,
SCHEDULER_JSN: cfg.loadSchedulerCfg,
CACHE_JSN: cfg.loadCacheCfg,
@@ -1201,7 +1201,7 @@ func (cfg *CGRConfig) getLoadFunctions() map[string]func(*CgrJsonCfg) error {
KamailioAgentJSN: cfg.loadKamAgentCfg,
DA_JSN: cfg.loadDiameterAgentCfg,
RA_JSN: cfg.loadRadiusAgentCfg,
- HttpAgentJson: cfg.loadHttpAgentCfg,
+ HttpAgentJson: cfg.loadHTTPAgentCfg,
DNSAgentJson: cfg.loadDNSAgentCfg,
ATTRIBUTE_JSN: cfg.loadAttributeSCfg,
ChargerSCfgJson: cfg.loadChargerSCfg,
@@ -1535,8 +1535,8 @@ func (cfg *CGRConfig) AsMapInterface(separator string) (mp map[string]interface{
}, nil
}
-// ConfigReloadArgs the API params for V1ReloadConfig
-type ConfigReloadArgs struct {
+// ReloadArgs the API params for V1ReloadConfig
+type ReloadArgs struct {
Opts map[string]interface{}
Tenant string
Path string
@@ -1544,7 +1544,7 @@ type ConfigReloadArgs struct {
}
// V1ReloadConfig reloads the configuration
-func (cfg *CGRConfig) V1ReloadConfig(args *ConfigReloadArgs, reply *string) (err error) {
+func (cfg *CGRConfig) V1ReloadConfig(args *ReloadArgs, reply *string) (err error) {
if missing := utils.MissingStructFields(args, []string{"Path"}); len(missing) != 0 {
return utils.NewErrMandatoryIeMissing(missing...)
}
@@ -1596,7 +1596,7 @@ func (cfg *CGRConfig) V1GetConfig(args *SectionWithOpts, reply *map[string]inter
case STORDB_JSN:
mp = cfg.StorDbCfg().AsMapInterface()
case TlsCfgJson:
- mp = cfg.TlsCfg().AsMapInterface()
+ mp = cfg.TLSCfg().AsMapInterface()
case CACHE_JSN:
mp = cfg.CacheCfg().AsMapInterface()
case LISTEN_JSN:
@@ -1666,7 +1666,7 @@ func (cfg *CGRConfig) V1GetConfig(args *SectionWithOpts, reply *map[string]inter
case APIBanCfgJson:
mp = cfg.APIBanCfg().AsMapInterface()
case HttpAgentJson:
- mp = cfg.HttpAgentCfg().AsMapInterface(cfg.GeneralCfg().RSRSep)
+ mp = cfg.HTTPAgentCfg().AsMapInterface(cfg.GeneralCfg().RSRSep)
case MAILER_JSN:
mp = cfg.MailerCfg().AsMapInterface()
case AnalyzerCfgJson:
@@ -1740,7 +1740,7 @@ func (cfg *CGRConfig) V1GetConfigAsJSON(args *SectionWithOpts, reply *string) (e
case STORDB_JSN:
mp = cfg.StorDbCfg().AsMapInterface()
case TlsCfgJson:
- mp = cfg.TlsCfg().AsMapInterface()
+ mp = cfg.TLSCfg().AsMapInterface()
case CACHE_JSN:
mp = cfg.CacheCfg().AsMapInterface()
case LISTEN_JSN:
@@ -1810,7 +1810,7 @@ func (cfg *CGRConfig) V1GetConfigAsJSON(args *SectionWithOpts, reply *string) (e
case TemplatesJson:
mp = cfg.TemplatesCfg().AsMapInterface(cfg.GeneralCfg().RSRSep)
case HttpAgentJson:
- mp = cfg.HttpAgentCfg().AsMapInterface(cfg.GeneralCfg().RSRSep)
+ mp = cfg.HTTPAgentCfg().AsMapInterface(cfg.GeneralCfg().RSRSep)
case MAILER_JSN:
mp = cfg.MailerCfg().AsMapInterface()
case AnalyzerCfgJson:
diff --git a/config/config_it_test.go b/config/config_it_test.go
index cef4aec07..47047b321 100644
--- a/config/config_it_test.go
+++ b/config/config_it_test.go
@@ -137,7 +137,7 @@ func testCGRConfigReloadAttributeS(t *testing.T) {
t.Fatal(err)
}
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: ATTRIBUTE_JSN,
}, &reply); err != nil {
@@ -167,7 +167,7 @@ func testCGRConfigReloadChargerS(t *testing.T) {
t.Fatal(err)
}
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: ChargerSCfgJson,
}, &reply); err != nil {
@@ -194,7 +194,7 @@ func testCGRConfigReloadThresholdS(t *testing.T) {
t.Fatal(err)
}
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: THRESHOLDS_JSON,
}, &reply); err != nil {
@@ -220,7 +220,7 @@ func testCGRConfigReloadStatS(t *testing.T) {
t.Fatal(err)
}
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: STATS_JSON,
}, &reply); err != nil {
@@ -247,7 +247,7 @@ func testCGRConfigReloadResourceS(t *testing.T) {
t.Fatal(err)
}
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: RESOURCES_JSON,
}, &reply); err != nil {
@@ -274,7 +274,7 @@ func testCGRConfigReloadSupplierS(t *testing.T) {
t.Fatal(err)
}
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: RouteSJson,
}, &reply); err != nil {
@@ -307,7 +307,7 @@ func testCGRConfigV1ReloadConfigFromPathInvalidSection(t *testing.T) {
}
expectedErr := "Invalid section: "
var reply string
- if err := cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: "InvalidSection",
}, &reply); err == nil || err.Error() != expectedErr {
@@ -315,7 +315,7 @@ func testCGRConfigV1ReloadConfigFromPathInvalidSection(t *testing.T) {
}
expectedErr = utils.NewErrMandatoryIeMissing("Path").Error()
- if err := cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&ReloadArgs{
Section: "InvalidSection",
}, &reply); err == nil || err.Error() != expectedErr {
t.Errorf("Expected %+v. received %+v", expectedErr, err)
@@ -323,11 +323,11 @@ func testCGRConfigV1ReloadConfigFromPathInvalidSection(t *testing.T) {
}
func testV1ReloadConfigFromPathConfigSanity(t *testing.T) {
- expectedErr := " not enabled but requested by component."
+ expectedErr := " not enabled but requested by component"
var reply string
if cfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err := cfg.V1ReloadConfig(&ConfigReloadArgs{
+ } else if err := cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutinternal"),
Section: ChargerSCfgJson}, &reply); err == nil || err.Error() != expectedErr {
t.Errorf("Expected %+v, received %+v", expectedErr, err)
@@ -351,7 +351,7 @@ func testCGRConfigReloadSchedulerS(t *testing.T) {
t.Fatal(err)
}
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: SCHEDULER_JSN,
}, &reply); err != nil {
@@ -378,7 +378,7 @@ func testCGRConfigReloadCDRs(t *testing.T) {
}
cfg.RalsCfg().Enabled = true
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: CDRS_JSN,
}, &reply); err != nil {
@@ -416,7 +416,7 @@ func testCGRConfigReloadRALs(t *testing.T) {
blMap := cfg.RalsCfg().BalanceRatingSubject
maxComp := cfg.RalsCfg().MaxComputedUsage
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: RALS_JSN,
}, &reply); err != nil {
@@ -450,7 +450,7 @@ func testCGRConfigReloadSessionS(t *testing.T) {
cfg.ChargerSCfg().Enabled = true
cfg.CdrsCfg().Enabled = true
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: SessionSJson,
}, &reply); err != nil {
@@ -503,7 +503,7 @@ func testCGRConfigReloadERs(t *testing.T) {
}
cfg.SessionSCfg().Enabled = true
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "ers_example"),
Section: ERsJson,
}, &reply); err != nil {
@@ -559,6 +559,7 @@ func testCGRConfigReloadERs(t *testing.T) {
ConcurrentReqs: 1024,
SourcePath: "/tmp/ers/in",
ProcessedPath: "/tmp/ers/out",
+ Filters: []string{},
Flags: flags,
Fields: content,
CacheDumpFields: []*FCTemplate{},
@@ -579,7 +580,7 @@ func testCGRConfigReloadDNSAgent(t *testing.T) {
}
cfg.SessionSCfg().Enabled = true
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "dnsagent_reload"),
Section: DNSAgentJson,
}, &reply); err != nil {
@@ -607,7 +608,7 @@ func testCGRConfigReloadFreeswitchAgent(t *testing.T) {
}
cfg.SessionSCfg().Enabled = true
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "freeswitch_reload"),
Section: FreeSWITCHAgentJSN,
}, &reply); err != nil {
@@ -780,7 +781,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) {
var reply string
var rcv map[string]interface{}
- if err := cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&ReloadArgs{
Path: "/usr/share/cgrates/conf/samples/ers_example",
Section: ERsJson,
}, &reply); err != nil {
@@ -929,7 +930,7 @@ func testCGRConfigReloadAll(t *testing.T) {
cfg.ChargerSCfg().Enabled = true
cfg.CdrsCfg().Enabled = true
var reply string
- if err = cfg.V1ReloadConfig(&ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo2"),
Section: utils.MetaAll,
}, &reply); err != nil {
diff --git a/config/config_test.go b/config/config_test.go
index c327d0bf7..143eecbdc 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -217,7 +217,7 @@ func TestHttpAgentCfg(t *testing.T) {
}
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil {
t.Error(err)
- } else if !reflect.DeepEqual(eCgrCfg.HttpAgentCfg(), cgrCfg.HttpAgentCfg()) {
+ } else if !reflect.DeepEqual(eCgrCfg.HTTPAgentCfg(), cgrCfg.HTTPAgentCfg()) {
t.Errorf("Expected: %s, received: %s",
utils.ToJSON(eCgrCfg.httpAgentCfg), utils.ToJSON(cgrCfg.httpAgentCfg))
}
@@ -869,7 +869,7 @@ func TestCgrCfgJSONDefaultsSureTax(t *testing.T) {
t.Error("time parsing error", err)
}
eSureTaxCfg := &SureTaxCfg{
- Url: "",
+ URL: "",
ClientNumber: "",
ValidationKey: "",
BusinessUnit: "",
@@ -1089,9 +1089,9 @@ func TestLoadGeneralCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadGeneralCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadGeneralCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1107,9 +1107,9 @@ func TestLoadCacheCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadCacheCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadCacheCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1125,9 +1125,9 @@ func TestLoadListenCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadListenCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadListenCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1143,9 +1143,9 @@ func TestLoadHTTPCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadHTTPCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadHTTPCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1161,9 +1161,9 @@ func TestLoadDataDBCfgErrorCase1(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadDataDBCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadDataDBCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1179,11 +1179,11 @@ func TestLoadDataDBCfgErrorCase2(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
} else {
cgrConfig.dataDbCfg.RmtConns = []string{utils.MetaInternal}
- if err := cgrConfig.loadDataDBCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ if err := cgrConfig.loadDataDBCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1201,9 +1201,9 @@ func TestLoadStorDbCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadStorDBCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadStorDBCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1219,9 +1219,9 @@ func TestLoadFilterSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadFilterSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadFilterSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1237,9 +1237,9 @@ func TestLoadRalSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadRalSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadRalSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1255,9 +1255,9 @@ func TestLoadSchedulerCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadSchedulerCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadSchedulerCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1273,9 +1273,9 @@ func TestLoadCdrsCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadCdrsCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadCdrsCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1291,9 +1291,9 @@ func TestLoadSessionSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadSessionSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadSessionSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1309,9 +1309,9 @@ func TestLoadFreeswitchAgentCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadFreeswitchAgentCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadFreeswitchAgentCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1327,9 +1327,9 @@ func TestLoadKamAgentCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadKamAgentCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadKamAgentCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1345,9 +1345,9 @@ func TestLoadAsteriskAgentCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadAsteriskAgentCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadAsteriskAgentCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1367,9 +1367,9 @@ func TestLoadDiameterAgentCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadDiameterAgentCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadDiameterAgentCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1385,9 +1385,9 @@ func TestLoadRadiusAgentCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadRadiusAgentCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadRadiusAgentCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1403,9 +1403,9 @@ func TestLoadDNSAgentCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadDNSAgentCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadDNSAgentCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1423,9 +1423,9 @@ func TestLoadHttpAgentCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadHttpAgentCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadHTTPAgentCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1441,9 +1441,9 @@ func TestLoadAttributeSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadAttributeSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadAttributeSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1459,9 +1459,9 @@ func TestLoadChargerSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadChargerSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadChargerSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1477,9 +1477,9 @@ func TestLoadResourceSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadResourceSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadResourceSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1495,9 +1495,9 @@ func TestLoadStatSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadStatSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadStatSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1513,9 +1513,9 @@ func TestLoadThresholdSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadThresholdSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadThresholdSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1551,9 +1551,9 @@ func TestLoadRouteSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadRouteSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadRouteSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1569,9 +1569,9 @@ func TestLoadMailerCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadMailerCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadMailerCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1587,9 +1587,9 @@ func TestLoadSureTaxCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadSureTaxCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadSureTaxCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1605,9 +1605,9 @@ func TestLoadDispatcherSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadDispatcherSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadDispatcherSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1623,9 +1623,9 @@ func TestLoadDispatcherHCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadDispatcherHCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadDispatcherHCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1641,9 +1641,9 @@ func TestLoadLoaderCgrCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadLoaderCgrCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadLoaderCgrCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1659,9 +1659,9 @@ func TestLoadMigratorCgrCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadMigratorCgrCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadMigratorCgrCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1677,9 +1677,9 @@ func TestLoadTlsCgrCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadTlsCgrCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadTLSCgrCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1696,9 +1696,9 @@ func TestLoadAnalyzerCgrCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadAnalyzerCgrCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadAnalyzerCgrCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1714,9 +1714,9 @@ func TestLoadAPIBanCgrCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadAPIBanCgrCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadAPIBanCgrCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1732,9 +1732,9 @@ func TestLoadApierCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(myJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(myJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadApierCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadApierCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1750,9 +1750,9 @@ func TestLoadErsCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadErsCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadErsCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1768,9 +1768,9 @@ func TestLoadEesCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadEesCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadEesCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1786,9 +1786,9 @@ func TestLoadCoreSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadCoreSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadCoreSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1804,9 +1804,9 @@ func TestLoadRateSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadRateSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadRateSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1826,9 +1826,9 @@ func TestLoadSIPAgentCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadSIPAgentCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadSIPAgentCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1848,9 +1848,9 @@ func TestLoadTemplateSCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadTemplateSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadTemplateSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
@@ -1864,9 +1864,9 @@ func TestLoadTemplateSCfgError(t *testing.T) {
}
}`
expected = "invalid converter terminator in rule: "
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadTemplateSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadTemplateSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1882,9 +1882,9 @@ func TestLoadConfigsCfgError(t *testing.T) {
if err != nil {
t.Error(err)
}
- if cgrCfgJson, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
+ if cgrCfgJSON, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil {
t.Error(err)
- } else if err := cgrConfig.loadConfigSCfg(cgrCfgJson); err == nil || err.Error() != expected {
+ } else if err := cgrConfig.loadConfigSCfg(cgrCfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -1895,7 +1895,7 @@ func TestSuretaxConfig(t *testing.T) {
t.Error(err)
}
expected := &SureTaxCfg{
- Url: "",
+ URL: "",
ClientNumber: "",
ValidationKey: "",
BusinessUnit: "",
@@ -3468,7 +3468,7 @@ func TestCfgTlsCfg(t *testing.T) {
}
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil {
t.Error(err)
- } else if !reflect.DeepEqual(eCgrCfg.TlsCfg(), cgrCfg.TlsCfg()) {
+ } else if !reflect.DeepEqual(eCgrCfg.TLSCfg(), cgrCfg.TLSCfg()) {
t.Errorf("Expected: %s, received: %s",
utils.ToJSON(eCgrCfg.tlsCfg), utils.ToJSON(cgrCfg.tlsCfg))
}
@@ -4853,7 +4853,7 @@ func TestV1ReloadConfigCheckingSanity(t *testing.T) {
utils.StatSConnsCfg: []string{"*internal:*stats"},
},
}
- expected := ` not enabled but requested by component.`
+ expected := ` not enabled but requested by component`
if cfgCgr, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
t.Error(err)
} else if err := cfgCgr.V1SetConfig(&SetConfigArgs{Config: ralsMap}, &reply); err == nil || err.Error() != expected {
@@ -5420,7 +5420,7 @@ func TestV1GetConfigAsJSONCheckConfigSanity(t *testing.T) {
"attributes_conns": ["*internal"]
}
}`
- expected := ` not enabled but requested by component.`
+ expected := ` not enabled but requested by component`
if cfgCgr2, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
} else if err = cfgCgr2.V1SetConfigFromJSON(&SetConfigFromJSONArgs{Config: args}, &result); err == nil || err.Error() != expected {
diff --git a/config/configs_test.go b/config/configs_test.go
index 24b568a2d..834934c43 100644
--- a/config/configs_test.go
+++ b/config/configs_test.go
@@ -109,7 +109,7 @@ func TestConfigSCfgClone(t *testing.T) {
}
rcv := cS.Clone()
if !reflect.DeepEqual(cS, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(cS), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(cS), utils.ToJSON(rcv))
}
if rcv.URL = ""; cS.URL != "/randomURL/" {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/configsanity.go b/config/configsanity.go
index a21c02429..fd234d7b3 100644
--- a/config/configsanity.go
+++ b/config/configsanity.go
@@ -27,7 +27,7 @@ import (
"github.com/cgrates/rpcclient"
)
-// Exported in cgr-engine
+// CheckConfigSanity is used in cgr-engine
func (cfg *CGRConfig) CheckConfigSanity() error {
return cfg.checkConfigSanity()
}
@@ -37,7 +37,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.ralsCfg.Enabled {
for _, connID := range cfg.ralsCfg.StatSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.statsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.StatService, utils.RALService)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.StatService, utils.RALService)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.RALService, connID)
@@ -45,7 +45,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.ralsCfg.ThresholdSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.thresholdSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ThresholdS, utils.RALService)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ThresholdS, utils.RALService)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.RALService, connID)
@@ -56,7 +56,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.cdrsCfg.Enabled {
for _, connID := range cfg.cdrsCfg.ChargerSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.chargerSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ChargerS, utils.CDRs)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ChargerS, utils.CDRs)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.CDRs, connID)
@@ -64,7 +64,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.cdrsCfg.RaterConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.ralsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.RALService, utils.CDRs)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.RALService, utils.CDRs)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.CDRs, connID)
@@ -72,7 +72,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.cdrsCfg.AttributeSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.attributeSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.AttributeS, utils.CDRs)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.AttributeS, utils.CDRs)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.CDRs, connID)
@@ -80,7 +80,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.cdrsCfg.StatSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.statsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.StatService, utils.CDRs)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.StatService, utils.CDRs)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.CDRs, connID)
@@ -88,7 +88,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.cdrsCfg.ThresholdSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.thresholdSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ThresholdS, utils.CDRs)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ThresholdS, utils.CDRs)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.CDRs, connID)
@@ -108,7 +108,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.cdrsCfg.EEsConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.eesCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.EEs, utils.CDRs)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.EEs, utils.CDRs)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.CDRs, connID)
@@ -150,7 +150,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sessionSCfg.ChargerSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.chargerSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ChargerS, utils.SessionS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ChargerS, utils.SessionS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SessionS, connID)
@@ -158,7 +158,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sessionSCfg.RALsConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.ralsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.RALService, utils.SessionS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.RALService, utils.SessionS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SessionS, connID)
@@ -166,7 +166,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sessionSCfg.ResSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.resourceSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ResourceS, utils.SessionS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ResourceS, utils.SessionS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SessionS, connID)
@@ -174,7 +174,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sessionSCfg.ThreshSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.thresholdSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ThresholdS, utils.SessionS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ThresholdS, utils.SessionS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SessionS, connID)
@@ -182,7 +182,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sessionSCfg.StatSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.statsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.StatService, utils.SessionS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.StatService, utils.SessionS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SessionS, connID)
@@ -190,7 +190,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sessionSCfg.RouteSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.routeSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.RouteS, utils.SessionS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.RouteS, utils.SessionS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SessionS, connID)
@@ -198,7 +198,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sessionSCfg.AttrSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.attributeSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.AttributeS, utils.SessionS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.AttributeS, utils.SessionS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SessionS, connID)
@@ -206,7 +206,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sessionSCfg.CDRsConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.cdrsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.CDRs, utils.SessionS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.CDRs, utils.SessionS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SessionS, connID)
@@ -236,7 +236,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.fsAgentCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SessionS, utils.FreeSWITCHAgent)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SessionS, utils.FreeSWITCHAgent)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.FreeSWITCHAgent, connID)
@@ -251,7 +251,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.kamAgentCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SessionS, utils.KamailioAgent)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SessionS, utils.KamailioAgent)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.KamailioAgent, connID)
@@ -266,7 +266,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.asteriskAgentCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SessionS, utils.AsteriskAgent)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SessionS, utils.AsteriskAgent)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.AsteriskAgent, connID)
@@ -281,7 +281,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.diameterAgentCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SessionS, utils.DiameterAgent)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SessionS, utils.DiameterAgent)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.DiameterAgent, connID)
@@ -319,7 +319,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.radiusAgentCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SessionS, utils.RadiusAgent)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SessionS, utils.RadiusAgent)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.RadiusAgent, connID)
@@ -346,7 +346,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.dnsAgentCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SessionS, utils.DNSAgent)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SessionS, utils.DNSAgent)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.DNSAgent, connID)
@@ -370,7 +370,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
// httpAgent checks
for _, connID := range httpAgentCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> HTTPAgent Template.", utils.SessionS, httpAgentCfg.ID)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> HTTPAgent Template", utils.SessionS, httpAgentCfg.ID)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> template with ID <%s> has connection with id: <%s> not defined", utils.HTTPAgent, httpAgentCfg.ID, connID)
@@ -404,7 +404,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.sipAgentCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SessionS, utils.SIPAgent)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SessionS, utils.SIPAgent)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SIPAgent, connID)
@@ -432,7 +432,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.chargerSCfg.Enabled {
for _, connID := range cfg.chargerSCfg.AttributeSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.attributeSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.AttributeS, utils.ChargerS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.AttributeS, utils.ChargerS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.ChargerS, connID)
@@ -443,7 +443,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.resourceSCfg.Enabled {
for _, connID := range cfg.resourceSCfg.ThresholdSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.thresholdSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ThresholdS, utils.ResourceS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ThresholdS, utils.ResourceS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.ResourceS, connID)
@@ -454,7 +454,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.statsCfg.Enabled {
for _, connID := range cfg.statsCfg.ThresholdSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.thresholdSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ThresholdS, utils.StatS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ThresholdS, utils.StatS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.StatS, connID)
@@ -465,7 +465,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.routeSCfg.Enabled {
for _, connID := range cfg.routeSCfg.AttributeSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.attributeSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.AttributeS, utils.RouteS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.AttributeS, utils.RouteS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.RouteS, connID)
@@ -473,7 +473,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.routeSCfg.StatSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.statsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.StatService, utils.RouteS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.StatService, utils.RouteS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.RouteS, connID)
@@ -481,7 +481,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.routeSCfg.ResourceSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.resourceSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ResourceS, utils.RouteS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ResourceS, utils.RouteS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.RouteS, connID)
@@ -489,7 +489,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.routeSCfg.RALsConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.ralsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.RALService, utils.RouteS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.RALService, utils.RouteS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.RouteS, connID)
@@ -500,7 +500,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.schedulerCfg.Enabled {
for _, connID := range cfg.schedulerCfg.CDRsConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.cdrsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.CDRs, utils.SchedulerS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.CDRs, utils.SchedulerS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SchedulerS, connID)
@@ -508,7 +508,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.schedulerCfg.ThreshSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.thresholdSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.ThresholdS, utils.SchedulerS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.ThresholdS, utils.SchedulerS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SchedulerS, connID)
@@ -516,7 +516,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.schedulerCfg.StatSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.statsCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.StatS, utils.SchedulerS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.StatS, utils.SchedulerS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.SchedulerS, connID)
@@ -527,7 +527,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.ersCfg.Enabled {
for _, connID := range cfg.ersCfg.SessionSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.sessionSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SessionS, utils.ERs)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SessionS, utils.ERs)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.ERs, connID)
@@ -575,7 +575,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.eesCfg.Enabled {
for _, connID := range cfg.eesCfg.AttributeSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.attributeSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.AttributeS, utils.EEs)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.AttributeS, utils.EEs)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.EEs, connID)
@@ -641,7 +641,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
// APIer sanity checks
for _, connID := range cfg.apier.AttributeSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.attributeSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.AttributeS, utils.APIerSv1)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.AttributeS, utils.APIerSv1)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.APIerSv1, connID)
@@ -649,7 +649,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
for _, connID := range cfg.apier.SchedulerConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.schedulerCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.SchedulerS, utils.APIerSv1)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.SchedulerS, utils.APIerSv1)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.APIerSv1, connID)
@@ -659,7 +659,7 @@ func (cfg *CGRConfig) checkConfigSanity() error {
if cfg.dispatcherSCfg.Enabled {
for _, connID := range cfg.dispatcherSCfg.AttributeSConns {
if strings.HasPrefix(connID, utils.MetaInternal) && !cfg.attributeSCfg.Enabled {
- return fmt.Errorf("<%s> not enabled but requested by <%s> component.", utils.AttributeS, utils.DispatcherS)
+ return fmt.Errorf("<%s> not enabled but requested by <%s> component", utils.AttributeS, utils.DispatcherS)
}
if _, has := cfg.rpcConns[connID]; !has && !strings.HasPrefix(connID, utils.MetaInternal) {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.DispatcherS, connID)
@@ -668,13 +668,13 @@ func (cfg *CGRConfig) checkConfigSanity() error {
}
// Cache check
for _, connID := range cfg.cacheCfg.ReplicationConns {
- if conn, has := cfg.rpcConns[connID]; !has {
+ conn, has := cfg.rpcConns[connID]
+ if !has {
return fmt.Errorf("<%s> connection with id: <%s> not defined", utils.CacheS, connID)
- } else {
- for _, rpc := range conn.Conns {
- if rpc.Transport != utils.MetaGOB {
- return fmt.Errorf("<%s> unsuported transport <%s> for connection with ID: <%s>", utils.CacheS, rpc.Transport, connID)
- }
+ }
+ for _, rpc := range conn.Conns {
+ if rpc.Transport != utils.MetaGOB {
+ return fmt.Errorf("<%s> unsuported transport <%s> for connection with ID: <%s>", utils.CacheS, rpc.Transport, connID)
}
}
}
diff --git a/config/configsanity_test.go b/config/configsanity_test.go
index 5bc0a4d12..6ffaa0ac6 100644
--- a/config/configsanity_test.go
+++ b/config/configsanity_test.go
@@ -30,7 +30,7 @@ func TestConfigSanityRater(t *testing.T) {
Enabled: true,
StatSConns: []string{utils.MetaInternal},
}
- expected := " not enabled but requested by component."
+ expected := " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -41,7 +41,7 @@ func TestConfigSanityRater(t *testing.T) {
}
cfg.ralsCfg.StatSConns = []string{}
cfg.ralsCfg.ThresholdSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -65,13 +65,13 @@ func TestConfigSanityCDRServer(t *testing.T) {
t.Errorf("Expected %+q, received %+q", expected, err)
}
cfg.cdrsCfg.EEsConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expected %+q, received %+q", expected, err)
}
cfg.cdrsCfg.ChargerSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -83,7 +83,7 @@ func TestConfigSanityCDRServer(t *testing.T) {
cfg.cdrsCfg.ChargerSConns = []string{}
cfg.cdrsCfg.RaterConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -95,7 +95,7 @@ func TestConfigSanityCDRServer(t *testing.T) {
cfg.cdrsCfg.RaterConns = []string{}
cfg.cdrsCfg.AttributeSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -107,7 +107,7 @@ func TestConfigSanityCDRServer(t *testing.T) {
cfg.cdrsCfg.AttributeSConns = []string{}
cfg.cdrsCfg.StatSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -119,7 +119,7 @@ func TestConfigSanityCDRServer(t *testing.T) {
cfg.cdrsCfg.StatSConns = []string{}
cfg.cdrsCfg.ThresholdSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -237,7 +237,7 @@ func TestConfigSanitySessionS(t *testing.T) {
cfg.sessionSCfg.TerminateAttempts = 1
cfg.sessionSCfg.ChargerSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -250,7 +250,7 @@ func TestConfigSanitySessionS(t *testing.T) {
cfg.chargerSCfg.Enabled = true
cfg.sessionSCfg.RALsConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -263,7 +263,7 @@ func TestConfigSanitySessionS(t *testing.T) {
cfg.ralsCfg.Enabled = true
cfg.sessionSCfg.ResSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -276,7 +276,7 @@ func TestConfigSanitySessionS(t *testing.T) {
cfg.resourceSCfg.Enabled = true
cfg.sessionSCfg.ThreshSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -289,7 +289,7 @@ func TestConfigSanitySessionS(t *testing.T) {
cfg.thresholdSCfg.Enabled = true
cfg.sessionSCfg.StatSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -302,7 +302,7 @@ func TestConfigSanitySessionS(t *testing.T) {
cfg.statsCfg.Enabled = true
cfg.sessionSCfg.RouteSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -315,7 +315,7 @@ func TestConfigSanitySessionS(t *testing.T) {
cfg.routeSCfg.Enabled = true
cfg.sessionSCfg.AttrSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -328,7 +328,7 @@ func TestConfigSanitySessionS(t *testing.T) {
cfg.attributeSCfg.Enabled = true
cfg.sessionSCfg.CDRsConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -374,7 +374,7 @@ func TestConfigSanityFreeSWITCHAgent(t *testing.T) {
Enabled: true,
SessionSConns: []string{utils.MetaInternal},
}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -396,7 +396,7 @@ func TestConfigSanityKamailioAgent(t *testing.T) {
}
cfg.kamAgentCfg.SessionSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS)}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -418,7 +418,7 @@ func TestConfigSanityAsteriskAgent(t *testing.T) {
}
cfg.asteriskAgentCfg.SessionSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS)}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -462,7 +462,7 @@ func TestConfigSanityDAgent(t *testing.T) {
}
cfg.diameterAgentCfg.SessionSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS)}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -516,7 +516,7 @@ func TestConfigSanityRadiusAgent(t *testing.T) {
}
cfg.radiusAgentCfg.SessionSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS)}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -564,7 +564,7 @@ func TestConfigSanityDNSAgent(t *testing.T) {
}
cfg.dnsAgentCfg.SessionSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS)}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -611,7 +611,7 @@ func TestConfigSanityHTTPAgent1(t *testing.T) {
},
},
}
- expected := " not enabled but requested by <> HTTPAgent Template."
+ expected := " not enabled but requested by <> HTTPAgent Template"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -675,7 +675,7 @@ func TestConfigSanitySipAgent(t *testing.T) {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
cfg.sipAgentCfg.SessionSConns = []string{utils.MetaInternal}
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
@@ -724,7 +724,7 @@ func TestConfigSanityChargerS(t *testing.T) {
Enabled: true,
AttributeSConns: []string{utils.MetaInternal},
}
- expected := " not enabled but requested by component."
+ expected := " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -741,7 +741,7 @@ func TestConfigSanityResourceLimiter(t *testing.T) {
Enabled: true,
ThresholdSConns: []string{utils.MetaInternal},
}
- expected := " not enabled but requested by component."
+ expected := " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -758,7 +758,7 @@ func TestConfigSanityStatS(t *testing.T) {
Enabled: true,
ThresholdSConns: []string{utils.MetaInternal},
}
- expected := " not enabled but requested by component."
+ expected := " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -774,7 +774,7 @@ func TestConfigSanityRouteS(t *testing.T) {
cfg.routeSCfg.Enabled = true
cfg.routeSCfg.ResourceSConns = []string{utils.MetaInternal}
- expected := " not enabled but requested by component."
+ expected := " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -786,7 +786,7 @@ func TestConfigSanityRouteS(t *testing.T) {
cfg.routeSCfg.ResourceSConns = []string{}
cfg.routeSCfg.StatSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -798,7 +798,7 @@ func TestConfigSanityRouteS(t *testing.T) {
cfg.routeSCfg.StatSConns = []string{}
cfg.routeSCfg.AttributeSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -810,7 +810,7 @@ func TestConfigSanityRouteS(t *testing.T) {
cfg.routeSCfg.AttributeSConns = []string{}
cfg.routeSCfg.RALsConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -831,7 +831,7 @@ func TestConfigSanityScheduler(t *testing.T) {
cfg.schedulerCfg.Enabled = true
cfg.schedulerCfg.CDRsConns = []string{utils.MetaInternal}
- expected := " not enabled but requested by component."
+ expected := " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -843,7 +843,7 @@ func TestConfigSanityScheduler(t *testing.T) {
cfg.schedulerCfg.CDRsConns = []string{}
cfg.schedulerCfg.ThreshSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -855,7 +855,7 @@ func TestConfigSanityScheduler(t *testing.T) {
cfg.schedulerCfg.ThreshSConns = []string{}
cfg.schedulerCfg.StatSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -878,7 +878,7 @@ func TestConfigSanityEventReader(t *testing.T) {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
cfg.ersCfg.SessionSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -994,7 +994,7 @@ func TestConfigSanityEventExporter(t *testing.T) {
},
}
- expected := " not enabled but requested by component."
+ expected := " not enabled but requested by component"
if err := cfg.CheckConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -1245,7 +1245,7 @@ func TestConfigSanityAPIer(t *testing.T) {
cfg, _ = NewDefaultCGRConfig()
cfg.apier.AttributeSConns = []string{utils.MetaInternal}
- if err := cfg.checkConfigSanity(); err == nil || err.Error() != " not enabled but requested by component." {
+ if err := cfg.checkConfigSanity(); err == nil || err.Error() != " not enabled but requested by component" {
t.Error(err)
}
cfg.apier.AttributeSConns = []string{"test"}
@@ -1257,7 +1257,7 @@ func TestConfigSanityAPIer(t *testing.T) {
cfg.attributeSCfg.Enabled = true
cfg.apier.SchedulerConns = []string{utils.MetaInternal}
- if err := cfg.checkConfigSanity(); err == nil || err.Error() != " not enabled but requested by component." {
+ if err := cfg.checkConfigSanity(); err == nil || err.Error() != " not enabled but requested by component" {
t.Error(err)
}
cfg.apier.SchedulerConns = []string{"test"}
@@ -1273,7 +1273,7 @@ func TestConfigSanityDispatcher(t *testing.T) {
Enabled: true,
AttributeSConns: []string{utils.MetaInternal},
}
- if err := cfg.checkConfigSanity(); err == nil || err.Error() != " not enabled but requested by component." {
+ if err := cfg.checkConfigSanity(); err == nil || err.Error() != " not enabled but requested by component" {
t.Error(err)
}
cfg.dispatcherSCfg.AttributeSConns = []string{"test"}
@@ -1342,14 +1342,14 @@ func TestCheckConfigSanity(t *testing.T) {
Enabled: true,
StatSConns: []string{utils.MetaInternal},
}
- expected := " not enabled but requested by component."
+ expected := " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
cfg.statsCfg.Enabled = true
cfg.ralsCfg.ThresholdSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -1364,27 +1364,27 @@ func TestCheckConfigSanity(t *testing.T) {
Enabled: true,
ChargerSConns: []string{utils.MetaInternal},
}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
cfg.chargerSCfg.Enabled = true
cfg.cdrsCfg.RaterConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
cfg.ralsCfg.Enabled = true
cfg.cdrsCfg.AttributeSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
cfg.statsCfg.Enabled = false
cfg.attributeSCfg.Enabled = true
cfg.cdrsCfg.StatSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
@@ -1397,7 +1397,7 @@ func TestCheckConfigSanity(t *testing.T) {
cfg.thresholdSCfg.Enabled = false
cfg.cdrsCfg.OnlineCDRExports = []string{"stringx"}
cfg.cdrsCfg.ThresholdSConns = []string{utils.MetaInternal}
- expected = " not enabled but requested by component."
+ expected = " not enabled but requested by component"
if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected {
t.Errorf("Expecting: %+q received: %+q", expected, err)
}
diff --git a/config/corescfg_test.go b/config/corescfg_test.go
index bcb161550..55c450225 100644
--- a/config/corescfg_test.go
+++ b/config/corescfg_test.go
@@ -98,7 +98,7 @@ func TestCoreSAsMapInterface(t *testing.T) {
} else if err = alS.loadFromJSONCfg(jsnalS); err != nil {
t.Error(err)
} else if rcv := alS.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
eMap[utils.CapsStatsIntervalCfg] = "1s"
eMap[utils.ShutdownTimeoutCfg] = "1s"
@@ -109,7 +109,7 @@ func TestCoreSAsMapInterface(t *testing.T) {
CapsStrategy: utils.MetaBusy,
}
if rcv := alS.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
@@ -122,7 +122,7 @@ func TestCoreSCfgClone(t *testing.T) {
}
rcv := cS.Clone()
if !reflect.DeepEqual(cS, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(cS), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(cS), utils.ToJSON(rcv))
}
if rcv.Caps = 1; cS.Caps != 0 {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/datadbcfg_test.go b/config/datadbcfg_test.go
index 7af8f071a..a21208e31 100644
--- a/config/datadbcfg_test.go
+++ b/config/datadbcfg_test.go
@@ -533,12 +533,12 @@ func TestDataDBPortStrconvAtoi(t *testing.T) {
"db_port": 6079,
}
}`
- if cfgJson, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONSTR); err != nil {
+ if cfgJSON, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONSTR); err != nil {
t.Error(err)
} else {
- cfgJson.dataDbCfg.DataDbPort = "6o79"
+ cfgJSON.dataDbCfg.DataDbPort = "6o79"
expected := "strconv.Atoi: parsing \"6o79\": invalid syntax"
- if _, err := cfgJson.dataDbCfg.AsMapInterface(); err == nil || err.Error() != expected {
+ if _, err := cfgJSON.dataDbCfg.AsMapInterface(); err == nil || err.Error() != expected {
t.Errorf("Expected %+q \n,received %+q", expected, err)
}
}
diff --git a/config/dispatcherhcfg.go b/config/dispatcherhcfg.go
index f1c47cd36..eac9b0569 100644
--- a/config/dispatcherhcfg.go
+++ b/config/dispatcherhcfg.go
@@ -32,7 +32,7 @@ type DispatcherHCfg struct {
RegisterInterval time.Duration
}
-func (dps *DispatcherHCfg) loadFromJsonCfg(jsnCfg *DispatcherHJsonCfg) (err error) {
+func (dps *DispatcherHCfg) loadFromJSONCfg(jsnCfg *DispatcherHJsonCfg) (err error) {
if jsnCfg == nil {
return nil
}
@@ -58,6 +58,7 @@ func (dps *DispatcherHCfg) loadFromJsonCfg(jsnCfg *DispatcherHJsonCfg) (err erro
return
}
+// AsMapInterface returns the config as a map[string]interface{}
func (dps *DispatcherHCfg) AsMapInterface() (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: dps.Enabled,
@@ -79,12 +80,37 @@ func (dps *DispatcherHCfg) AsMapInterface() (initialMP map[string]interface{}) {
return
}
+// Clone returns a deep copy of DispatcherHCfg
+func (dps DispatcherHCfg) Clone() (cln *DispatcherHCfg) {
+ cln = &DispatcherHCfg{
+ Enabled: dps.Enabled,
+ RegisterInterval: dps.RegisterInterval,
+ Hosts: make(map[string][]*DispatcherHRegistarCfg),
+ }
+ if dps.DispatchersConns != nil {
+ cln.DispatchersConns = make([]string, len(dps.DispatchersConns))
+ for i, k := range dps.DispatchersConns {
+ cln.DispatchersConns[i] = k
+ }
+ }
+ for tnt, hosts := range dps.Hosts {
+ clnH := make([]*DispatcherHRegistarCfg, len(hosts))
+ for i, host := range hosts {
+ clnH[i] = host.Clone()
+ }
+ cln.Hosts[tnt] = clnH
+ }
+ return
+}
+
+// DispatcherHRegistarCfg describe the DispatcherHost that will be registered
type DispatcherHRegistarCfg struct {
ID string
RegisterTransport string
RegisterTLS bool
}
+// NewDispatcherHRegistarCfg returns a new DispatcherHRegistarCfg based on the config from json
func NewDispatcherHRegistarCfg(jsnCfg DispatcherHRegistarJsonCfg) (dhr *DispatcherHRegistarCfg) {
dhr = new(DispatcherHRegistarCfg)
if jsnCfg.Id != nil {
@@ -100,11 +126,20 @@ func NewDispatcherHRegistarCfg(jsnCfg DispatcherHRegistarJsonCfg) (dhr *Dispatch
return
}
-func (dhr *DispatcherHRegistarCfg) AsMapInterface() (initialMP map[string]interface{}) {
- initialMP = map[string]interface{}{
+// AsMapInterface returns the config as a map[string]interface{}
+func (dhr *DispatcherHRegistarCfg) AsMapInterface() map[string]interface{} {
+ return map[string]interface{}{
utils.IDCfg: dhr.ID,
utils.RegisterTransportCfg: dhr.RegisterTransport,
utils.RegisterTLSCfg: dhr.RegisterTLS,
}
- return
+}
+
+// Clone returns a deep copy of DispatcherHRegistarCfg
+func (dhr DispatcherHRegistarCfg) Clone() (cln *DispatcherHRegistarCfg) {
+ return &DispatcherHRegistarCfg{
+ ID: dhr.ID,
+ RegisterTransport: dhr.RegisterTransport,
+ RegisterTLS: dhr.RegisterTLS,
+ }
}
diff --git a/config/dispatcherhcfg_test.go b/config/dispatcherhcfg_test.go
index 89bfc0f13..c32f08276 100644
--- a/config/dispatcherhcfg_test.go
+++ b/config/dispatcherhcfg_test.go
@@ -86,7 +86,7 @@ func TestDispatcherHCfgloadFromJsonCfg(t *testing.T) {
}
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsnCfg.dispatcherHCfg.loadFromJsonCfg(jsonCfg); err != nil {
+ } else if err = jsnCfg.dispatcherHCfg.loadFromJSONCfg(jsonCfg); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, jsnCfg.dispatcherHCfg) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(jsnCfg.dispatcherHCfg))
@@ -148,7 +148,7 @@ func TestDispatcherCfgParseWithNanoSec(t *testing.T) {
expErrMessage := "time: unknown unit \"ss\" in duration \"1ss\""
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsnCfg.dispatcherHCfg.loadFromJsonCfg(jsonCfg); err == nil || err.Error() != expErrMessage {
+ } else if err = jsnCfg.dispatcherHCfg.loadFromJSONCfg(jsonCfg); err == nil || err.Error() != expErrMessage {
t.Errorf("Expected %+v \n, recevied %+v", expErrMessage, err)
}
}
@@ -227,3 +227,45 @@ func TestDispatcherHCfgAsMapInterface2(t *testing.T) {
t.Errorf("Expected %+v, received %+v", eMap, rcv)
}
}
+
+func TestDispatcherHCfgClone(t *testing.T) {
+ ban := &DispatcherHCfg{
+ Enabled: true,
+ DispatchersConns: []string{"*conn1", "*conn2"},
+ Hosts: map[string][]*DispatcherHRegistarCfg{
+ utils.MetaDefault: {
+ {
+ ID: "Host1",
+ RegisterTransport: utils.MetaJSON,
+ },
+ {
+ ID: "Host2",
+ RegisterTransport: utils.MetaGOB,
+ },
+ },
+ "cgrates.net": {
+ {
+ ID: "Host1",
+ RegisterTransport: utils.MetaJSON,
+ RegisterTLS: true,
+ },
+ {
+ ID: "Host2",
+ RegisterTransport: utils.MetaGOB,
+ RegisterTLS: true,
+ },
+ },
+ },
+ RegisterInterval: 5,
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+ if rcv.DispatchersConns[0] = ""; ban.DispatchersConns[0] != "*conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if rcv.Hosts[utils.MetaDefault][0].ID = ""; ban.Hosts[utils.MetaDefault][0].ID != "Host1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+}
diff --git a/config/dispatcherscfg.go b/config/dispatcherscfg.go
index 6a108876d..cda328f50 100644
--- a/config/dispatcherscfg.go
+++ b/config/dispatcherscfg.go
@@ -19,8 +19,6 @@ along with this program. If not, see
package config
import (
- "strings"
-
"github.com/cgrates/cgrates/utils"
)
@@ -35,7 +33,7 @@ type DispatcherSCfg struct {
NestedFields bool
}
-func (dps *DispatcherSCfg) loadFromJsonCfg(jsnCfg *DispatcherSJsonCfg) (err error) {
+func (dps *DispatcherSCfg) loadFromJSONCfg(jsnCfg *DispatcherSJsonCfg) (err error) {
if jsnCfg == nil {
return nil
}
@@ -70,10 +68,9 @@ func (dps *DispatcherSCfg) loadFromJsonCfg(jsnCfg *DispatcherSJsonCfg) (err erro
dps.AttributeSConns = make([]string, len(*jsnCfg.Attributes_conns))
for idx, connID := range *jsnCfg.Attributes_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ dps.AttributeSConns[idx] = connID
if connID == utils.MetaInternal {
dps.AttributeSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)
- } else {
- dps.AttributeSConns[idx] = connID
}
}
}
@@ -83,6 +80,7 @@ func (dps *DispatcherSCfg) loadFromJsonCfg(jsnCfg *DispatcherSJsonCfg) (err erro
return nil
}
+// AsMapInterface returns the config as a map[string]interface{}
func (dps *DispatcherSCfg) AsMapInterface() (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: dps.Enabled,
@@ -113,13 +111,50 @@ func (dps *DispatcherSCfg) AsMapInterface() (initialMP map[string]interface{}) {
if dps.AttributeSConns != nil {
attributeSConns := make([]string, len(dps.AttributeSConns))
for i, item := range dps.AttributeSConns {
+ attributeSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes) {
- attributeSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaAttributes)
- } else {
- attributeSConns[i] = item
+ attributeSConns[i] = utils.MetaInternal
}
}
initialMP[utils.AttributeSConnsCfg] = attributeSConns
}
return
}
+
+// Clone returns a deep copy of DispatcherSCfg
+func (dps DispatcherSCfg) Clone() (cln *DispatcherSCfg) {
+ cln = &DispatcherSCfg{
+ Enabled: dps.Enabled,
+ IndexedSelects: dps.IndexedSelects,
+ NestedFields: dps.NestedFields,
+ }
+
+ if dps.AttributeSConns != nil {
+ cln.AttributeSConns = make([]string, len(dps.AttributeSConns))
+ for i, conn := range dps.AttributeSConns {
+ cln.AttributeSConns[i] = conn
+ }
+ }
+ if dps.StringIndexedFields != nil {
+ idx := make([]string, len(*dps.StringIndexedFields))
+ for i, dx := range *dps.StringIndexedFields {
+ idx[i] = dx
+ }
+ cln.StringIndexedFields = &idx
+ }
+ if dps.PrefixIndexedFields != nil {
+ idx := make([]string, len(*dps.PrefixIndexedFields))
+ for i, dx := range *dps.PrefixIndexedFields {
+ idx[i] = dx
+ }
+ cln.PrefixIndexedFields = &idx
+ }
+ if dps.SuffixIndexedFields != nil {
+ idx := make([]string, len(*dps.SuffixIndexedFields))
+ for i, dx := range *dps.SuffixIndexedFields {
+ idx[i] = dx
+ }
+ cln.SuffixIndexedFields = &idx
+ }
+ return
+}
diff --git a/config/dispatcherscfg_test.go b/config/dispatcherscfg_test.go
index cabeaa9f8..3e351fb65 100644
--- a/config/dispatcherscfg_test.go
+++ b/config/dispatcherscfg_test.go
@@ -46,7 +46,7 @@ func TestDispatcherSCfgloadFromJsonCfg(t *testing.T) {
}
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsnCfg.dispatcherSCfg.loadFromJsonCfg(jsonCfg); err != nil {
+ } else if err = jsnCfg.dispatcherSCfg.loadFromJSONCfg(jsonCfg); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, jsnCfg.dispatcherSCfg) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(jsnCfg.dispatcherSCfg))
@@ -127,3 +127,32 @@ func TestDispatcherSCfgAsMapInterface2(t *testing.T) {
t.Errorf("Expected %+v, received %+v", eMap, rcv)
}
}
+func TestDispatcherSCfgClone(t *testing.T) {
+ ban := &DispatcherSCfg{
+ Enabled: true,
+ IndexedSelects: true,
+ StringIndexedFields: &[]string{"*req.prefix", "*req.indexed"},
+ PrefixIndexedFields: &[]string{"*req.prefix", "*req.indexed", "*req.fields"},
+ SuffixIndexedFields: &[]string{"*req.prefix", "*req.indexed", "*req.fields"},
+ AttributeSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes), "*conn1"},
+ NestedFields: true,
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+ if rcv.AttributeSConns[1] = ""; ban.AttributeSConns[1] != "*conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+
+ if (*rcv.StringIndexedFields)[0] = ""; (*ban.StringIndexedFields)[0] != "*req.prefix" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+
+ if (*rcv.PrefixIndexedFields)[0] = ""; (*ban.PrefixIndexedFields)[0] != "*req.prefix" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.SuffixIndexedFields)[0] = ""; (*ban.SuffixIndexedFields)[0] != "*req.prefix" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+}
diff --git a/config/dnsagentcfg_test.go b/config/dnsagentcfg_test.go
index 74593d9d6..dca7d9ca6 100644
--- a/config/dnsagentcfg_test.go
+++ b/config/dnsagentcfg_test.go
@@ -69,7 +69,7 @@ func TestDNSAgentCfgloadFromJsonCfg(t *testing.T) {
}
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.dnsAgentCfg.loadFromJsonCfg(jsnCfg, jsonCfg.generalCfg.RSRSep); err != nil {
+ } else if err = jsonCfg.dnsAgentCfg.loadFromJSONCfg(jsnCfg, jsonCfg.generalCfg.RSRSep); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(jsonCfg.dnsAgentCfg, expected) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(jsonCfg.dnsAgentCfg))
@@ -118,7 +118,7 @@ func TestRequestProcessorDNSAgentloadFromJsonCfg(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err := jsonCfg.dnsAgentCfg.loadFromJsonCfg(cfgJSON, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
+ } else if err := jsonCfg.dnsAgentCfg.loadFromJSONCfg(cfgJSON, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -142,7 +142,7 @@ func TestRequestProcessorDNSAgentloadFromJsonCfg1(t *testing.T) {
}
if jsonCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
t.Error(err)
- } else if err = jsonCfg.dnsAgentCfg.loadFromJsonCfg(cfgJSON, jsonCfg.generalCfg.RSRSep); err != nil {
+ } else if err = jsonCfg.dnsAgentCfg.loadFromJSONCfg(cfgJSON, jsonCfg.generalCfg.RSRSep); err != nil {
t.Error(err)
}
}
@@ -162,7 +162,7 @@ func TestRequestProcessorReplyFieldsloadFromJsonCfg(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err := jsonCfg.dnsAgentCfg.loadFromJsonCfg(cfgJSON, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
+ } else if err := jsonCfg.dnsAgentCfg.loadFromJSONCfg(cfgJSON, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -182,7 +182,7 @@ func TestRequestProcessorRequestFieldsloadFromJsonCfg(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err := jsonCfg.dnsAgentCfg.loadFromJsonCfg(cfgJSON, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
+ } else if err := jsonCfg.dnsAgentCfg.loadFromJSONCfg(cfgJSON, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -288,7 +288,7 @@ func TestRequestProcessorClone(t *testing.T) {
}
rcv := rp.Clone()
if !reflect.DeepEqual(rp, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(rp), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(rp), utils.ToJSON(rcv))
}
rcv.Filters[0] = "*string:~req.Account:1002"
if rp.Filters[0] != "*string:~req.Account:1001" {
diff --git a/config/dnsagntcfg.go b/config/dnsagntcfg.go
index ce49f5b3b..2bdd588b1 100644
--- a/config/dnsagntcfg.go
+++ b/config/dnsagntcfg.go
@@ -24,6 +24,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
+// DNSAgentCfg the config section that describes the DNS Agent
type DNSAgentCfg struct {
Enabled bool
Listen string
@@ -33,7 +34,7 @@ type DNSAgentCfg struct {
RequestProcessors []*RequestProcessor
}
-func (da *DNSAgentCfg) loadFromJsonCfg(jsnCfg *DNSAgentJsonCfg, sep string) (err error) {
+func (da *DNSAgentCfg) loadFromJSONCfg(jsnCfg *DNSAgentJsonCfg, sep string) (err error) {
if jsnCfg == nil {
return nil
}
@@ -53,10 +54,9 @@ func (da *DNSAgentCfg) loadFromJsonCfg(jsnCfg *DNSAgentJsonCfg, sep string) (err
da.SessionSConns = make([]string, len(*jsnCfg.Sessions_conns))
for idx, connID := range *jsnCfg.Sessions_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ da.SessionSConns[idx] = connID
if connID == utils.MetaInternal {
da.SessionSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS)
- } else {
- da.SessionSConns[idx] = connID
}
}
}
@@ -82,6 +82,7 @@ func (da *DNSAgentCfg) loadFromJsonCfg(jsnCfg *DNSAgentJsonCfg, sep string) (err
return
}
+// AsMapInterface returns the config as a map[string]interface{}
func (da *DNSAgentCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: da.Enabled,
@@ -146,12 +147,12 @@ func (rp *RequestProcessor) loadFromJSONCfg(jsnCfg *ReqProcessorJsnCfg, sep stri
}
}
if jsnCfg.Request_fields != nil {
- if rp.RequestFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Request_fields, sep); err != nil {
+ if rp.RequestFields, err = FCTemplatesFromFCTemplatesJSONCfg(*jsnCfg.Request_fields, sep); err != nil {
return
}
}
if jsnCfg.Reply_fields != nil {
- if rp.ReplyFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Reply_fields, sep); err != nil {
+ if rp.ReplyFields, err = FCTemplatesFromFCTemplatesJSONCfg(*jsnCfg.Reply_fields, sep); err != nil {
return
}
}
diff --git a/config/eescfg.go b/config/eescfg.go
index 3ab36b061..56caebcce 100644
--- a/config/eescfg.go
+++ b/config/eescfg.go
@@ -24,6 +24,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
+// EEsCfg the config for Event Exporters
type EEsCfg struct {
Enabled bool
AttributeSConns []string
@@ -31,6 +32,7 @@ type EEsCfg struct {
Exporters []*EventExporterCfg
}
+// GetDefaultExporter returns the exporter with the *default id
func (eeS *EEsCfg) GetDefaultExporter() *EventExporterCfg {
for _, es := range eeS.Exporters {
if es.ID == utils.MetaDefault {
@@ -151,6 +153,7 @@ func (eeS *EEsCfg) AsMapInterface(separator string) (initialMP map[string]interf
return
}
+// EventExporterCfg the config for a Event Exporter
type EventExporterCfg struct {
ID string
Type string
@@ -223,7 +226,7 @@ func (eeC *EventExporterCfg) loadFromJSONCfg(jsnEec *EventExporterJsonCfg, msgTe
eeC.headerFields = make([]*FCTemplate, 0)
eeC.contentFields = make([]*FCTemplate, 0)
eeC.trailerFields = make([]*FCTemplate, 0)
- eeC.Fields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnEec.Fields, separator)
+ eeC.Fields, err = FCTemplatesFromFCTemplatesJSONCfg(*jsnEec.Fields, separator)
if err != nil {
return
}
@@ -254,14 +257,17 @@ func (eeC *EventExporterCfg) loadFromJSONCfg(jsnEec *EventExporterJsonCfg, msgTe
return
}
+// HeaderFields returns the fields that have *hdr prefix
func (eeC *EventExporterCfg) HeaderFields() []*FCTemplate {
return eeC.headerFields
}
+// ContentFields returns the fields that do not have *hdr or *trl prefix
func (eeC *EventExporterCfg) ContentFields() []*FCTemplate {
return eeC.contentFields
}
+// TrailerFields returns the fields that have *trl prefix
func (eeC *EventExporterCfg) TrailerFields() []*FCTemplate {
return eeC.trailerFields
}
diff --git a/config/eescfg_test.go b/config/eescfg_test.go
index 6a728aeb7..035307e51 100644
--- a/config/eescfg_test.go
+++ b/config/eescfg_test.go
@@ -200,7 +200,7 @@ func TestEESClone(t *testing.T) {
}
func TestEventExporterFieldloadFromJsonCfg(t *testing.T) {
- eventExporterJson := &EEsJsonCfg{
+ eventExporterJSON := &EEsJsonCfg{
Exporters: &[]*EventExporterJsonCfg{
{
Fields: &[]*FcTemplateJsonCfg{
@@ -214,13 +214,13 @@ func TestEventExporterFieldloadFromJsonCfg(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.eesCfg.loadFromJSONCfg(eventExporterJson, jsonCfg.templates, jsonCfg.generalCfg.RSRSep, jsonCfg.dfltEvExp); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.eesCfg.loadFromJSONCfg(eventExporterJSON, jsonCfg.templates, jsonCfg.generalCfg.RSRSep, jsonCfg.dfltEvExp); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
func TestEventExporterFieldloadFromJsonCfg1(t *testing.T) {
- eventExporterJson := &EEsJsonCfg{
+ eventExporterJSON := &EEsJsonCfg{
Exporters: &[]*EventExporterJsonCfg{
{
Fields: &[]*FcTemplateJsonCfg{
@@ -234,7 +234,7 @@ func TestEventExporterFieldloadFromJsonCfg1(t *testing.T) {
expected := "no template with id: <>"
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.eesCfg.loadFromJSONCfg(eventExporterJson, jsonCfg.templates, jsonCfg.generalCfg.RSRSep, jsonCfg.dfltEvExp); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.eesCfg.loadFromJSONCfg(eventExporterJSON, jsonCfg.templates, jsonCfg.generalCfg.RSRSep, jsonCfg.dfltEvExp); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
diff --git a/config/erscfg.go b/config/erscfg.go
index 3ad5ce40c..62024da4a 100644
--- a/config/erscfg.go
+++ b/config/erscfg.go
@@ -24,6 +24,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
+// ERsCfg the config for ERs
type ERsCfg struct {
Enabled bool
SessionSConns []string
@@ -123,6 +124,7 @@ func (erS *ERsCfg) AsMapInterface(separator string) (initialMP map[string]interf
return
}
+// EventReaderCfg the event for the Event Reader
type EventReaderCfg struct {
ID string
Type string
@@ -211,7 +213,7 @@ func (er *EventReaderCfg) loadFromJSONCfg(jsnCfg *EventReaderJsonCfg, msgTemplat
er.PartialCacheExpiryAction = *jsnCfg.Partial_cache_expiry_action
}
if jsnCfg.Fields != nil {
- if er.Fields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Fields, sep); err != nil {
+ if er.Fields, err = FCTemplatesFromFCTemplatesJSONCfg(*jsnCfg.Fields, sep); err != nil {
return err
}
if tpls, err := InflateTemplates(er.Fields, msgTemplates); err != nil {
@@ -221,7 +223,7 @@ func (er *EventReaderCfg) loadFromJSONCfg(jsnCfg *EventReaderJsonCfg, msgTemplat
}
}
if jsnCfg.Cache_dump_fields != nil {
- if er.CacheDumpFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Cache_dump_fields, sep); err != nil {
+ if er.CacheDumpFields, err = FCTemplatesFromFCTemplatesJSONCfg(*jsnCfg.Cache_dump_fields, sep); err != nil {
return err
}
if tpls, err := InflateTemplates(er.CacheDumpFields, msgTemplates); err != nil {
diff --git a/config/erscfg_test.go b/config/erscfg_test.go
index 4456d2fb4..0b1421206 100644
--- a/config/erscfg_test.go
+++ b/config/erscfg_test.go
@@ -903,7 +903,7 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) {
if cfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
t.Error(err)
} else if rcv := cfg.ersCfg.AsMapInterface(utils.INFIELD_SEP); !reflect.DeepEqual(eMap, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
@@ -1009,7 +1009,7 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) {
if cfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
t.Error(err)
} else if rcv := cfg.ersCfg.AsMapInterface(utils.INFIELD_SEP); !reflect.DeepEqual(eMap, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
diff --git a/config/fctemplate.go b/config/fctemplate.go
index 4fb79b455..745d862fd 100644
--- a/config/fctemplate.go
+++ b/config/fctemplate.go
@@ -26,7 +26,8 @@ import (
"github.com/cgrates/cgrates/utils"
)
-func NewFCTemplateFromFCTemplateJsonCfg(jsnCfg *FcTemplateJsonCfg, separator string) (*FCTemplate, error) {
+// NewFCTemplateFromFCTemplateJSONCfg creates a FCTemplate from json
+func NewFCTemplateFromFCTemplateJSONCfg(jsnCfg *FcTemplateJsonCfg, separator string) (*FCTemplate, error) {
fcTmp := new(FCTemplate)
var err error
if jsnCfg.Type != nil {
@@ -97,6 +98,7 @@ func NewFCTemplateFromFCTemplateJsonCfg(jsnCfg *FcTemplateJsonCfg, separator str
return fcTmp, nil
}
+// FCTemplate the teplate for a field
type FCTemplate struct {
Tag string
Type string // Type of field
@@ -120,10 +122,11 @@ type FCTemplate struct {
pathSlice []string // Used when we set a NMItem to not recreate this slice for every itemsc
}
-func FCTemplatesFromFCTemplatesJsonCfg(jsnCfgFlds []*FcTemplateJsonCfg, separator string) (retFields []*FCTemplate, err error) {
+// FCTemplatesFromFCTemplatesJSONCfg will build a list of FCTemplates from json
+func FCTemplatesFromFCTemplatesJSONCfg(jsnCfgFlds []*FcTemplateJsonCfg, separator string) (retFields []*FCTemplate, err error) {
retFields = make([]*FCTemplate, len(jsnCfgFlds))
for i, jsnFld := range jsnCfgFlds {
- if retFields[i], err = NewFCTemplateFromFCTemplateJsonCfg(jsnFld, separator); err != nil {
+ if retFields[i], err = NewFCTemplateFromFCTemplateJSONCfg(jsnFld, separator); err != nil {
return nil, err
}
}
@@ -201,6 +204,7 @@ func (fc FCTemplate) Clone() (cln *FCTemplate) {
return
}
+// FcTemplates the config for the templates
type FcTemplates map[string][]*FCTemplate
// AsMapInterface returns the config as a map[string]interface{}
diff --git a/config/fctemplate_test.go b/config/fctemplate_test.go
index 8b579dfa1..a4dd09dd2 100644
--- a/config/fctemplate_test.go
+++ b/config/fctemplate_test.go
@@ -42,7 +42,7 @@ func TestNewFCTemplateFromFCTemplateJsonCfg(t *testing.T) {
Layout: time.RFC3339,
}
expected.ComputePath()
- if rcv, err := NewFCTemplateFromFCTemplateJsonCfg(jsonCfg, utils.INFIELD_SEP); err != nil {
+ if rcv, err := NewFCTemplateFromFCTemplateJSONCfg(jsonCfg, utils.INFIELD_SEP); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, rcv) {
t.Errorf("expected: %s ,received: %s", utils.ToJSON(expected), utils.ToJSON(rcv))
@@ -130,7 +130,7 @@ func TestFCTemplatesFromFCTemplatesJsonCfg(t *testing.T) {
for _, v := range expected {
v.ComputePath()
}
- if rcv, err := FCTemplatesFromFCTemplatesJsonCfg(jsnCfgs, utils.INFIELD_SEP); err != nil {
+ if rcv, err := FCTemplatesFromFCTemplatesJSONCfg(jsnCfgs, utils.INFIELD_SEP); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, rcv) {
t.Errorf("expected: %s ,received: %s", utils.ToJSON(expected), utils.ToJSON(rcv))
diff --git a/config/fwvdp.go b/config/fwvdp.go
index 386cd1537..804ac6272 100644
--- a/config/fwvdp.go
+++ b/config/fwvdp.go
@@ -27,7 +27,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
-// NewfwvProvider constructs a utils.DataProvider
+// NewFWVProvider constructs a utils.DataProvider
func NewFWVProvider(record string) (dP utils.DataProvider) {
dP = &FWVProvider{
req: record,
@@ -36,7 +36,7 @@ func NewFWVProvider(record string) (dP utils.DataProvider) {
return
}
-// fwvProvider implements engine.utils.DataProvider so we can pass it to filters
+// FWVProvider implements engine.utils.DataProvider so we can pass it to filters
type FWVProvider struct {
req string
cache utils.MapStorage
diff --git a/config/loadercgrcfg.go b/config/loadercgrcfg.go
index 67f4d5806..56aa0d4b9 100644
--- a/config/loadercgrcfg.go
+++ b/config/loadercgrcfg.go
@@ -24,6 +24,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
+// LoaderCgrCfg the config for cgr-loader
type LoaderCgrCfg struct {
TpID string
DataPath string
diff --git a/config/loadercgrcfg_test.go b/config/loadercgrcfg_test.go
index b5d582a03..b5208ec45 100644
--- a/config/loadercgrcfg_test.go
+++ b/config/loadercgrcfg_test.go
@@ -98,7 +98,7 @@ func TestLoaderCgrCfgClone(t *testing.T) {
}
rcv := ban.Clone()
if !reflect.DeepEqual(ban, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
}
if rcv.CachesConns[0] = ""; ban.CachesConns[0] != "*internal:*caches" {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/loaderscfg.go b/config/loaderscfg.go
index 8648168e9..ef24f9600 100644
--- a/config/loaderscfg.go
+++ b/config/loaderscfg.go
@@ -89,7 +89,7 @@ func (self *LoaderDataType) loadFromJsonCfg(jsnCfg *LoaderJsonDataType, msgTempl
self.Flags = utils.FlagsWithParamsFromSlice(*jsnCfg.Flags)
}
if jsnCfg.Fields != nil {
- if self.Fields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Fields, separator); err != nil {
+ if self.Fields, err = FCTemplatesFromFCTemplatesJSONCfg(*jsnCfg.Fields, separator); err != nil {
return
}
if tpls, err := InflateTemplates(self.Fields, msgTemplates); err != nil {
diff --git a/config/loaderscfg_test.go b/config/loaderscfg_test.go
index accfe4505..7193e7080 100644
--- a/config/loaderscfg_test.go
+++ b/config/loaderscfg_test.go
@@ -116,7 +116,7 @@ func TestLoaderSCfgloadFromJsonCfgCase2(t *testing.T) {
}
func TestLoaderSCfgloadFromJsonCfgCase3(t *testing.T) {
- cfgJson := &LoaderJsonCfg{
+ cfg := &LoaderJsonCfg{
Data: &[]*LoaderJsonDataType{
{
Fields: &[]*FcTemplateJsonCfg{
@@ -130,13 +130,13 @@ func TestLoaderSCfgloadFromJsonCfgCase3(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err := jsonCfg.loaderCfg[0].loadFromJsonCfg(cfgJson, jsonCfg.templates, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
+ } else if err := jsonCfg.loaderCfg[0].loadFromJsonCfg(cfg, jsonCfg.templates, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
func TestLoaderSCfgloadFromJsonCfgCase4(t *testing.T) {
- cfgJson := &LoaderJsonCfg{
+ cfg := &LoaderJsonCfg{
Data: &[]*LoaderJsonDataType{
{
Fields: &[]*FcTemplateJsonCfg{
@@ -150,13 +150,13 @@ func TestLoaderSCfgloadFromJsonCfgCase4(t *testing.T) {
expected := "no template with id: <>"
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.loaderCfg[0].loadFromJsonCfg(cfgJson, jsonCfg.templates, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.loaderCfg[0].loadFromJsonCfg(cfg, jsonCfg.templates, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
func TestLoaderSCfgloadFromJsonCfgCase5(t *testing.T) {
- cfgJson := &LoaderJsonCfg{
+ cfg := &LoaderJsonCfg{
Data: &[]*LoaderJsonDataType{
{
Fields: &[]*FcTemplateJsonCfg{
@@ -200,7 +200,7 @@ func TestLoaderSCfgloadFromJsonCfgCase5(t *testing.T) {
}
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.loaderCfg[0].loadFromJsonCfg(cfgJson, msgTemplates, jsonCfg.generalCfg.RSRSep); err != nil {
+ } else if err = jsonCfg.loaderCfg[0].loadFromJsonCfg(cfg, msgTemplates, jsonCfg.generalCfg.RSRSep); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(jsonCfg.loaderCfg[0].Data[0].Fields[0], expectedFields[0].Data[0].Fields[0]) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expectedFields[0].Data[0].Fields[0]), utils.ToJSON(jsonCfg.loaderCfg[0].Data[0].Fields[0]))
@@ -208,12 +208,12 @@ func TestLoaderSCfgloadFromJsonCfgCase5(t *testing.T) {
}
func TestLoaderSCfgloadFromJsonCfgCase6(t *testing.T) {
- cfgJson := &LoaderJsonCfg{
+ cfg := &LoaderJsonCfg{
Data: &[]*LoaderJsonDataType{nil},
}
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.loaderCfg[0].loadFromJsonCfg(cfgJson, jsonCfg.templates, jsonCfg.generalCfg.RSRSep); err != nil {
+ } else if err = jsonCfg.loaderCfg[0].loadFromJsonCfg(cfg, jsonCfg.templates, jsonCfg.generalCfg.RSRSep); err != nil {
t.Error(err)
}
}
diff --git a/config/mailercfg_test.go b/config/mailercfg_test.go
index 7de2800a6..a08281f6f 100644
--- a/config/mailercfg_test.go
+++ b/config/mailercfg_test.go
@@ -94,7 +94,7 @@ func TestMailerCfgClone(t *testing.T) {
}
rcv := cS.Clone()
if !reflect.DeepEqual(cS, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(cS), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(cS), utils.ToJSON(rcv))
}
if rcv.MailerServer = ""; cS.MailerServer != "localhost" {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/migratorcfg.go b/config/migratorcfg.go
index c07ebd862..30fa15da0 100644
--- a/config/migratorcfg.go
+++ b/config/migratorcfg.go
@@ -24,6 +24,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
+// MigratorCgrCfg the migrator config section
type MigratorCgrCfg struct {
OutDataDBType string
OutDataDBHost string
diff --git a/config/migratorcfg_test.go b/config/migratorcfg_test.go
index 65db72ca6..b36f46030 100644
--- a/config/migratorcfg_test.go
+++ b/config/migratorcfg_test.go
@@ -75,12 +75,12 @@ func TestMigratorCgrCfgloadFromJsonCfg(t *testing.T) {
utils.RedisSentinelNameCfg: utils.EmptyString,
},
}
- if cfgJson, err := NewDefaultCGRConfig(); err != nil {
+ if cfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = cfgJson.migratorCgrCfg.loadFromJSONCfg(cfgJSON); err != nil {
+ } else if err = cfg.migratorCgrCfg.loadFromJSONCfg(cfgJSON); err != nil {
t.Error(err)
- } else if !reflect.DeepEqual(expected, cfgJson.migratorCgrCfg) {
- t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(cfgJson.migratorCgrCfg))
+ } else if !reflect.DeepEqual(expected, cfg.migratorCgrCfg) {
+ t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(cfg.migratorCgrCfg))
}
}
@@ -248,7 +248,7 @@ func TestMigratorCgrCfgClone(t *testing.T) {
}
rcv := sa.Clone()
if !reflect.DeepEqual(sa, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(sa), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(sa), utils.ToJSON(rcv))
}
if rcv.UsersFilters[0] = ""; sa.UsersFilters[0] != utils.Account {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/multifiles_it_test.go b/config/multifiles_it_test.go
index d5878422a..04f0144b1 100644
--- a/config/multifiles_it_test.go
+++ b/config/multifiles_it_test.go
@@ -84,8 +84,8 @@ func TestMfEnvReaderITRead(t *testing.T) {
}
func TestMfHttpAgentMultipleFields(t *testing.T) {
- if len(mfCgrCfg.HttpAgentCfg()) != 2 {
- t.Errorf("Expected: 2, received: %+v", len(mfCgrCfg.HttpAgentCfg()))
+ if len(mfCgrCfg.HTTPAgentCfg()) != 2 {
+ t.Errorf("Expected: 2, received: %+v", len(mfCgrCfg.HTTPAgentCfg()))
}
expected := HttpAgentCfgs{
{
@@ -195,7 +195,7 @@ func TestMfHttpAgentMultipleFields(t *testing.T) {
}
}
- if !reflect.DeepEqual(mfCgrCfg.HttpAgentCfg(), expected) {
- t.Errorf("Expected: %+v\n, received: %+v", utils.ToJSON(expected), utils.ToJSON(mfCgrCfg.HttpAgentCfg()))
+ if !reflect.DeepEqual(mfCgrCfg.HTTPAgentCfg(), expected) {
+ t.Errorf("Expected: %+v\n, received: %+v", utils.ToJSON(expected), utils.ToJSON(mfCgrCfg.HTTPAgentCfg()))
}
}
diff --git a/config/objdp.go b/config/objdp.go
index 3e19f002a..4d790ae78 100644
--- a/config/objdp.go
+++ b/config/objdp.go
@@ -26,7 +26,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
-//NewObjectDP constructs a utils.DataProvider
+// NewObjectDP constructs a utils.DataProvider
func NewObjectDP(obj interface{}) (dP utils.DataProvider) {
dP = &ObjectDP{
obj: obj,
@@ -35,6 +35,7 @@ func NewObjectDP(obj interface{}) (dP utils.DataProvider) {
return
}
+// ObjectDP implements the DataProvider for any interface{}
type ObjectDP struct {
obj interface{}
cache map[string]interface{}
diff --git a/config/radiuscfg_test.go b/config/radiuscfg_test.go
index 49962b098..7bc310e0f 100644
--- a/config/radiuscfg_test.go
+++ b/config/radiuscfg_test.go
@@ -87,12 +87,12 @@ func TestRadiusAgentCfgloadFromJsonCfgCase1(t *testing.T) {
for _, r := range expected.RequestProcessors[0].ReplyFields {
r.ComputePath()
}
- if cfgJson, err := NewDefaultCGRConfig(); err != nil {
+ if cfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = cfgJson.radiusAgentCfg.loadFromJsonCfg(cfgJSON, cfgJson.generalCfg.RSRSep); err != nil {
+ } else if err = cfg.radiusAgentCfg.loadFromJsonCfg(cfgJSON, cfg.generalCfg.RSRSep); err != nil {
t.Error(err)
- } else if !reflect.DeepEqual(expected, cfgJson.radiusAgentCfg) {
- t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(cfgJson.radiusAgentCfg))
+ } else if !reflect.DeepEqual(expected, cfg.radiusAgentCfg) {
+ t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(cfg.radiusAgentCfg))
}
}
diff --git a/config/ratescfg.go b/config/ratescfg.go
index 7c9ed1cee..c9f1fef25 100644
--- a/config/ratescfg.go
+++ b/config/ratescfg.go
@@ -22,6 +22,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
+// RateSCfg the rates config section
type RateSCfg struct {
Enabled bool
IndexedSelects bool
diff --git a/config/ratescfg_test.go b/config/ratescfg_test.go
index fdbb58b0c..b6ce15944 100644
--- a/config/ratescfg_test.go
+++ b/config/ratescfg_test.go
@@ -135,7 +135,7 @@ func TestRateSCfgClone(t *testing.T) {
}
rcv := sa.Clone()
if !reflect.DeepEqual(sa, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(sa), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(sa), utils.ToJSON(rcv))
}
(*rcv.StringIndexedFields)[0] = ""
if (*sa.StringIndexedFields)[0] != "*req.index1" {
diff --git a/config/resourcescfg.go b/config/resourcescfg.go
index 897ae5e2b..42cb25554 100644
--- a/config/resourcescfg.go
+++ b/config/resourcescfg.go
@@ -19,12 +19,12 @@ along with this program. If not, see
package config
import (
- "strings"
"time"
"github.com/cgrates/cgrates/utils"
)
+// ResourceSConfig is resorces section config
type ResourceSConfig struct {
Enabled bool
IndexedSelects bool
@@ -36,7 +36,7 @@ type ResourceSConfig struct {
NestedFields bool
}
-func (rlcfg *ResourceSConfig) loadFromJsonCfg(jsnCfg *ResourceSJsonCfg) (err error) {
+func (rlcfg *ResourceSConfig) loadFromJSONCfg(jsnCfg *ResourceSJsonCfg) (err error) {
if jsnCfg == nil {
return nil
}
@@ -50,10 +50,9 @@ func (rlcfg *ResourceSConfig) loadFromJsonCfg(jsnCfg *ResourceSJsonCfg) (err err
rlcfg.ThresholdSConns = make([]string, len(*jsnCfg.Thresholds_conns))
for idx, conn := range *jsnCfg.Thresholds_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ rlcfg.ThresholdSConns[idx] = conn
if conn == utils.MetaInternal {
rlcfg.ThresholdSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)
- } else {
- rlcfg.ThresholdSConns[idx] = conn
}
}
}
@@ -89,19 +88,20 @@ func (rlcfg *ResourceSConfig) loadFromJsonCfg(jsnCfg *ResourceSJsonCfg) (err err
return nil
}
+// AsMapInterface returns the config as a map[string]interface{}
func (rlcfg *ResourceSConfig) AsMapInterface() (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: rlcfg.Enabled,
utils.IndexedSelectsCfg: rlcfg.IndexedSelects,
utils.NestedFieldsCfg: rlcfg.NestedFields,
+ utils.StoreIntervalCfg: utils.EmptyString,
}
if rlcfg.ThresholdSConns != nil {
thresholdSConns := make([]string, len(rlcfg.ThresholdSConns))
for i, item := range rlcfg.ThresholdSConns {
+ thresholdSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds) {
- thresholdSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaThresholds)
- } else {
- thresholdSConns[i] = item
+ thresholdSConns[i] = utils.MetaInternal
}
}
initialMP[utils.ThresholdSConnsCfg] = thresholdSConns
@@ -129,8 +129,45 @@ func (rlcfg *ResourceSConfig) AsMapInterface() (initialMP map[string]interface{}
}
if rlcfg.StoreInterval != 0 {
initialMP[utils.StoreIntervalCfg] = rlcfg.StoreInterval.String()
- } else {
- initialMP[utils.StoreIntervalCfg] = utils.EmptyString
+ }
+ return
+}
+
+// Clone returns a deep copy of ResourceSConfig
+func (rlcfg ResourceSConfig) Clone() (cln *ResourceSConfig) {
+ cln = &ResourceSConfig{
+ Enabled: rlcfg.Enabled,
+ IndexedSelects: rlcfg.IndexedSelects,
+ StoreInterval: rlcfg.StoreInterval,
+ NestedFields: rlcfg.NestedFields,
+ }
+ if rlcfg.ThresholdSConns != nil {
+ cln.ThresholdSConns = make([]string, len(rlcfg.ThresholdSConns))
+ for i, con := range rlcfg.ThresholdSConns {
+ cln.ThresholdSConns[i] = con
+ }
+ }
+
+ if rlcfg.StringIndexedFields != nil {
+ idx := make([]string, len(*rlcfg.StringIndexedFields))
+ for i, dx := range *rlcfg.StringIndexedFields {
+ idx[i] = dx
+ }
+ cln.StringIndexedFields = &idx
+ }
+ if rlcfg.PrefixIndexedFields != nil {
+ idx := make([]string, len(*rlcfg.PrefixIndexedFields))
+ for i, dx := range *rlcfg.PrefixIndexedFields {
+ idx[i] = dx
+ }
+ cln.PrefixIndexedFields = &idx
+ }
+ if rlcfg.SuffixIndexedFields != nil {
+ idx := make([]string, len(*rlcfg.SuffixIndexedFields))
+ for i, dx := range *rlcfg.SuffixIndexedFields {
+ idx[i] = dx
+ }
+ cln.SuffixIndexedFields = &idx
}
return
}
diff --git a/config/resourcescfg_test.go b/config/resourcescfg_test.go
index a9619560c..940a43df3 100644
--- a/config/resourcescfg_test.go
+++ b/config/resourcescfg_test.go
@@ -46,12 +46,12 @@ func TestResourceSConfigloadFromJsonCfgCase1(t *testing.T) {
SuffixIndexedFields: &[]string{"*req.index1"},
NestedFields: true,
}
- if cfgJson, err := NewDefaultCGRConfig(); err != nil {
+ if cfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = cfgJson.resourceSCfg.loadFromJsonCfg(cfgJSON); err != nil {
+ } else if err = cfg.resourceSCfg.loadFromJSONCfg(cfgJSON); err != nil {
t.Error(err)
- } else if !reflect.DeepEqual(expected, cfgJson.resourceSCfg) {
- t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(cfgJson.resourceSCfg))
+ } else if !reflect.DeepEqual(expected, cfg.resourceSCfg) {
+ t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(cfg.resourceSCfg))
}
}
@@ -62,7 +62,7 @@ func TestResourceSConfigloadFromJsonCfgCase2(t *testing.T) {
expected := "time: unknown unit \"ss\" in duration \"2ss\""
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.resourceSCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.resourceSCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -116,3 +116,32 @@ func TestResourceSConfigAsMapInterface1(t *testing.T) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
+
+func TestResourceSConfigClone(t *testing.T) {
+ ban := &ResourceSConfig{
+ Enabled: true,
+ IndexedSelects: true,
+ StoreInterval: 2 * time.Second,
+ ThresholdSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds), "*conn1"},
+ StringIndexedFields: &[]string{"*req.index1"},
+ PrefixIndexedFields: &[]string{"*req.index1"},
+ SuffixIndexedFields: &[]string{"*req.index1"},
+ NestedFields: true,
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+ if rcv.ThresholdSConns[1] = ""; ban.ThresholdSConns[1] != "*conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.StringIndexedFields)[0] = ""; (*ban.StringIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.PrefixIndexedFields)[0] = ""; (*ban.PrefixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.SuffixIndexedFields)[0] = ""; (*ban.SuffixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+}
diff --git a/config/routescfg.go b/config/routescfg.go
index 82044889a..accab5e6c 100644
--- a/config/routescfg.go
+++ b/config/routescfg.go
@@ -19,8 +19,6 @@ along with this program. If not, see
package config
import (
- "strings"
-
"github.com/cgrates/cgrates/utils"
)
@@ -40,7 +38,7 @@ type RouteSCfg struct {
NestedFields bool
}
-func (rts *RouteSCfg) loadFromJsonCfg(jsnCfg *RouteSJsonCfg) (err error) {
+func (rts *RouteSCfg) loadFromJSONCfg(jsnCfg *RouteSJsonCfg) (err error) {
if jsnCfg == nil {
return nil
}
@@ -75,10 +73,9 @@ func (rts *RouteSCfg) loadFromJsonCfg(jsnCfg *RouteSJsonCfg) (err error) {
rts.AttributeSConns = make([]string, len(*jsnCfg.Attributes_conns))
for idx, conn := range *jsnCfg.Attributes_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ rts.AttributeSConns[idx] = conn
if conn == utils.MetaInternal {
rts.AttributeSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)
- } else {
- rts.AttributeSConns[idx] = conn
}
}
}
@@ -86,10 +83,9 @@ func (rts *RouteSCfg) loadFromJsonCfg(jsnCfg *RouteSJsonCfg) (err error) {
rts.ResourceSConns = make([]string, len(*jsnCfg.Resources_conns))
for idx, conn := range *jsnCfg.Resources_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ rts.ResourceSConns[idx] = conn
if conn == utils.MetaInternal {
rts.ResourceSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)
- } else {
- rts.ResourceSConns[idx] = conn
}
}
}
@@ -97,10 +93,9 @@ func (rts *RouteSCfg) loadFromJsonCfg(jsnCfg *RouteSJsonCfg) (err error) {
rts.StatSConns = make([]string, len(*jsnCfg.Stats_conns))
for idx, conn := range *jsnCfg.Stats_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ rts.StatSConns[idx] = conn
if conn == utils.MetaInternal {
rts.StatSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)
- } else {
- rts.StatSConns[idx] = conn
}
}
}
@@ -108,10 +103,9 @@ func (rts *RouteSCfg) loadFromJsonCfg(jsnCfg *RouteSJsonCfg) (err error) {
rts.RALsConns = make([]string, len(*jsnCfg.Rals_conns))
for idx, conn := range *jsnCfg.Rals_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ rts.RALsConns[idx] = conn
if conn == utils.MetaInternal {
rts.RALsConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResponder)
- } else {
- rts.RALsConns[idx] = conn
}
}
}
@@ -119,10 +113,9 @@ func (rts *RouteSCfg) loadFromJsonCfg(jsnCfg *RouteSJsonCfg) (err error) {
rts.RateSConns = make([]string, len(*jsnCfg.Rates_conns))
for idx, conn := range *jsnCfg.Rates_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ rts.RateSConns[idx] = conn
if conn == utils.MetaInternal {
rts.RateSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRateS)
- } else {
- rts.RateSConns[idx] = conn
}
}
}
@@ -135,6 +128,7 @@ func (rts *RouteSCfg) loadFromJsonCfg(jsnCfg *RouteSJsonCfg) (err error) {
return nil
}
+// AsMapInterface returns the config as a map[string]interface{}
func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: rts.Enabled,
@@ -166,10 +160,9 @@ func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]interface{}) {
if rts.AttributeSConns != nil {
attributeSConns := make([]string, len(rts.AttributeSConns))
for i, item := range rts.AttributeSConns {
+ attributeSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes) {
- attributeSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaAttributes)
- } else {
- attributeSConns[i] = item
+ attributeSConns[i] = utils.MetaInternal
}
}
initialMP[utils.AttributeSConnsCfg] = attributeSConns
@@ -177,10 +170,9 @@ func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]interface{}) {
if rts.RALsConns != nil {
ralSConns := make([]string, len(rts.RALsConns))
for i, item := range rts.RALsConns {
+ ralSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResponder) {
- ralSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaResponder)
- } else {
- ralSConns[i] = item
+ ralSConns[i] = utils.MetaInternal
}
}
initialMP[utils.RALsConnsCfg] = ralSConns
@@ -188,10 +180,9 @@ func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]interface{}) {
if rts.ResourceSConns != nil {
resourceSConns := make([]string, len(rts.ResourceSConns))
for i, item := range rts.ResourceSConns {
+ resourceSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources) {
- resourceSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaResources)
- } else {
- resourceSConns[i] = item
+ resourceSConns[i] = utils.MetaInternal
}
}
initialMP[utils.ResourceSConnsCfg] = resourceSConns
@@ -199,10 +190,9 @@ func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]interface{}) {
if rts.StatSConns != nil {
statSConns := make([]string, len(rts.StatSConns))
for i, item := range rts.StatSConns {
+ statSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStatS) {
- statSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaStatS)
- } else {
- statSConns[i] = item
+ statSConns[i] = utils.MetaInternal
}
}
initialMP[utils.StatSConnsCfg] = statSConns
@@ -210,13 +200,75 @@ func (rts *RouteSCfg) AsMapInterface() (initialMP map[string]interface{}) {
if rts.RateSConns != nil {
rateSConns := make([]string, len(rts.RateSConns))
for i, item := range rts.RateSConns {
+ rateSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRateS) {
- rateSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaRateS)
- } else {
- rateSConns[i] = item
+ rateSConns[i] = utils.MetaInternal
}
}
initialMP[utils.RateSConnsCfg] = rateSConns
}
return
}
+
+// Clone returns a deep copy of RouteSCfg
+func (rts RouteSCfg) Clone() (cln *RouteSCfg) {
+ cln = &RouteSCfg{
+ Enabled: rts.Enabled,
+ IndexedSelects: rts.IndexedSelects,
+ DefaultRatio: rts.DefaultRatio,
+ NestedFields: rts.NestedFields,
+ }
+ if rts.AttributeSConns != nil {
+ cln.AttributeSConns = make([]string, len(rts.AttributeSConns))
+ for i, con := range rts.AttributeSConns {
+ cln.AttributeSConns[i] = con
+ }
+ }
+ if rts.ResourceSConns != nil {
+ cln.ResourceSConns = make([]string, len(rts.ResourceSConns))
+ for i, con := range rts.ResourceSConns {
+ cln.ResourceSConns[i] = con
+ }
+ }
+ if rts.StatSConns != nil {
+ cln.StatSConns = make([]string, len(rts.StatSConns))
+ for i, con := range rts.StatSConns {
+ cln.StatSConns[i] = con
+ }
+ }
+ if rts.RALsConns != nil {
+ cln.RALsConns = make([]string, len(rts.RALsConns))
+ for i, con := range rts.RALsConns {
+ cln.RALsConns[i] = con
+ }
+ }
+ if rts.RateSConns != nil {
+ cln.RateSConns = make([]string, len(rts.RateSConns))
+ for i, con := range rts.RateSConns {
+ cln.RateSConns[i] = con
+ }
+ }
+
+ if rts.StringIndexedFields != nil {
+ idx := make([]string, len(*rts.StringIndexedFields))
+ for i, dx := range *rts.StringIndexedFields {
+ idx[i] = dx
+ }
+ cln.StringIndexedFields = &idx
+ }
+ if rts.PrefixIndexedFields != nil {
+ idx := make([]string, len(*rts.PrefixIndexedFields))
+ for i, dx := range *rts.PrefixIndexedFields {
+ idx[i] = dx
+ }
+ cln.PrefixIndexedFields = &idx
+ }
+ if rts.SuffixIndexedFields != nil {
+ idx := make([]string, len(*rts.SuffixIndexedFields))
+ for i, dx := range *rts.SuffixIndexedFields {
+ idx[i] = dx
+ }
+ cln.SuffixIndexedFields = &idx
+ }
+ return
+}
diff --git a/config/routescfg_test.go b/config/routescfg_test.go
index 4cb0a67d6..99fc9728e 100644
--- a/config/routescfg_test.go
+++ b/config/routescfg_test.go
@@ -55,7 +55,7 @@ func TestRouteSCfgloadFromJsonCfg(t *testing.T) {
}
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.routeSCfg.loadFromJsonCfg(cfgJSON); err != nil {
+ } else if err = jsonCfg.routeSCfg.loadFromJSONCfg(cfgJSON); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, jsonCfg.routeSCfg) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(jsonCfg.routeSCfg))
@@ -123,3 +123,48 @@ func TestRouteSCfgAsMapInterface1(t *testing.T) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
+
+func TestRouteSCfgClone(t *testing.T) {
+ ban := &RouteSCfg{
+ Enabled: true,
+ IndexedSelects: true,
+ StringIndexedFields: &[]string{"*req.index1"},
+ PrefixIndexedFields: &[]string{"*req.index1", "*req.index2"},
+ SuffixIndexedFields: &[]string{"*req.index1", "*req.index2"},
+ AttributeSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes), "conn1"},
+ ResourceSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources), "conn1"},
+ StatSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStatS), "conn1"},
+ RALsConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResponder), "conn1"},
+ RateSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRateS), "conn1"},
+ DefaultRatio: 10,
+ NestedFields: true,
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+ if rcv.AttributeSConns[1] = ""; ban.AttributeSConns[1] != "conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if rcv.ResourceSConns[1] = ""; ban.ResourceSConns[1] != "conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if rcv.StatSConns[1] = ""; ban.StatSConns[1] != "conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if rcv.RALsConns[1] = ""; ban.RALsConns[1] != "conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if rcv.RateSConns[1] = ""; ban.RateSConns[1] != "conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.StringIndexedFields)[0] = ""; (*ban.StringIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.PrefixIndexedFields)[0] = ""; (*ban.PrefixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.SuffixIndexedFields)[0] = ""; (*ban.SuffixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+}
diff --git a/config/rsrparser.go b/config/rsrparser.go
index edf19cd0f..24a427175 100644
--- a/config/rsrparser.go
+++ b/config/rsrparser.go
@@ -31,6 +31,7 @@ var (
rulesRgxp = regexp.MustCompile(`(?:(.*[^\\])\/(.*[^\\])*\/){1,}`)
)
+// NewRSRParsers creates a new RSRParsers by spliting the rule using the separator
func NewRSRParsers(parsersRules string, rsrSeparator string) (prsrs RSRParsers, err error) {
if parsersRules == utils.EmptyString {
return
@@ -84,6 +85,7 @@ func NewRSRParsers(parsersRules string, rsrSeparator string) (prsrs RSRParsers,
return NewRSRParsersFromSlice(strings.Split(parsersRules, rsrSeparator))
}
+// NewRSRParsersFromSlice creates a new RSRParsers from a slice
func NewRSRParsersFromSlice(parsersRules []string) (prsrs RSRParsers, err error) {
prsrs = make(RSRParsers, len(parsersRules))
for i, rlStr := range parsersRules {
@@ -96,6 +98,7 @@ func NewRSRParsersFromSlice(parsersRules []string) (prsrs RSRParsers, err error)
return
}
+// NewRSRParsersMustCompile creates a new RSRParsers and panic if fails
func NewRSRParsersMustCompile(parsersRules string, rsrSeparator string) (prsrs RSRParsers) {
var err error
if prsrs, err = NewRSRParsers(parsersRules, rsrSeparator); err != nil {
@@ -140,6 +143,7 @@ func (prsrs RSRParsers) ParseValue(value interface{}) (out string, err error) {
return
}
+// ParseDataProvider will parse the dataprovider using DPDynamicString
func (prsrs RSRParsers) ParseDataProvider(dP utils.DataProvider) (out string, err error) {
for _, prsr := range prsrs {
var outPrsr string
@@ -151,6 +155,7 @@ func (prsrs RSRParsers) ParseDataProvider(dP utils.DataProvider) (out string, er
return
}
+// ParseDataProviderWithInterfaces will parse the dataprovider using DPDynamicInterface
func (prsrs RSRParsers) ParseDataProviderWithInterfaces(dP utils.DataProvider) (out string, err error) {
for _, prsr := range prsrs {
var outPrsr string
@@ -187,6 +192,7 @@ func (prsrs RSRParsers) Clone() (cln RSRParsers) {
return
}
+// NewRSRParser builds one RSRParser
func NewRSRParser(parserRules string) (rsrParser *RSRParser, err error) {
if len(parserRules) == 0 {
return
@@ -198,6 +204,7 @@ func NewRSRParser(parserRules string) (rsrParser *RSRParser, err error) {
return
}
+// NewRSRParserMustCompile creates a new RSRParser and panic if fails
func NewRSRParserMustCompile(parserRules string) (rsrPrsr *RSRParser) {
var err error
if rsrPrsr, err = NewRSRParser(parserRules); err != nil {
@@ -306,6 +313,7 @@ func (prsr *RSRParser) ParseValue(value interface{}) (out string, err error) {
return prsr.parseValue(out)
}
+// ParseDataProvider will parse the dataprovider using DPDynamicString
func (prsr *RSRParser) ParseDataProvider(dP utils.DataProvider) (out string, err error) {
if prsr.dynRules != nil {
var dynPath string
@@ -325,6 +333,7 @@ func (prsr *RSRParser) ParseDataProvider(dP utils.DataProvider) (out string, err
return prsr.parseValue(outStr)
}
+// ParseDataProviderWithInterfaces will parse the dataprovider using DPDynamicInterface
func (prsr *RSRParser) ParseDataProviderWithInterfaces(dP utils.DataProvider) (out string, err error) {
if prsr.dynRules != nil {
var dynPath string
@@ -344,6 +353,7 @@ func (prsr *RSRParser) ParseDataProviderWithInterfaces(dP utils.DataProvider) (o
return prsr.parseValue(utils.IfaceAsString(outIface))
}
+// CompileDynRule will return the compiled dynamic rule
func (prsr *RSRParser) CompileDynRule(dP utils.DataProvider) (p string, err error) {
if prsr.dynRules == nil {
return prsr.Rules, nil
diff --git a/config/rsrparser_test.go b/config/rsrparser_test.go
index 76474d1af..4d7ce73bb 100644
--- a/config/rsrparser_test.go
+++ b/config/rsrparser_test.go
@@ -870,7 +870,7 @@ func TestRSRParsersClone(t *testing.T) {
}
cln := rsrs.Clone()
if !reflect.DeepEqual(rsrs, cln) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(rsrs), utils.ToJSON(cln))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(rsrs), utils.ToJSON(cln))
}
cln[0].converters[0] = utils.NewDataConverterMustCompile(utils.MetaIP2Hex)
if reflect.DeepEqual(cln[0].converters[0], rsrs[0].converters[0]) {
diff --git a/config/sessionscfg_test.go b/config/sessionscfg_test.go
index e9f300062..8999b8823 100644
--- a/config/sessionscfg_test.go
+++ b/config/sessionscfg_test.go
@@ -709,7 +709,7 @@ func TestAsteriskAgentCfgAsMapInterface(t *testing.T) {
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
t.Error(err)
} else if rcv := cgrCfg.asteriskAgentCfg.AsMapInterface(); !reflect.DeepEqual(rcv, eMap) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
@@ -735,7 +735,7 @@ func TestAsteriskAgentCfgAsMapInterface1(t *testing.T) {
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
t.Error(err)
} else if rcv := cgrCfg.asteriskAgentCfg.AsMapInterface(); !reflect.DeepEqual(rcv, eMap) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
diff --git a/config/sipagentcfg_test.go b/config/sipagentcfg_test.go
index 6a778b0cf..769af0008 100644
--- a/config/sipagentcfg_test.go
+++ b/config/sipagentcfg_test.go
@@ -320,7 +320,7 @@ func TestSIPAgentCfgClone(t *testing.T) {
}
rcv := sa.Clone()
if !reflect.DeepEqual(sa, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", utils.ToJSON(sa), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(sa), utils.ToJSON(rcv))
}
if rcv.RequestProcessors[0].ID = ""; sa.RequestProcessors[0].ID != "OutboundAUTHDryRun" {
t.Errorf("Expected clone to not modify the cloned")
diff --git a/config/statscfg.go b/config/statscfg.go
index 06886a5f1..152e89a5d 100644
--- a/config/statscfg.go
+++ b/config/statscfg.go
@@ -19,12 +19,12 @@ along with this program. If not, see
package config
import (
- "strings"
"time"
"github.com/cgrates/cgrates/utils"
)
+// StatSCfg the stats config section
type StatSCfg struct {
Enabled bool
IndexedSelects bool
@@ -37,7 +37,7 @@ type StatSCfg struct {
NestedFields bool
}
-func (st *StatSCfg) loadFromJsonCfg(jsnCfg *StatServJsonCfg) (err error) {
+func (st *StatSCfg) loadFromJSONCfg(jsnCfg *StatServJsonCfg) (err error) {
if jsnCfg == nil {
return nil
}
@@ -59,10 +59,9 @@ func (st *StatSCfg) loadFromJsonCfg(jsnCfg *StatServJsonCfg) (err error) {
st.ThresholdSConns = make([]string, len(*jsnCfg.Thresholds_conns))
for idx, conn := range *jsnCfg.Thresholds_conns {
// if we have the connection internal we change the name so we can have internal rpc for each subsystem
+ st.ThresholdSConns[idx] = conn
if conn == utils.MetaInternal {
st.ThresholdSConns[idx] = utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)
- } else {
- st.ThresholdSConns[idx] = conn
}
}
}
@@ -93,17 +92,17 @@ func (st *StatSCfg) loadFromJsonCfg(jsnCfg *StatServJsonCfg) (err error) {
return nil
}
+// AsMapInterface returns the config as a map[string]interface{}
func (st *StatSCfg) AsMapInterface() (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: st.Enabled,
utils.IndexedSelectsCfg: st.IndexedSelects,
utils.StoreUncompressedLimitCfg: st.StoreUncompressedLimit,
utils.NestedFieldsCfg: st.NestedFields,
+ utils.StoreIntervalCfg: utils.EmptyString,
}
if st.StoreInterval != 0 {
initialMP[utils.StoreIntervalCfg] = st.StoreInterval.String()
- } else {
- initialMP[utils.StoreIntervalCfg] = utils.EmptyString
}
if st.StringIndexedFields != nil {
stringIndexedFields := make([]string, len(*st.StringIndexedFields))
@@ -132,13 +131,52 @@ func (st *StatSCfg) AsMapInterface() (initialMP map[string]interface{}) {
if st.ThresholdSConns != nil {
thresholdSConns := make([]string, len(st.ThresholdSConns))
for i, item := range st.ThresholdSConns {
+ thresholdSConns[i] = item
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds) {
- thresholdSConns[i] = strings.TrimSuffix(item, utils.CONCATENATED_KEY_SEP+utils.MetaThresholds)
- } else {
- thresholdSConns[i] = item
+ thresholdSConns[i] = utils.MetaInternal
}
}
initialMP[utils.ThresholdSConnsCfg] = thresholdSConns
}
return
}
+
+// Clone returns a deep copy of StatSCfg
+func (st StatSCfg) Clone() (cln *StatSCfg) {
+ cln = &StatSCfg{
+ Enabled: st.Enabled,
+ IndexedSelects: st.IndexedSelects,
+ StoreInterval: st.StoreInterval,
+ StoreUncompressedLimit: st.StoreUncompressedLimit,
+ NestedFields: st.NestedFields,
+ }
+ if st.ThresholdSConns != nil {
+ cln.ThresholdSConns = make([]string, len(st.ThresholdSConns))
+ for i, con := range st.ThresholdSConns {
+ cln.ThresholdSConns[i] = con
+ }
+ }
+
+ if st.StringIndexedFields != nil {
+ idx := make([]string, len(*st.StringIndexedFields))
+ for i, dx := range *st.StringIndexedFields {
+ idx[i] = dx
+ }
+ cln.StringIndexedFields = &idx
+ }
+ if st.PrefixIndexedFields != nil {
+ idx := make([]string, len(*st.PrefixIndexedFields))
+ for i, dx := range *st.PrefixIndexedFields {
+ idx[i] = dx
+ }
+ cln.PrefixIndexedFields = &idx
+ }
+ if st.SuffixIndexedFields != nil {
+ idx := make([]string, len(*st.SuffixIndexedFields))
+ for i, dx := range *st.SuffixIndexedFields {
+ idx[i] = dx
+ }
+ cln.SuffixIndexedFields = &idx
+ }
+ return
+}
diff --git a/config/statscfg_test.go b/config/statscfg_test.go
index cfe53255e..964c61344 100644
--- a/config/statscfg_test.go
+++ b/config/statscfg_test.go
@@ -49,7 +49,7 @@ func TestStatSCfgloadFromJsonCfgCase1(t *testing.T) {
}
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.statsCfg.loadFromJsonCfg(cfgJSON); err != nil {
+ } else if err = jsonCfg.statsCfg.loadFromJSONCfg(cfgJSON); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, jsonCfg.statsCfg) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(jsonCfg.statsCfg))
@@ -57,13 +57,13 @@ func TestStatSCfgloadFromJsonCfgCase1(t *testing.T) {
}
func TestStatSCfgloadFromJsonCfgCase2(t *testing.T) {
- statscfgJson := &StatServJsonCfg{
+ statscfgJSON := &StatServJsonCfg{
Store_interval: utils.StringPointer("1ss"),
}
expected := "time: unknown unit \"ss\" in duration \"1ss\""
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.statsCfg.loadFromJsonCfg(statscfgJson); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.statsCfg.loadFromJSONCfg(statscfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -120,3 +120,32 @@ func TestStatSCfgAsMapInterface1(t *testing.T) {
t.Errorf("Expected %+v \n, received %+v", eMap, rcv)
}
}
+func TestStatSCfgClone(t *testing.T) {
+ ban := &StatSCfg{
+ Enabled: true,
+ IndexedSelects: true,
+ StoreInterval: 2,
+ StoreUncompressedLimit: 10,
+ ThresholdSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds), "*conn1"},
+ StringIndexedFields: &[]string{"*req.index1"},
+ PrefixIndexedFields: &[]string{"*req.index1", "*req.index2"},
+ SuffixIndexedFields: &[]string{"*req.index1", "*req.index2"},
+ NestedFields: true,
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+ if rcv.ThresholdSConns[1] = ""; ban.ThresholdSConns[1] != "*conn1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.StringIndexedFields)[0] = ""; (*ban.StringIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.PrefixIndexedFields)[0] = ""; (*ban.PrefixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.SuffixIndexedFields)[0] = ""; (*ban.SuffixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+}
diff --git a/config/stordbcfg_test.go b/config/stordbcfg_test.go
index 14239d3ab..0a102000c 100644
--- a/config/stordbcfg_test.go
+++ b/config/stordbcfg_test.go
@@ -98,26 +98,26 @@ func TestStoreDbCfgloadFromJsonCfgCase1(t *testing.T) {
}
func TestStoreDbCfgloadFromJsonCfgCase2(t *testing.T) {
- storDbJson := &DbJsonCfg{
+ storDbJSON := &DbJsonCfg{
Replication_conns: &[]string{utils.MetaInternal},
}
expected := "Replication connection ID needs to be different than *internal"
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.storDbCfg.loadFromJsonCfg(storDbJson); err == nil || err.Error() != expected {
- t.Errorf("Expected %+v, received %+v", storDbJson, expected)
+ } else if err = jsonCfg.storDbCfg.loadFromJsonCfg(storDbJSON); err == nil || err.Error() != expected {
+ t.Errorf("Expected %+v, received %+v", storDbJSON, expected)
}
}
func TestStoreDbCfgloadFromJsonCfgCase3(t *testing.T) {
- storDbJson := &DbJsonCfg{
+ storDbJSON := &DbJsonCfg{
Remote_conns: &[]string{utils.MetaInternal},
}
expected := "Remote connection ID needs to be different than *internal"
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.storDbCfg.loadFromJsonCfg(storDbJson); err == nil || err.Error() != expected {
- t.Errorf("Expected %+v, received %+v", storDbJson, expected)
+ } else if err = jsonCfg.storDbCfg.loadFromJsonCfg(storDbJSON); err == nil || err.Error() != expected {
+ t.Errorf("Expected %+v, received %+v", storDbJSON, expected)
}
}
diff --git a/config/suretaxcfg.go b/config/suretaxcfg.go
index 3c98afacd..31381f999 100644
--- a/config/suretaxcfg.go
+++ b/config/suretaxcfg.go
@@ -19,15 +19,14 @@ along with this program. If not, see
package config
import (
- "strings"
"time"
"github.com/cgrates/cgrates/utils"
)
-// SureTax configuration object
+// SureTaxCfg configuration object
type SureTaxCfg struct {
- Url string
+ URL string
ClientNumber string
ValidationKey string
BusinessUnit string
@@ -56,128 +55,129 @@ type SureTaxCfg struct {
}
// Loads/re-loads data from json config object
-func (self *SureTaxCfg) loadFromJsonCfg(jsnCfg *SureTaxJsonCfg) (err error) {
+func (st *SureTaxCfg) loadFromJSONCfg(jsnCfg *SureTaxJsonCfg) (err error) {
if jsnCfg == nil {
return
}
if jsnCfg.Url != nil {
- self.Url = *jsnCfg.Url
+ st.URL = *jsnCfg.Url
}
if jsnCfg.Client_number != nil {
- self.ClientNumber = *jsnCfg.Client_number
+ st.ClientNumber = *jsnCfg.Client_number
}
if jsnCfg.Validation_key != nil {
- self.ValidationKey = *jsnCfg.Validation_key
+ st.ValidationKey = *jsnCfg.Validation_key
}
if jsnCfg.Business_unit != nil {
- self.BusinessUnit = *jsnCfg.Business_unit
+ st.BusinessUnit = *jsnCfg.Business_unit
}
if jsnCfg.Timezone != nil {
- if self.Timezone, err = time.LoadLocation(*jsnCfg.Timezone); err != nil {
+ if st.Timezone, err = time.LoadLocation(*jsnCfg.Timezone); err != nil {
return err
}
}
if jsnCfg.Include_local_cost != nil {
- self.IncludeLocalCost = *jsnCfg.Include_local_cost
+ st.IncludeLocalCost = *jsnCfg.Include_local_cost
}
if jsnCfg.Return_file_code != nil {
- self.ReturnFileCode = *jsnCfg.Return_file_code
+ st.ReturnFileCode = *jsnCfg.Return_file_code
}
if jsnCfg.Response_group != nil {
- self.ResponseGroup = *jsnCfg.Response_group
+ st.ResponseGroup = *jsnCfg.Response_group
}
if jsnCfg.Response_type != nil {
- self.ResponseType = *jsnCfg.Response_type
+ st.ResponseType = *jsnCfg.Response_type
}
if jsnCfg.Regulatory_code != nil {
- self.RegulatoryCode = *jsnCfg.Regulatory_code
+ st.RegulatoryCode = *jsnCfg.Regulatory_code
}
if jsnCfg.Client_tracking != nil {
- if self.ClientTracking, err = NewRSRParsers(*jsnCfg.Client_tracking, utils.INFIELD_SEP); err != nil {
+ if st.ClientTracking, err = NewRSRParsers(*jsnCfg.Client_tracking, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Customer_number != nil {
- if self.CustomerNumber, err = NewRSRParsers(*jsnCfg.Customer_number, utils.INFIELD_SEP); err != nil {
+ if st.CustomerNumber, err = NewRSRParsers(*jsnCfg.Customer_number, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Orig_number != nil {
- if self.OrigNumber, err = NewRSRParsers(*jsnCfg.Orig_number, utils.INFIELD_SEP); err != nil {
+ if st.OrigNumber, err = NewRSRParsers(*jsnCfg.Orig_number, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Term_number != nil {
- if self.TermNumber, err = NewRSRParsers(*jsnCfg.Term_number, utils.INFIELD_SEP); err != nil {
+ if st.TermNumber, err = NewRSRParsers(*jsnCfg.Term_number, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Bill_to_number != nil {
- if self.BillToNumber, err = NewRSRParsers(*jsnCfg.Bill_to_number, utils.INFIELD_SEP); err != nil {
+ if st.BillToNumber, err = NewRSRParsers(*jsnCfg.Bill_to_number, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Zipcode != nil {
- if self.Zipcode, err = NewRSRParsers(*jsnCfg.Zipcode, utils.INFIELD_SEP); err != nil {
+ if st.Zipcode, err = NewRSRParsers(*jsnCfg.Zipcode, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Plus4 != nil {
- if self.Plus4, err = NewRSRParsers(*jsnCfg.Plus4, utils.INFIELD_SEP); err != nil {
+ if st.Plus4, err = NewRSRParsers(*jsnCfg.Plus4, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.P2PZipcode != nil {
- if self.P2PZipcode, err = NewRSRParsers(*jsnCfg.P2PZipcode, utils.INFIELD_SEP); err != nil {
+ if st.P2PZipcode, err = NewRSRParsers(*jsnCfg.P2PZipcode, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.P2PPlus4 != nil {
- if self.P2PPlus4, err = NewRSRParsers(*jsnCfg.P2PPlus4, utils.INFIELD_SEP); err != nil {
+ if st.P2PPlus4, err = NewRSRParsers(*jsnCfg.P2PPlus4, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Units != nil {
- if self.Units, err = NewRSRParsers(*jsnCfg.Units, utils.INFIELD_SEP); err != nil {
+ if st.Units, err = NewRSRParsers(*jsnCfg.Units, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Unit_type != nil {
- if self.UnitType, err = NewRSRParsers(*jsnCfg.Unit_type, utils.INFIELD_SEP); err != nil {
+ if st.UnitType, err = NewRSRParsers(*jsnCfg.Unit_type, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Tax_included != nil {
- if self.TaxIncluded, err = NewRSRParsers(*jsnCfg.Tax_included, utils.INFIELD_SEP); err != nil {
+ if st.TaxIncluded, err = NewRSRParsers(*jsnCfg.Tax_included, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Tax_situs_rule != nil {
- if self.TaxSitusRule, err = NewRSRParsers(*jsnCfg.Tax_situs_rule, utils.INFIELD_SEP); err != nil {
+ if st.TaxSitusRule, err = NewRSRParsers(*jsnCfg.Tax_situs_rule, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Trans_type_code != nil {
- if self.TransTypeCode, err = NewRSRParsers(*jsnCfg.Trans_type_code, utils.INFIELD_SEP); err != nil {
+ if st.TransTypeCode, err = NewRSRParsers(*jsnCfg.Trans_type_code, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Sales_type_code != nil {
- if self.SalesTypeCode, err = NewRSRParsers(*jsnCfg.Sales_type_code, utils.INFIELD_SEP); err != nil {
+ if st.SalesTypeCode, err = NewRSRParsers(*jsnCfg.Sales_type_code, utils.INFIELD_SEP); err != nil {
return err
}
}
if jsnCfg.Tax_exemption_code_list != nil {
- if self.TaxExemptionCodeList, err = NewRSRParsers(*jsnCfg.Tax_exemption_code_list, utils.INFIELD_SEP); err != nil {
+ if st.TaxExemptionCodeList, err = NewRSRParsers(*jsnCfg.Tax_exemption_code_list, utils.INFIELD_SEP); err != nil {
return err
}
}
return nil
}
+// AsMapInterface returns the config as a map[string]interface{}
func (st *SureTaxCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) {
- initialMP = map[string]interface{}{
- utils.URLCfg: st.Url,
+ return map[string]interface{}{
+ utils.URLCfg: st.URL,
utils.ClientNumberCfg: st.ClientNumber,
utils.ValidationKeyCfg: st.ValidationKey,
utils.BusinessUnitCfg: st.BusinessUnit,
@@ -187,102 +187,59 @@ func (st *SureTaxCfg) AsMapInterface(separator string) (initialMP map[string]int
utils.ResponseGroupCfg: st.ResponseGroup,
utils.ResponseTypeCfg: st.ResponseType,
utils.RegulatoryCodeCfg: st.RegulatoryCode,
- }
- values := make([]string, len(st.ClientTracking))
- for i, item := range st.ClientTracking {
- values[i] = item.Rules
- }
- initialMP[utils.ClientTrackingCfg] = strings.Join(values, separator)
- values = make([]string, len(st.CustomerNumber))
- for i, item := range st.CustomerNumber {
- values[i] = item.Rules
+ utils.ClientTrackingCfg: st.ClientTracking.GetRule(separator),
+ utils.CustomerNumberCfg: st.CustomerNumber.GetRule(separator),
+ utils.OrigNumberCfg: st.OrigNumber.GetRule(separator),
+ utils.TermNumberCfg: st.TermNumber.GetRule(separator),
+ utils.BillToNumberCfg: st.BillToNumber.GetRule(separator),
+ utils.ZipcodeCfg: st.Zipcode.GetRule(separator),
+ utils.Plus4Cfg: st.Plus4.GetRule(separator),
+ utils.P2PZipcodeCfg: st.P2PZipcode.GetRule(separator),
+ utils.P2PPlus4Cfg: st.P2PPlus4.GetRule(separator),
+ utils.UnitsCfg: st.Units.GetRule(separator),
+ utils.UnitTypeCfg: st.UnitType.GetRule(separator),
+ utils.TaxIncludedCfg: st.TaxIncluded.GetRule(separator),
+ utils.TaxSitusRuleCfg: st.TaxSitusRule.GetRule(separator),
+ utils.TransTypeCodeCfg: st.TransTypeCode.GetRule(separator),
+ utils.SalesTypeCodeCfg: st.SalesTypeCode.GetRule(separator),
+ utils.TaxExemptionCodeListCfg: st.TaxExemptionCodeList.GetRule(separator),
+ }
+}
+
+// Clone returns a deep copy of SureTaxCfg
+func (st SureTaxCfg) Clone() (cln *SureTaxCfg) {
+ loc := *time.UTC
+ if st.Timezone != nil {
+ loc = *st.Timezone
+ }
+ return &SureTaxCfg{
+ URL: st.URL,
+ ClientNumber: st.ClientNumber,
+ ValidationKey: st.ValidationKey,
+ BusinessUnit: st.BusinessUnit,
+ Timezone: &loc,
+ IncludeLocalCost: st.IncludeLocalCost,
+ ReturnFileCode: st.ReturnFileCode,
+ ResponseGroup: st.ResponseGroup,
+ ResponseType: st.ResponseType,
+ RegulatoryCode: st.RegulatoryCode,
+
+ ClientTracking: st.ClientTracking.Clone(),
+ CustomerNumber: st.CustomerNumber.Clone(),
+ OrigNumber: st.OrigNumber.Clone(),
+ TermNumber: st.TermNumber.Clone(),
+ BillToNumber: st.BillToNumber.Clone(),
+ Zipcode: st.Zipcode.Clone(),
+ Plus4: st.Plus4.Clone(),
+ P2PZipcode: st.P2PZipcode.Clone(),
+ P2PPlus4: st.P2PPlus4.Clone(),
+ Units: st.Units.Clone(),
+ UnitType: st.UnitType.Clone(),
+ TaxIncluded: st.TaxIncluded.Clone(),
+ TaxSitusRule: st.TaxSitusRule.Clone(),
+ TransTypeCode: st.TransTypeCode.Clone(),
+ SalesTypeCode: st.SalesTypeCode.Clone(),
+ TaxExemptionCodeList: st.TaxExemptionCodeList.Clone(),
}
- initialMP[utils.CustomerNumberCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.OrigNumber))
- for i, item := range st.OrigNumber {
- values[i] = item.Rules
- }
- initialMP[utils.OrigNumberCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.TermNumber))
- for i, item := range st.TermNumber {
- values[i] = item.Rules
- }
- initialMP[utils.TermNumberCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.BillToNumber))
- for i, item := range st.BillToNumber {
- values[i] = item.Rules
- }
- initialMP[utils.BillToNumberCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.Zipcode))
- for i, item := range st.Zipcode {
- values[i] = item.Rules
- }
- initialMP[utils.ZipcodeCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.Plus4))
- for i, item := range st.Plus4 {
- values[i] = item.Rules
- }
- initialMP[utils.Plus4Cfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.P2PZipcode))
- for i, item := range st.P2PZipcode {
- values[i] = item.Rules
- }
- initialMP[utils.P2PZipcodeCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.P2PPlus4))
- for i, item := range st.P2PPlus4 {
- values[i] = item.Rules
- }
- initialMP[utils.P2PPlus4Cfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.Units))
- for i, item := range st.Units {
- values[i] = item.Rules
- }
- initialMP[utils.UnitsCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.UnitType))
- for i, item := range st.UnitType {
- values[i] = item.Rules
- }
- initialMP[utils.UnitTypeCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.TaxIncluded))
- for i, item := range st.TaxIncluded {
- values[i] = item.Rules
- }
- initialMP[utils.TaxIncludedCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.TaxSitusRule))
- for i, item := range st.TaxSitusRule {
- values[i] = item.Rules
- }
- initialMP[utils.TaxSitusRuleCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.TransTypeCode))
- for i, item := range st.TransTypeCode {
- values[i] = item.Rules
- }
- initialMP[utils.TransTypeCodeCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.SalesTypeCode))
- for i, item := range st.SalesTypeCode {
- values[i] = item.Rules
- }
- initialMP[utils.SalesTypeCodeCfg] = strings.Join(values, separator)
-
- values = make([]string, len(st.TaxExemptionCodeList))
- for i, item := range st.TaxExemptionCodeList {
- values[i] = item.Rules
- }
- initialMP[utils.TaxExemptionCodeListCfg] = strings.Join(values, separator)
-
- return
}
diff --git a/config/suretaxcfg_test.go b/config/suretaxcfg_test.go
index f941ed56b..869954346 100644
--- a/config/suretaxcfg_test.go
+++ b/config/suretaxcfg_test.go
@@ -60,7 +60,7 @@ func TestSureTaxCfgloadFromJsonCfgCase1(t *testing.T) {
t.Error(err)
}
expected := &SureTaxCfg{
- Url: "randomURL",
+ URL: "randomURL",
ClientNumber: "randomClient",
ValidationKey: "randomKey",
BusinessUnit: "randomUnit",
@@ -89,7 +89,7 @@ func TestSureTaxCfgloadFromJsonCfgCase1(t *testing.T) {
}
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err != nil {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, jsonCfg.sureTaxCfg) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(jsonCfg.sureTaxCfg))
@@ -103,7 +103,7 @@ func TestSureTaxCfgloadFromJsonCfgCase2(t *testing.T) {
expected := "time: invalid location name"
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -115,7 +115,7 @@ func TestSureTaxCfgloadFromJsonCfgCase3(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -127,7 +127,7 @@ func TestSureTaxCfgloadFromJsonCfgCase4(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -139,7 +139,7 @@ func TestSureTaxCfgloadFromJsonCfgCase5(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -151,7 +151,7 @@ func TestSureTaxCfgloadFromJsonCfgCase6(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -163,7 +163,7 @@ func TestSureTaxCfgloadFromJsonCfgCase7(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -175,7 +175,7 @@ func TestSureTaxCfgloadFromJsonCfgCase8(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -187,7 +187,7 @@ func TestSureTaxCfgloadFromJsonCfgCase9(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -199,7 +199,7 @@ func TestSureTaxCfgloadFromJsonCfgCase10(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -211,7 +211,7 @@ func TestSureTaxCfgloadFromJsonCfgCase11(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -223,7 +223,7 @@ func TestSureTaxCfgloadFromJsonCfgCase12(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -235,7 +235,7 @@ func TestSureTaxCfgloadFromJsonCfgCase13(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -247,7 +247,7 @@ func TestSureTaxCfgloadFromJsonCfgCase14(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -259,7 +259,7 @@ func TestSureTaxCfgloadFromJsonCfgCase15(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -271,7 +271,7 @@ func TestSureTaxCfgloadFromJsonCfgCase16(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -283,7 +283,7 @@ func TestSureTaxCfgloadFromJsonCfgCase17(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -295,7 +295,7 @@ func TestSureTaxCfgloadFromJsonCfgCase18(t *testing.T) {
expected := "invalid converter terminator in rule: "
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.sureTaxCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -361,3 +361,38 @@ func TestSureTaxCfgAsMapInterface(t *testing.T) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
+
+func TestSureTaxCfgClone(t *testing.T) {
+ ban := &SureTaxCfg{
+ URL: "randomURL",
+ ClientNumber: "randomClient",
+ ValidationKey: "randomKey",
+ BusinessUnit: "randomUnit",
+ Timezone: time.UTC,
+ IncludeLocalCost: true,
+ ReturnFileCode: "1",
+ ResponseGroup: "06",
+ ResponseType: "A3",
+ RegulatoryCode: "06",
+ ClientTracking: NewRSRParsersMustCompile("~*req.Destination1", utils.INFIELD_SEP),
+ CustomerNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.INFIELD_SEP),
+ OrigNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.INFIELD_SEP),
+ TermNumber: NewRSRParsersMustCompile("~*req.CGRID", utils.INFIELD_SEP),
+ BillToNumber: NewRSRParsersMustCompile(utils.EmptyString, utils.INFIELD_SEP),
+ Zipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.INFIELD_SEP),
+ Plus4: NewRSRParsersMustCompile(utils.EmptyString, utils.INFIELD_SEP),
+ P2PZipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.INFIELD_SEP),
+ P2PPlus4: NewRSRParsersMustCompile(utils.EmptyString, utils.INFIELD_SEP),
+ Units: NewRSRParsersMustCompile("1", utils.INFIELD_SEP),
+ UnitType: NewRSRParsersMustCompile("00", utils.INFIELD_SEP),
+ TaxIncluded: NewRSRParsersMustCompile("0", utils.INFIELD_SEP),
+ TaxSitusRule: NewRSRParsersMustCompile("04", utils.INFIELD_SEP),
+ TransTypeCode: NewRSRParsersMustCompile("010101", utils.INFIELD_SEP),
+ SalesTypeCode: NewRSRParsersMustCompile("R", utils.INFIELD_SEP),
+ TaxExemptionCodeList: NewRSRParsersMustCompile(utils.EmptyString, utils.INFIELD_SEP),
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+}
diff --git a/config/thresholdscfg.go b/config/thresholdscfg.go
index 2889bee9c..15a46d978 100644
--- a/config/thresholdscfg.go
+++ b/config/thresholdscfg.go
@@ -24,6 +24,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
+// ThresholdSCfg the threshold config section
type ThresholdSCfg struct {
Enabled bool
IndexedSelects bool
@@ -34,7 +35,7 @@ type ThresholdSCfg struct {
NestedFields bool
}
-func (t *ThresholdSCfg) loadFromJsonCfg(jsnCfg *ThresholdSJsonCfg) (err error) {
+func (t *ThresholdSCfg) loadFromJSONCfg(jsnCfg *ThresholdSJsonCfg) (err error) {
if jsnCfg == nil {
return nil
}
@@ -76,16 +77,16 @@ func (t *ThresholdSCfg) loadFromJsonCfg(jsnCfg *ThresholdSJsonCfg) (err error) {
return nil
}
+// AsMapInterface returns the config as a map[string]interface{}
func (t *ThresholdSCfg) AsMapInterface() (initialMP map[string]interface{}) {
initialMP = map[string]interface{}{
utils.EnabledCfg: t.Enabled,
utils.IndexedSelectsCfg: t.IndexedSelects,
utils.NestedFieldsCfg: t.NestedFields,
+ utils.StoreIntervalCfg: utils.EmptyString,
}
if t.StoreInterval != 0 {
initialMP[utils.StoreIntervalCfg] = t.StoreInterval.String()
- } else {
- initialMP[utils.StoreIntervalCfg] = utils.EmptyString
}
if t.StringIndexedFields != nil {
@@ -111,3 +112,36 @@ func (t *ThresholdSCfg) AsMapInterface() (initialMP map[string]interface{}) {
}
return
}
+
+// Clone returns a deep copy of ThresholdSCfg
+func (t ThresholdSCfg) Clone() (cln *ThresholdSCfg) {
+ cln = &ThresholdSCfg{
+ Enabled: t.Enabled,
+ IndexedSelects: t.IndexedSelects,
+ StoreInterval: t.StoreInterval,
+ NestedFields: t.NestedFields,
+ }
+
+ if t.StringIndexedFields != nil {
+ idx := make([]string, len(*t.StringIndexedFields))
+ for i, dx := range *t.StringIndexedFields {
+ idx[i] = dx
+ }
+ cln.StringIndexedFields = &idx
+ }
+ if t.PrefixIndexedFields != nil {
+ idx := make([]string, len(*t.PrefixIndexedFields))
+ for i, dx := range *t.PrefixIndexedFields {
+ idx[i] = dx
+ }
+ cln.PrefixIndexedFields = &idx
+ }
+ if t.SuffixIndexedFields != nil {
+ idx := make([]string, len(*t.SuffixIndexedFields))
+ for i, dx := range *t.SuffixIndexedFields {
+ idx[i] = dx
+ }
+ cln.SuffixIndexedFields = &idx
+ }
+ return
+}
diff --git a/config/thresholdscfg_test.go b/config/thresholdscfg_test.go
index fca35c680..8c312a279 100644
--- a/config/thresholdscfg_test.go
+++ b/config/thresholdscfg_test.go
@@ -45,7 +45,7 @@ func TestThresholdSCfgloadFromJsonCfgCase1(t *testing.T) {
}
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.thresholdSCfg.loadFromJsonCfg(cfgJSON); err != nil {
+ } else if err = jsonCfg.thresholdSCfg.loadFromJSONCfg(cfgJSON); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(expected, jsonCfg.thresholdSCfg) {
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(jsonCfg.thresholdSCfg))
@@ -59,7 +59,7 @@ func TestThresholdSCfgloadFromJsonCfgCase2(t *testing.T) {
expected := "time: unknown unit \"ss\" in duration \"1ss\""
if jsonCfg, err := NewDefaultCGRConfig(); err != nil {
t.Error(err)
- } else if err = jsonCfg.thresholdSCfg.loadFromJsonCfg(cfgJSON); err == nil || err.Error() != expected {
+ } else if err = jsonCfg.thresholdSCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
@@ -110,3 +110,27 @@ func TestThresholdSCfgAsMapInterfaceCase2(t *testing.T) {
t.Errorf("Expextec %+v \n, recevied %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
}
}
+func TestThresholdSCfgClone(t *testing.T) {
+ ban := &ThresholdSCfg{
+ Enabled: true,
+ IndexedSelects: true,
+ StoreInterval: 2,
+ StringIndexedFields: &[]string{"*req.index1"},
+ PrefixIndexedFields: &[]string{"*req.index1"},
+ SuffixIndexedFields: &[]string{"*req.index1"},
+ NestedFields: true,
+ }
+ rcv := ban.Clone()
+ if !reflect.DeepEqual(ban, rcv) {
+ t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(ban), utils.ToJSON(rcv))
+ }
+ if (*rcv.StringIndexedFields)[0] = ""; (*ban.StringIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.PrefixIndexedFields)[0] = ""; (*ban.PrefixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+ if (*rcv.SuffixIndexedFields)[0] = ""; (*ban.SuffixIndexedFields)[0] != "*req.index1" {
+ t.Errorf("Expected clone to not modify the cloned")
+ }
+}
diff --git a/config/xmldp.go b/config/xmldp.go
index d03076d34..b5f82ede5 100644
--- a/config/xmldp.go
+++ b/config/xmldp.go
@@ -28,9 +28,9 @@ import (
"github.com/cgrates/cgrates/utils"
)
-// NewXmlProvider constructs a utils.DataProvider
-func NewXmlProvider(req *xmlquery.Node, cdrPath utils.HierarchyPath) (dP utils.DataProvider) {
- dP = &XmlProvider{
+// NewXMLProvider constructs a utils.DataProvider
+func NewXMLProvider(req *xmlquery.Node, cdrPath utils.HierarchyPath) (dP utils.DataProvider) {
+ dP = &XMLProvider{
req: req,
cdrPath: cdrPath,
cache: utils.MapStorage{},
@@ -38,8 +38,8 @@ func NewXmlProvider(req *xmlquery.Node, cdrPath utils.HierarchyPath) (dP utils.D
return
}
-// XmlProvider implements engine.utils.DataProvider so we can pass it to filters
-type XmlProvider struct {
+// XMLProvider implements engine.utils.DataProvider so we can pass it to filters
+type XMLProvider struct {
req *xmlquery.Node
cdrPath utils.HierarchyPath //used to compute relative path
cache utils.MapStorage
@@ -47,12 +47,12 @@ type XmlProvider struct {
// String is part of engine.utils.DataProvider interface
// when called, it will display the already parsed values out of cache
-func (xP *XmlProvider) String() string {
+func (xP *XMLProvider) String() string {
return utils.ToJSON(xP.req)
}
// FieldAsInterface is part of engine.utils.DataProvider interface
-func (xP *XmlProvider) FieldAsInterface(fldPath []string) (data interface{}, err error) {
+func (xP *XMLProvider) FieldAsInterface(fldPath []string) (data interface{}, err error) {
if len(fldPath) == 0 {
return nil, utils.ErrNotFound
}
@@ -86,7 +86,7 @@ func (xP *XmlProvider) FieldAsInterface(fldPath []string) (data interface{}, err
}
// FieldAsString is part of engine.utils.DataProvider interface
-func (xP *XmlProvider) FieldAsString(fldPath []string) (data string, err error) {
+func (xP *XMLProvider) FieldAsString(fldPath []string) (data string, err error) {
var valIface interface{}
valIface, err = xP.FieldAsInterface(fldPath)
if err != nil {
@@ -96,7 +96,7 @@ func (xP *XmlProvider) FieldAsString(fldPath []string) (data string, err error)
}
// RemoteHost is part of engine.utils.DataProvider interface
-func (xP *XmlProvider) RemoteHost() net.Addr {
+func (xP *XMLProvider) RemoteHost() net.Addr {
return utils.LocalAddr()
}
diff --git a/config/xmldp_test.go b/config/xmldp_test.go
index ee97d9d0f..3c72f743f 100644
--- a/config/xmldp_test.go
+++ b/config/xmldp_test.go
@@ -28,7 +28,7 @@ import (
"github.com/cgrates/cgrates/utils"
)
-var cdrXmlBroadsoft = `
+var cdrXMLBroadsoft = `
@@ -162,7 +162,7 @@ var cdrXmlBroadsoft = `
`
func TestXMLElementText(t *testing.T) {
- doc, err := xmlquery.Parse(strings.NewReader(cdrXmlBroadsoft))
+ doc, err := xmlquery.Parse(strings.NewReader(cdrXMLBroadsoft))
if err != nil {
t.Error(err)
}
@@ -410,7 +410,7 @@ func TestXMLIndexes(t *testing.T) {
if err != nil {
t.Error(err)
}
- dP := NewXmlProvider(doc, utils.HierarchyPath([]string{}))
+ dP := NewXMLProvider(doc, utils.HierarchyPath([]string{}))
if data, err := dP.FieldAsString([]string{"complete-success-notification", "userid"}); err != nil {
t.Error(err)
} else if data != "386" {
@@ -443,7 +443,7 @@ func TestFieldAsStringXMLEmptyPath(t *testing.T) {
if err != nil {
t.Error(err)
}
- dP := &XmlProvider{
+ dP := &XMLProvider{
req: doc,
cdrPath: []string{},
cache: utils.MapStorage{},
@@ -455,7 +455,7 @@ func TestFieldAsStringXMLEmptyPath(t *testing.T) {
func TestRemoteHostXML(t *testing.T) {
expected := utils.LocalAddr()
- dp := new(XmlProvider)
+ dp := new(XMLProvider)
if received := dp.RemoteHost(); !reflect.DeepEqual(expected, received) {
t.Errorf("Expected %+v, received %+v", expected, received)
}
@@ -466,7 +466,7 @@ func TestStringXML(t *testing.T) {
if err != nil {
t.Error(err)
}
- dP := &XmlProvider{
+ dP := &XMLProvider{
req: doc,
cdrPath: []string{},
cache: utils.MapStorage{},
@@ -482,7 +482,7 @@ func TestFieldAsInterfaceCache(t *testing.T) {
if err != nil {
t.Error(err)
}
- dP := &XmlProvider{
+ dP := &XMLProvider{
req: doc,
cdrPath: []string{},
cache: utils.MapStorage{
@@ -502,7 +502,7 @@ func TestFieldAsInterfaceInvalidSyntax(t *testing.T) {
if err != nil {
t.Error(err)
}
- dP := NewXmlProvider(doc, utils.HierarchyPath([]string{}))
+ dP := NewXMLProvider(doc, utils.HierarchyPath([]string{}))
expected := "strconv.Atoi: parsing \"09]\": invalid syntax"
if _, err := dP.FieldAsString([]string{"complete-success-notification[09]]"}); err == nil || err.Error() != expected {
t.Errorf("Expected %+q, received %+q", expected, err)
@@ -514,7 +514,7 @@ func TestFieldAsInterfaceInvalidSyntax1(t *testing.T) {
if err != nil {
t.Error(err)
}
- dP := NewXmlProvider(doc, utils.HierarchyPath([]string{}))
+ dP := NewXMLProvider(doc, utils.HierarchyPath([]string{}))
expected := "filter rule <[0> needs to end in ]"
if _, err := dP.FieldAsString([]string{"complete-success-notification[0"}); err == nil || err.Error() != expected {
t.Errorf("Expected %+q, received %+q", expected, err)
diff --git a/console/reload_config.go b/console/reload_config.go
index e847007dd..3b7c9b4c7 100644
--- a/console/reload_config.go
+++ b/console/reload_config.go
@@ -27,7 +27,7 @@ func init() {
c := &CmdRelaodConfigSection{
name: "reload_config",
rpcMethod: utils.ConfigSv1ReloadConfig,
- rpcParams: &config.ConfigReloadArgs{},
+ rpcParams: &config.ReloadArgs{},
}
commands[c.Name()] = c
c.CommandExecuter = &CommandExecuter{c}
@@ -37,7 +37,7 @@ func init() {
type CmdRelaodConfigSection struct {
name string
rpcMethod string
- rpcParams *config.ConfigReloadArgs
+ rpcParams *config.ReloadArgs
*CommandExecuter
}
@@ -51,7 +51,7 @@ func (self *CmdRelaodConfigSection) RpcMethod() string {
func (self *CmdRelaodConfigSection) RpcParams(reset bool) interface{} {
if reset || self.rpcParams == nil {
- self.rpcParams = &config.ConfigReloadArgs{Opts: make(map[string]interface{})}
+ self.rpcParams = &config.ReloadArgs{Opts: make(map[string]interface{})}
}
return self.rpcParams
}
diff --git a/data/conf/samples/sipagent_internal/cgrates.json b/data/conf/samples/sipagent_internal/cgrates.json
index 5b8594992..6de778f3e 100644
--- a/data/conf/samples/sipagent_internal/cgrates.json
+++ b/data/conf/samples/sipagent_internal/cgrates.json
@@ -74,4 +74,12 @@
"enabled": true,
"scheduler_conns": ["*internal"],
},
+
+"templates": {
+ "*err": [
+ {"tag": "Request", "path": "*rep.Request", "type": "*constant",
+ "value": "SIP/2.0 500 Internal Server Error", "mandatory": true},
+ ],
+}
+
}
\ No newline at end of file
diff --git a/data/conf/samples/sipagent_mongo/cgrates.json b/data/conf/samples/sipagent_mongo/cgrates.json
index f269ed1f8..e27163ba7 100644
--- a/data/conf/samples/sipagent_mongo/cgrates.json
+++ b/data/conf/samples/sipagent_mongo/cgrates.json
@@ -78,4 +78,12 @@
"enabled": true,
"scheduler_conns": ["*internal"],
},
+
+"templates": {
+ "*err": [
+ {"tag": "Request", "path": "*rep.Request", "type": "*constant",
+ "value": "SIP/2.0 500 Internal Server Error", "mandatory": true},
+ ],
+}
+
}
\ No newline at end of file
diff --git a/data/conf/samples/sipagent_mysql/cgrates.json b/data/conf/samples/sipagent_mysql/cgrates.json
index 2041bf940..8a6d0533a 100644
--- a/data/conf/samples/sipagent_mysql/cgrates.json
+++ b/data/conf/samples/sipagent_mysql/cgrates.json
@@ -71,4 +71,12 @@
"enabled": true,
"scheduler_conns": ["*internal"],
},
+
+"templates": {
+ "*err": [
+ {"tag": "Request", "path": "*rep.Request", "type": "*constant",
+ "value": "SIP/2.0 500 Internal Server Error", "mandatory": true},
+ ],
+}
+
}
\ No newline at end of file
diff --git a/dispatchers/config.go b/dispatchers/config.go
index e7bc7ac52..1ec7a0573 100644
--- a/dispatchers/config.go
+++ b/dispatchers/config.go
@@ -44,7 +44,7 @@ func (dS *DispatcherService) ConfigSv1GetConfig(args *config.SectionWithOpts, re
}, utils.MetaConfig, utils.ConfigSv1GetConfig, args, reply)
}
-func (dS *DispatcherService) ConfigSv1ReloadConfig(args *config.ConfigReloadArgs, reply *string) (err error) {
+func (dS *DispatcherService) ConfigSv1ReloadConfig(args *config.ReloadArgs, reply *string) (err error) {
tnt := dS.cfg.GeneralCfg().DefaultTenant
if args.Tenant != utils.EmptyString {
tnt = args.Tenant
diff --git a/engine/action_plan_test.go b/engine/action_plan_test.go
index 02cd02eb6..b3db2f6f7 100644
--- a/engine/action_plan_test.go
+++ b/engine/action_plan_test.go
@@ -109,7 +109,7 @@ func TestActionPlanClone(t *testing.T) {
}
at1Cloned := clned.(*ActionPlan)
if !reflect.DeepEqual(at1, at1Cloned) {
- t.Errorf("\nExpecting: %+v,\n received: %+v", at1, at1Cloned)
+ t.Errorf("Expecting: %+v,\n received: %+v", at1, at1Cloned)
}
}
@@ -120,7 +120,7 @@ func TestActionTimingClone(t *testing.T) {
Weight: 0.7,
}
if cloned := at.Clone(); !reflect.DeepEqual(at, cloned) {
- t.Errorf("\nExpecting: %+v,\n received: %+v", at, cloned)
+ t.Errorf("Expecting: %+v,\n received: %+v", at, cloned)
}
}
diff --git a/engine/connmanager.go b/engine/connmanager.go
index d03a07b65..a5c63ae62 100644
--- a/engine/connmanager.go
+++ b/engine/connmanager.go
@@ -84,8 +84,8 @@ func (cM *ConnManager) getConn(connID string, biRPCClient rpcclient.ClientConnec
var conPool *rpcclient.RPCParallelClientPool
if rpcConnCfg.Address == utils.MetaInternal {
conPool, err = rpcclient.NewRPCParallelClientPool("", "", rpcConnCfg.TLS,
- cM.cfg.TlsCfg().ClientKey, cM.cfg.TlsCfg().ClientCerificate,
- cM.cfg.TlsCfg().CaCertificate, cM.cfg.GeneralCfg().ConnectAttempts,
+ cM.cfg.TLSCfg().ClientKey, cM.cfg.TLSCfg().ClientCerificate,
+ cM.cfg.TLSCfg().CaCertificate, cM.cfg.GeneralCfg().ConnectAttempts,
cM.cfg.GeneralCfg().Reconnects, cM.cfg.GeneralCfg().ConnectTimeout,
cM.cfg.GeneralCfg().ReplyTimeout, rpcclient.InternalRPC, intChan, int64(cM.cfg.GeneralCfg().MaxParallelConns), false)
} else if utils.SliceHasMember([]string{utils.EmptyString, utils.MetaGOB, utils.MetaJSON}, rpcConnCfg.Transport) {
@@ -94,8 +94,8 @@ func (cM *ConnManager) getConn(connID string, biRPCClient rpcclient.ClientConnec
codec = rpcConnCfg.Transport
}
conPool, err = rpcclient.NewRPCParallelClientPool(utils.TCP, rpcConnCfg.Address, rpcConnCfg.TLS,
- cM.cfg.TlsCfg().ClientKey, cM.cfg.TlsCfg().ClientCerificate,
- cM.cfg.TlsCfg().CaCertificate, cM.cfg.GeneralCfg().ConnectAttempts,
+ cM.cfg.TLSCfg().ClientKey, cM.cfg.TLSCfg().ClientCerificate,
+ cM.cfg.TLSCfg().CaCertificate, cM.cfg.GeneralCfg().ConnectAttempts,
cM.cfg.GeneralCfg().Reconnects, cM.cfg.GeneralCfg().ConnectTimeout,
cM.cfg.GeneralCfg().ReplyTimeout, codec, nil, int64(cM.cfg.GeneralCfg().MaxParallelConns), false)
} else {
@@ -108,8 +108,8 @@ func (cM *ConnManager) getConn(connID string, biRPCClient rpcclient.ClientConnec
default:
var conPool *rpcclient.RPCPool
if conPool, err = NewRPCPool(connCfg.Strategy,
- cM.cfg.TlsCfg().ClientKey,
- cM.cfg.TlsCfg().ClientCerificate, cM.cfg.TlsCfg().CaCertificate,
+ cM.cfg.TLSCfg().ClientKey,
+ cM.cfg.TLSCfg().ClientCerificate, cM.cfg.TLSCfg().CaCertificate,
cM.cfg.GeneralCfg().ConnectAttempts, cM.cfg.GeneralCfg().Reconnects,
cM.cfg.GeneralCfg().ConnectTimeout, cM.cfg.GeneralCfg().ReplyTimeout,
connCfg.Conns, intChan, false); err != nil {
diff --git a/engine/dispatcherprfl.go b/engine/dispatcherprfl.go
index c9260b64c..d52926dee 100644
--- a/engine/dispatcherprfl.go
+++ b/engine/dispatcherprfl.go
@@ -156,8 +156,8 @@ func (dH *DispatcherHost) Call(serviceMethod string, args interface{}, reply int
// connect the rpcConn
cfg := config.CgrConfig()
if dH.rpcConn, err = NewRPCConnection(dH.Conn,
- cfg.TlsCfg().ClientKey,
- cfg.TlsCfg().ClientCerificate, cfg.TlsCfg().CaCertificate,
+ cfg.TLSCfg().ClientKey,
+ cfg.TLSCfg().ClientCerificate, cfg.TLSCfg().CaCertificate,
cfg.GeneralCfg().ConnectAttempts, cfg.GeneralCfg().Reconnects,
cfg.GeneralCfg().ConnectTimeout, cfg.GeneralCfg().ReplyTimeout,
IntRPC.GetInternalChanel(), false); err != nil {
diff --git a/engine/eventcost_test.go b/engine/eventcost_test.go
index f9da1212c..08cf876d6 100644
--- a/engine/eventcost_test.go
+++ b/engine/eventcost_test.go
@@ -2853,7 +2853,7 @@ func TestEventCostfieldAsInterface(t *testing.T) {
if rcv, err := eventCost.fieldAsInterface([]string{utils.Accounting, "test1"}); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(eBalanceCharge, rcv) {
- t.Errorf("\nExpecting: %+v, \nreceived: %+v", utils.ToJSON(eBalanceCharge), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v, \nreceived: %+v", utils.ToJSON(eBalanceCharge), utils.ToJSON(rcv))
}
// case utils.Rating:
eventCost = &EventCost{
diff --git a/engine/model_helpers_test.go b/engine/model_helpers_test.go
index b062837bd..ef66930f7 100644
--- a/engine/model_helpers_test.go
+++ b/engine/model_helpers_test.go
@@ -2562,7 +2562,7 @@ func TestTPFilterAsTPFilter(t *testing.T) {
rcvTPs := TpFilterS(tps).AsTPFilter()
if !(reflect.DeepEqual(eTPs, rcvTPs) || reflect.DeepEqual(eTPs[0], rcvTPs[0])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v", utils.ToIJSON(eTPs), utils.ToIJSON(rcvTPs))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v", utils.ToIJSON(eTPs), utils.ToIJSON(rcvTPs))
}
}
@@ -2597,7 +2597,7 @@ func TestTPFilterAsTPFilterWithDynValues(t *testing.T) {
rcvTPs := TpFilterS(tps).AsTPFilter()
if !(reflect.DeepEqual(eTPs, rcvTPs) || reflect.DeepEqual(eTPs[0], rcvTPs[0])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v", utils.ToIJSON(eTPs), utils.ToIJSON(rcvTPs))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v", utils.ToIJSON(eTPs), utils.ToIJSON(rcvTPs))
}
}
@@ -3672,14 +3672,14 @@ func TestTPDispatcherHostsCSVHeader(t *testing.T) {
tps := &TPDispatcherHosts{}
eOut := []string{"#" + utils.Tenant, utils.ID, utils.Address, utils.Transport, utils.TLS}
if rcv := tps.CSVHeader(); !reflect.DeepEqual(rcv, eOut) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
}
func TestTPDispatcherHostsAsTPDispatcherHosts(t *testing.T) {
tps := &TPDispatcherHosts{}
if rcv := tps.AsTPDispatcherHosts(); rcv != nil {
- t.Errorf("\nExpecting: nil,\nReceived: %+v", utils.ToJSON(rcv))
+ t.Errorf("Expecting: nil,\nReceived: %+v", utils.ToJSON(rcv))
}
tps = &TPDispatcherHosts{
@@ -3688,7 +3688,7 @@ func TestTPDispatcherHostsAsTPDispatcherHosts(t *testing.T) {
Tenant: "Tenant1",
}}
if rcv := tps.AsTPDispatcherHosts(); rcv != nil {
- t.Errorf("\nExpecting: nil,\nReceived: %+v", utils.ToJSON(rcv))
+ t.Errorf("Expecting: nil,\nReceived: %+v", utils.ToJSON(rcv))
}
tps = &TPDispatcherHosts{
@@ -3709,7 +3709,7 @@ func TestTPDispatcherHostsAsTPDispatcherHosts(t *testing.T) {
},
}
if rcv := tps.AsTPDispatcherHosts(); !reflect.DeepEqual(rcv, eOut) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
tps = &TPDispatcherHosts{
@@ -3730,7 +3730,7 @@ func TestTPDispatcherHostsAsTPDispatcherHosts(t *testing.T) {
},
}
if rcv := tps.AsTPDispatcherHosts(); !reflect.DeepEqual(rcv, eOut) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
tps = &TPDispatcherHosts{
@@ -3752,7 +3752,7 @@ func TestTPDispatcherHostsAsTPDispatcherHosts(t *testing.T) {
},
}
if rcv := tps.AsTPDispatcherHosts(); !reflect.DeepEqual(rcv, eOut) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
tps = &TPDispatcherHosts{
@@ -3776,14 +3776,14 @@ func TestTPDispatcherHostsAsTPDispatcherHosts(t *testing.T) {
rcv := tps.AsTPDispatcherHosts()
sort.Slice(rcv, func(i, j int) bool { return strings.Compare(rcv[i].ID, rcv[j].ID) < 0 })
if !reflect.DeepEqual(rcv, eOut) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
}
func TestAPItoModelTPDispatcherHost(t *testing.T) {
var tpDPH *utils.TPDispatcherHost
if rcv := APItoModelTPDispatcherHost(tpDPH); rcv != nil {
- t.Errorf("\nExpecting: nil,\nReceived: %+v", utils.ToJSON(rcv))
+ t.Errorf("Expecting: nil,\nReceived: %+v", utils.ToJSON(rcv))
}
tpDPH = &utils.TPDispatcherHost{
@@ -3801,7 +3801,7 @@ func TestAPItoModelTPDispatcherHost(t *testing.T) {
ID: "ID",
}
if rcv := APItoModelTPDispatcherHost(tpDPH); !reflect.DeepEqual(eOut, rcv) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
}
@@ -3809,7 +3809,7 @@ func TestAPItoModelTPDispatcherHost(t *testing.T) {
func TestAPItoDispatcherHost(t *testing.T) {
var tpDPH *utils.TPDispatcherHost
if rcv := APItoDispatcherHost(tpDPH); rcv != nil {
- t.Errorf("\nExpecting: nil,\nReceived: %+v", utils.ToJSON(rcv))
+ t.Errorf("Expecting: nil,\nReceived: %+v", utils.ToJSON(rcv))
}
tpDPH = &utils.TPDispatcherHost{
@@ -3830,7 +3830,7 @@ func TestAPItoDispatcherHost(t *testing.T) {
},
}
if rcv := APItoDispatcherHost(tpDPH); !reflect.DeepEqual(eOut, rcv) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
tpDPH = &utils.TPDispatcherHost{
@@ -3852,7 +3852,7 @@ func TestAPItoDispatcherHost(t *testing.T) {
},
}
if rcv := APItoDispatcherHost(tpDPH); !reflect.DeepEqual(eOut, rcv) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
}
@@ -3876,7 +3876,7 @@ func TestDispatcherHostToAPI(t *testing.T) {
},
}
if rcv := DispatcherHostToAPI(dph); !reflect.DeepEqual(eOut, rcv) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(eOut), utils.ToJSON(rcv))
}
}
diff --git a/engine/rateinterval_test.go b/engine/rateinterval_test.go
index e6abeb55a..6294d93b3 100644
--- a/engine/rateinterval_test.go
+++ b/engine/rateinterval_test.go
@@ -524,7 +524,7 @@ func TestRITimingClone2(t *testing.T) {
func TestRIRateClone(t *testing.T) {
var rit, cln RIRate
if cloned := rit.Clone(); !reflect.DeepEqual(cln, *cloned) {
- t.Errorf("\nExpecting: %+v,\n received: %+v", cln, *cloned)
+ t.Errorf("Expecting: %+v,\n received: %+v", cln, *cloned)
}
rit = RIRate{
ConnectFee: 0.7,
@@ -562,7 +562,7 @@ func TestRIRateClone(t *testing.T) {
}
rit.Rates[0].GroupIntervalStart = 7
if cloned.Rates[0].GroupIntervalStart != 10 {
- t.Errorf("\nExpecting: 10,\n received: %+v", cloned.Rates[0].GroupIntervalStart)
+ t.Errorf("Expecting: 10,\n received: %+v", cloned.Rates[0].GroupIntervalStart)
}
}
diff --git a/engine/suretax.go b/engine/suretax.go
index 5515bc0f8..521f23ff1 100644
--- a/engine/suretax.go
+++ b/engine/suretax.go
@@ -193,7 +193,7 @@ func SureTaxProcessCdr(cdr *CDR) error {
if err != nil {
return err
}
- resp, err := sureTaxClient.Post(stCfg.Url, "application/json", bytes.NewBuffer(jsnContent))
+ resp, err := sureTaxClient.Post(stCfg.URL, "application/json", bytes.NewBuffer(jsnContent))
if err != nil {
return err
}
diff --git a/engine/z_attributes_test.go b/engine/z_attributes_test.go
index 79578b7d9..53537ce1c 100644
--- a/engine/z_attributes_test.go
+++ b/engine/z_attributes_test.go
@@ -451,7 +451,7 @@ func TestAttributeIndexer(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf := &AttributeProfile{
Tenant: "cgrates.org",
@@ -516,7 +516,7 @@ func TestAttributeProcessWithMultipleRuns1(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -633,7 +633,7 @@ func TestAttributeProcessWithMultipleRuns2(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -746,7 +746,7 @@ func TestAttributeProcessWithMultipleRuns3(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -859,7 +859,7 @@ func TestAttributeProcessWithMultipleRuns4(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -954,7 +954,7 @@ func TestAttributeMultipleProcessWithBlocker(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
return
}
attrPrf1 := &AttributeProfile{
@@ -1070,7 +1070,7 @@ func TestAttributeMultipleProcessWithBlocker2(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1182,7 +1182,7 @@ func TestAttributeProcessValue(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1256,7 +1256,7 @@ func TestAttributeAttributeFilterIDs(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1341,7 +1341,7 @@ func TestAttributeProcessEventConstant(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1416,7 +1416,7 @@ func TestAttributeProcessEventVariable(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1498,7 +1498,7 @@ func TestAttributeProcessEventComposed(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1585,7 +1585,7 @@ func TestAttributeProcessEventSum(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1664,7 +1664,7 @@ func TestAttributeProcessEventUsageDifference(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1745,7 +1745,7 @@ func TestAttributeProcessEventValueExponent(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1834,7 +1834,7 @@ func BenchmarkAttributeProcessEventConstant(b *testing.B) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
b.Error(err)
} else if test != true {
- b.Errorf("\nExpecting: true got :%+v", test)
+ b.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1897,7 +1897,7 @@ func BenchmarkAttributeProcessEventVariable(b *testing.B) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
b.Error(err)
} else if test != true {
- b.Errorf("\nExpecting: true got :%+v", test)
+ b.Errorf("Expecting: true got :%+v", test)
}
attrPrf1 := &AttributeProfile{
Tenant: config.CgrConfig().GeneralCfg().DefaultTenant,
@@ -1952,7 +1952,7 @@ func TestGetAttributeProfileFromInline(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrID := "*sum:*req.Field2:10|~*req.NumField|20"
expAttrPrf1 := &AttributeProfile{
@@ -2772,7 +2772,7 @@ func TestAttributeIndexSelectsFalse(t *testing.T) {
if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
attrPrf := &AttributeProfile{
Tenant: "cgrates.org",
diff --git a/engine/z_filterindexer_it_test.go b/engine/z_filterindexer_it_test.go
index 51ddff493..d382f29dc 100644
--- a/engine/z_filterindexer_it_test.go
+++ b/engine/z_filterindexer_it_test.go
@@ -124,7 +124,7 @@ func testITIsDBEmpty(t *testing.T) {
if err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
}
diff --git a/engine/z_libcdre_it_test.go b/engine/z_libcdre_it_test.go
index 154a7faff..9677cb747 100644
--- a/engine/z_libcdre_it_test.go
+++ b/engine/z_libcdre_it_test.go
@@ -74,7 +74,7 @@ func TestWriteToFile(t *testing.T) {
t.Errorf("Error deconding the file content: %+v", err)
}
if !reflect.DeepEqual(rcv, exportEvent) {
- t.Errorf("\nExpecting: %+v,\nReceived: %+v", utils.ToJSON(exportEvent), utils.ToJSON(rcv))
+ t.Errorf("Expecting: %+v,\nReceived: %+v", utils.ToJSON(exportEvent), utils.ToJSON(rcv))
}
//populate the exportEvent struct
exportEvent = &ExportEvents{
@@ -96,13 +96,13 @@ func TestWriteToFile(t *testing.T) {
t.Errorf("Error deconding the file content: %+v", err)
}
if !reflect.DeepEqual(rcv, exportEvent) {
- t.Errorf("\nExpected: %+v,\nReceived: %+v", utils.ToJSON(exportEvent), utils.ToJSON(rcv))
+ t.Errorf("Expected: %+v,\nReceived: %+v", utils.ToJSON(exportEvent), utils.ToJSON(rcv))
}
//wrong path *reading
exportEvent = &ExportEvents{}
filePath = "/tmp/engine/libcdre_test/wrongpath.txt"
if rcv, err = NewExportEventsFromFile(filePath); err == nil || err.Error() != "open /tmp/engine/libcdre_test/wrongpath.txt: no such file or directory" {
- t.Errorf("\nExpecting: 'open /tmp/engine/libcdre_test/wrongpath.txt: no such file or directory',\nReceived: '%+v'", err)
+ t.Errorf("Expecting: 'open /tmp/engine/libcdre_test/wrongpath.txt: no such file or directory',\nReceived: '%+v'", err)
}
//wrong path *writing
filePath = utils.EmptyString
diff --git a/engine/z_onstor_it_test.go b/engine/z_onstor_it_test.go
index 8c7a08d40..27a4d0b9f 100644
--- a/engine/z_onstor_it_test.go
+++ b/engine/z_onstor_it_test.go
@@ -139,7 +139,7 @@ func testOnStorITIsDBEmpty(t *testing.T) {
if err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
}
diff --git a/engine/z_stordb_it_test.go b/engine/z_stordb_it_test.go
index 0e1f2caae..9198feb4b 100644
--- a/engine/z_stordb_it_test.go
+++ b/engine/z_stordb_it_test.go
@@ -125,14 +125,14 @@ func testStorDBitIsDBEmpty(t *testing.T) {
if err != nil {
t.Error(err)
} else if test != true {
- t.Errorf("\nExpecting: true got :%+v", test)
+ t.Errorf("Expecting: true got :%+v", test)
}
case utils.POSTGRES, utils.MYSQL:
test, err := storDB.IsDBEmpty()
if err != nil {
t.Error(err)
} else if test != false {
- t.Errorf("\nExpecting: false got :%+v", test)
+ t.Errorf("Expecting: false got :%+v", test)
}
}
}
@@ -171,7 +171,7 @@ func testStorDBitCRUDTpTimings(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -185,7 +185,7 @@ func testStorDBitCRUDTpTimings(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -240,7 +240,7 @@ func testStorDBitCRUDTpDestinations(t *testing.T) {
rcv[1].Prefixes = snd[0].Prefixes
}
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -270,7 +270,7 @@ func testStorDBitCRUDTpDestinations(t *testing.T) {
rcv[1].Prefixes = snd[0].Prefixes
}
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -335,7 +335,7 @@ func testStorDBitCRUDTpRates(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -351,7 +351,7 @@ func testStorDBitCRUDTpRates(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -409,7 +409,7 @@ func testStorDBitCRUDTpDestinationRates(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -423,7 +423,7 @@ func testStorDBitCRUDTpDestinationRates(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -474,7 +474,7 @@ func testStorDBitCRUDTpRatingPlans(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -488,7 +488,7 @@ func testStorDBitCRUDTpRatingPlans(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -549,7 +549,7 @@ func testStorDBitCRUDTpRatingProfiles(t *testing.T) {
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) ||
reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v",
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v",
utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
@@ -575,7 +575,7 @@ func testStorDBitCRUDTpRatingProfiles(t *testing.T) {
} else {
if len(snd) != len(rcv) ||
len(snd[0].RatingPlanActivations) != len(rcv[0].RatingPlanActivations) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v",
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v",
utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
@@ -627,7 +627,7 @@ func testStorDBitCRUDTpSharedGroups(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -641,7 +641,7 @@ func testStorDBitCRUDTpSharedGroups(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -720,7 +720,7 @@ func testStorDBitCRUDTpActions(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -734,7 +734,7 @@ func testStorDBitCRUDTpActions(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -785,7 +785,7 @@ func testStorDBitCRUDTpActionPlans(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -799,7 +799,7 @@ func testStorDBitCRUDTpActionPlans(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -886,7 +886,7 @@ func testStorDBitCRUDTpActionTriggers(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -900,7 +900,7 @@ func testStorDBitCRUDTpActionTriggers(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
@@ -952,7 +952,7 @@ func testStorDBitCRUDTpAccountActions(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// UPDATE
@@ -966,7 +966,7 @@ func testStorDBitCRUDTpAccountActions(t *testing.T) {
t.Error(err)
} else {
if !(reflect.DeepEqual(snd[0], rcv[0]) || reflect.DeepEqual(snd[0], rcv[1])) {
- t.Errorf("\nExpecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
+ t.Errorf("Expecting:\n%+v\nReceived:\n%+v\n||\n%+v", utils.ToIJSON(snd[0]), utils.ToIJSON(rcv[0]), utils.ToIJSON(rcv[1]))
}
}
// REMOVE
diff --git a/ers/ers_reload_it_test.go b/ers/ers_reload_it_test.go
index d7e48b440..ad62639c0 100644
--- a/ers/ers_reload_it_test.go
+++ b/ers/ers_reload_it_test.go
@@ -128,7 +128,7 @@ func testReloadVerifyDisabledReaders(t *testing.T) {
func testReloadReloadConfigFromPath(t *testing.T) {
var reply string
- if err := reloadRPC.Call(utils.ConfigSv1ReloadConfig, &config.ConfigReloadArgs{
+ if err := reloadRPC.Call(utils.ConfigSv1ReloadConfig, &config.ReloadArgs{
Path: path.Join(*dataDir, "conf", "samples", "ers_reload", "first_reload"),
Section: config.ERsJson,
}, &reply); err != nil {
diff --git a/ers/filexml.go b/ers/filexml.go
index b952bf915..04776caf0 100644
--- a/ers/filexml.go
+++ b/ers/filexml.go
@@ -141,7 +141,7 @@ func (rdr *XMLFileER) processFile(fPath, fName string) (err error) {
for _, xmlElmt := range xmlElmts {
rowNr++ // increment the rowNr after checking if it's not the end of file
agReq := agents.NewAgentRequest(
- config.NewXmlProvider(xmlElmt, rdr.Config().XMLRootPath), reqVars,
+ config.NewXMLProvider(xmlElmt, rdr.Config().XMLRootPath), reqVars,
nil, nil, nil, rdr.Config().Tenant,
rdr.cgrCfg.GeneralCfg().DefaultTenant,
utils.FirstNonEmpty(rdr.Config().Timezone,
diff --git a/general_tests/cdrs_processevent_it_test.go b/general_tests/cdrs_processevent_it_test.go
index c35882868..ba8394189 100644
--- a/general_tests/cdrs_processevent_it_test.go
+++ b/general_tests/cdrs_processevent_it_test.go
@@ -318,7 +318,7 @@ func testV1CDRsProcessEventRalS(t *testing.T) {
} else if len(cdrs) != 1 {
t.Errorf("Expecting: 1, received: %+v", len(cdrs))
} else if !reflect.DeepEqual(cdrs[0].Cost, 0.0204) {
- t.Errorf("\nExpected: %+v,\nreceived: %+v", 0.0204, utils.ToJSON(cdrs[0]))
+ t.Errorf("Expected: %+v,\nreceived: %+v", 0.0204, utils.ToJSON(cdrs[0]))
}
}
@@ -391,7 +391,7 @@ func testV1CDRsProcessEventSts(t *testing.T) {
cdrs[0].SetupTime = cdrs[0].SetupTime.UTC()
cdrs[0].AnswerTime = cdrs[0].AnswerTime.UTC()
if !reflect.DeepEqual(eOut[0], cdrs[0]) {
- t.Errorf("\nExpected: %+v,\nreceived: %+v", utils.ToJSON(eOut[0]), utils.ToJSON(cdrs[0]))
+ t.Errorf("Expected: %+v,\nreceived: %+v", utils.ToJSON(eOut[0]), utils.ToJSON(cdrs[0]))
}
var metrics map[string]string
statMetrics := map[string]string{
@@ -685,7 +685,7 @@ func testV1CDRsV2ProcessEventRalS(t *testing.T) {
} else if len(cdrs) != 1 {
t.Errorf("Expecting: 1, received: %+v", len(cdrs))
} else if !reflect.DeepEqual(cdrs[0].Cost, 0.0204) {
- t.Errorf("\nExpected: %+v,\nreceived: %+v", 0.0204, utils.ToJSON(cdrs[0]))
+ t.Errorf("Expected: %+v,\nreceived: %+v", 0.0204, utils.ToJSON(cdrs[0]))
}
argsEv.Flags = append(argsEv.Flags, utils.MetaRerate)
diff --git a/general_tests/tls_it_test.go b/general_tests/tls_it_test.go
index 1639a28b7..1ea30c36a 100755
--- a/general_tests/tls_it_test.go
+++ b/general_tests/tls_it_test.go
@@ -84,22 +84,22 @@ func testTLSStartEngine(t *testing.T) {
func testTLSRpcConn(t *testing.T) {
var err error
- tlsRpcClientJson, err = rpcclient.NewRPCClient(utils.TCP, "localhost:2022", true, tlsCfg.TlsCfg().ClientKey,
- tlsCfg.TlsCfg().ClientCerificate, tlsCfg.TlsCfg().CaCertificate, 3, 3,
+ tlsRpcClientJson, err = rpcclient.NewRPCClient(utils.TCP, "localhost:2022", true, tlsCfg.TLSCfg().ClientKey,
+ tlsCfg.TLSCfg().ClientCerificate, tlsCfg.TLSCfg().CaCertificate, 3, 3,
time.Second, 5*time.Minute, rpcclient.JSONrpc, nil, false)
if err != nil {
t.Errorf("Error: %s when dialing", err)
}
- tlsRpcClientGob, err = rpcclient.NewRPCClient(utils.TCP, "localhost:2023", true, tlsCfg.TlsCfg().ClientKey,
- tlsCfg.TlsCfg().ClientCerificate, tlsCfg.TlsCfg().CaCertificate, 3, 3,
+ tlsRpcClientGob, err = rpcclient.NewRPCClient(utils.TCP, "localhost:2023", true, tlsCfg.TLSCfg().ClientKey,
+ tlsCfg.TLSCfg().ClientCerificate, tlsCfg.TLSCfg().CaCertificate, 3, 3,
time.Second, 5*time.Minute, rpcclient.GOBrpc, nil, false)
if err != nil {
t.Errorf("Error: %s when dialing", err)
}
- tlsHTTPJson, err = rpcclient.NewRPCClient(utils.TCP, "https://localhost:2280/jsonrpc", true, tlsCfg.TlsCfg().ClientKey,
- tlsCfg.TlsCfg().ClientCerificate, tlsCfg.TlsCfg().CaCertificate, 3, 3,
+ tlsHTTPJson, err = rpcclient.NewRPCClient(utils.TCP, "https://localhost:2280/jsonrpc", true, tlsCfg.TLSCfg().ClientKey,
+ tlsCfg.TLSCfg().ClientCerificate, tlsCfg.TLSCfg().CaCertificate, 3, 3,
time.Second, 5*time.Minute, rpcclient.HTTPjson, nil, false)
if err != nil {
t.Errorf("Error: %s when dialing", err)
diff --git a/migrator/attributes_it_test.go b/migrator/attributes_it_test.go
index b97fb5c2b..52dd8747c 100755
--- a/migrator/attributes_it_test.go
+++ b/migrator/attributes_it_test.go
@@ -235,7 +235,7 @@ func testAttrITFlush(t *testing.T) {
if isEmpty, err := attrMigrator.dmOut.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(attrMigrator.dmOut.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
@@ -246,7 +246,7 @@ func testAttrITFlush(t *testing.T) {
if isEmpty, err := attrMigrator.dmIN.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(attrMigrator.dmIN.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
diff --git a/migrator/chargers_it_test.go b/migrator/chargers_it_test.go
index c03b8accc..e73ffff65 100755
--- a/migrator/chargers_it_test.go
+++ b/migrator/chargers_it_test.go
@@ -159,7 +159,7 @@ func testChrgITFlush(t *testing.T) {
if isEmpty, err := chrgMigrator.dmOut.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(chrgMigrator.dmOut.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
@@ -170,7 +170,7 @@ func testChrgITFlush(t *testing.T) {
if isEmpty, err := chrgMigrator.dmIN.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(chrgMigrator.dmIN.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
diff --git a/migrator/dispatchers_it_test.go b/migrator/dispatchers_it_test.go
index a1d99c6d5..8461ef9d0 100644
--- a/migrator/dispatchers_it_test.go
+++ b/migrator/dispatchers_it_test.go
@@ -159,7 +159,7 @@ func testDspITFlush(t *testing.T) {
if isEmpty, err := dspMigrator.dmOut.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(dspMigrator.dmOut.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
@@ -170,7 +170,7 @@ func testDspITFlush(t *testing.T) {
if isEmpty, err := dspMigrator.dmIN.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(dspMigrator.dmIN.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
diff --git a/migrator/rateprofiles_it_test.go b/migrator/rateprofiles_it_test.go
index a8534ee1a..7deb598c3 100644
--- a/migrator/rateprofiles_it_test.go
+++ b/migrator/rateprofiles_it_test.go
@@ -159,7 +159,7 @@ func testRatePrfITFlush(t *testing.T) {
if isEmpty, err := ratePrfMigrator.dmOut.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(ratePrfMigrator.dmOut.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
@@ -170,7 +170,7 @@ func testRatePrfITFlush(t *testing.T) {
if isEmpty, err := ratePrfMigrator.dmIN.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(ratePrfMigrator.dmIN.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
diff --git a/migrator/rating_plan_it_test.go b/migrator/rating_plan_it_test.go
index b8c9806fc..94e1d7e93 100644
--- a/migrator/rating_plan_it_test.go
+++ b/migrator/rating_plan_it_test.go
@@ -158,7 +158,7 @@ func testRtPlITFlush(t *testing.T) {
if isEmpty, err := rtplMigrator.dmOut.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(rtplMigrator.dmOut.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
@@ -169,7 +169,7 @@ func testRtPlITFlush(t *testing.T) {
if isEmpty, err := rtplMigrator.dmIN.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(rtplMigrator.dmIN.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
diff --git a/migrator/rating_profile_it_test.go b/migrator/rating_profile_it_test.go
index da9ded7ee..45eb3a7d5 100644
--- a/migrator/rating_profile_it_test.go
+++ b/migrator/rating_profile_it_test.go
@@ -159,7 +159,7 @@ func testRtPrfITFlush(t *testing.T) {
if isEmpty, err := rtprflMigrator.dmOut.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(rtprflMigrator.dmOut.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
@@ -170,7 +170,7 @@ func testRtPrfITFlush(t *testing.T) {
if isEmpty, err := rtprflMigrator.dmIN.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(rtprflMigrator.dmIN.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
diff --git a/migrator/resource_it_test.go b/migrator/resource_it_test.go
index 7cbe60adc..4a93477ec 100644
--- a/migrator/resource_it_test.go
+++ b/migrator/resource_it_test.go
@@ -159,7 +159,7 @@ func testResITFlush(t *testing.T) {
if isEmpty, err := resMigrator.dmOut.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(resMigrator.dmOut.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
@@ -170,7 +170,7 @@ func testResITFlush(t *testing.T) {
if isEmpty, err := resMigrator.dmIN.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(resMigrator.dmIN.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
diff --git a/migrator/routes_it_test.go b/migrator/routes_it_test.go
index f7110dc44..01dc89c69 100644
--- a/migrator/routes_it_test.go
+++ b/migrator/routes_it_test.go
@@ -158,7 +158,7 @@ func testSupITFlush(t *testing.T) {
if isEmpty, err := supMigrator.dmOut.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(supMigrator.dmOut.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
@@ -169,7 +169,7 @@ func testSupITFlush(t *testing.T) {
if isEmpty, err := supMigrator.dmIN.DataManager().DataDB().IsDBEmpty(); err != nil {
t.Error(err)
} else if isEmpty != true {
- t.Errorf("\nExpecting: true got :%+v", isEmpty)
+ t.Errorf("Expecting: true got :%+v", isEmpty)
}
if err := engine.SetDBVersions(supMigrator.dmIN.DataManager().DataDB()); err != nil {
t.Error("Error ", err.Error())
diff --git a/services/apiers_it_test.go b/services/apiers_it_test.go
index 3a1b7e26d..e8f58826f 100644
--- a/services/apiers_it_test.go
+++ b/services/apiers_it_test.go
@@ -80,7 +80,7 @@ func TestApiersReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.ApierS,
}, &reply); err != nil {
diff --git a/services/asteriskagent_it_test.go b/services/asteriskagent_it_test.go
index 0854d4b37..fcd72bb8d 100644
--- a/services/asteriskagent_it_test.go
+++ b/services/asteriskagent_it_test.go
@@ -65,7 +65,7 @@ func TestAsteriskAgentReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "tutorial_tests", "asterisk_ari", "cgrates", "etc", "cgrates"),
Section: config.AsteriskAgentJSN,
}, &reply); err != nil {
diff --git a/services/attributes_it_test.go b/services/attributes_it_test.go
index f8c4e25db..8a956f809 100644
--- a/services/attributes_it_test.go
+++ b/services/attributes_it_test.go
@@ -69,7 +69,7 @@ func TestAttributeSReload(t *testing.T) {
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.ATTRIBUTE_JSN,
}, &reply); err != nil {
diff --git a/services/cdrs_it_test.go b/services/cdrs_it_test.go
index 648874878..d3f51d149 100644
--- a/services/cdrs_it_test.go
+++ b/services/cdrs_it_test.go
@@ -91,7 +91,7 @@ func TestCdrsReload(t *testing.T) {
}
cfg.RalsCfg().Enabled = true
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.CDRS_JSN,
}, &reply); err != nil {
diff --git a/services/chargers_it_test.go b/services/chargers_it_test.go
index b95a19bdf..240b84350 100644
--- a/services/chargers_it_test.go
+++ b/services/chargers_it_test.go
@@ -69,7 +69,7 @@ func TestChargerSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err = cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.ChargerSCfgJson,
}, &reply); err != nil {
diff --git a/services/datadb_it_test.go b/services/datadb_it_test.go
index 9f0a4a5f1..f1163a6ff 100644
--- a/services/datadb_it_test.go
+++ b/services/datadb_it_test.go
@@ -64,7 +64,7 @@ func TestDataDBReload(t *testing.T) {
}
var reply string
cfg.AttributeSCfg().Enabled = true
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.DATADB_JSN,
}, &reply); err != nil {
diff --git a/services/diameteragent_it_test.go b/services/diameteragent_it_test.go
index da7ba8863..341fd80ab 100644
--- a/services/diameteragent_it_test.go
+++ b/services/diameteragent_it_test.go
@@ -65,7 +65,7 @@ func TestDiameterAgentReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "diamagent_mysql"),
Section: config.DA_JSN,
}, &reply); err != nil {
diff --git a/services/dispatchers_it_test.go b/services/dispatchers_it_test.go
index 83b4775a3..88011abb6 100644
--- a/services/dispatchers_it_test.go
+++ b/services/dispatchers_it_test.go
@@ -71,7 +71,7 @@ func TestDispatcherSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err = cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "dispatchers", "dispatchers_mysql"),
Section: config.DispatcherSJson,
diff --git a/services/dnsagent_it_test.go b/services/dnsagent_it_test.go
index ad6ba7974..65a8f3a27 100644
--- a/services/dnsagent_it_test.go
+++ b/services/dnsagent_it_test.go
@@ -65,7 +65,7 @@ func TestDNSAgentReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "dnsagent_reload"),
Section: config.DNSAgentJson,
}, &reply); err != nil {
diff --git a/services/ees_it_test.go b/services/ees_it_test.go
index c1ebcae59..95ec443c6 100644
--- a/services/ees_it_test.go
+++ b/services/ees_it_test.go
@@ -83,7 +83,7 @@ func TestEventExporterSReload(t *testing.T) {
fcTmp.ComputePath()
cfg.TemplatesCfg()["requiredFields"] = []*config.FCTemplate{fcTmp}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "ees"),
Section: config.EEsJson,
}, &reply); err != nil {
diff --git a/services/ers_it_test.go b/services/ers_it_test.go
index 1f31213a6..0bfd37403 100644
--- a/services/ers_it_test.go
+++ b/services/ers_it_test.go
@@ -69,7 +69,7 @@ func TestEventReaderSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "ers_reload", "internal"),
Section: config.ERsJson,
}, &reply); err != nil {
diff --git a/services/freeswitchagent_it_test.go b/services/freeswitchagent_it_test.go
index 047ed3a55..897ca57b0 100644
--- a/services/freeswitchagent_it_test.go
+++ b/services/freeswitchagent_it_test.go
@@ -65,7 +65,7 @@ func TestFreeSwitchAgentReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "tutorial_tests", "fs_evsock", "cgrates", "etc", "cgrates"),
Section: config.FreeSWITCHAgentJSN,
}, &reply); err != nil {
diff --git a/services/httpagent.go b/services/httpagent.go
index 9bd03486e..aa7b95801 100644
--- a/services/httpagent.go
+++ b/services/httpagent.go
@@ -63,7 +63,7 @@ func (ha *HTTPAgent) Start() (err error) {
ha.Lock()
utils.Logger.Info(fmt.Sprintf("<%s> successfully started HTTPAgent", utils.HTTPAgent))
- for _, agntCfg := range ha.cfg.HttpAgentCfg() {
+ for _, agntCfg := range ha.cfg.HTTPAgentCfg() {
ha.server.RegisterHttpHandler(agntCfg.Url,
agents.NewHTTPAgent(ha.connMgr, agntCfg.SessionSConns, filterS,
ha.cfg.GeneralCfg().DefaultTenant, agntCfg.RequestPayload,
@@ -97,5 +97,5 @@ func (ha *HTTPAgent) ServiceName() string {
// ShouldRun returns if the service should be running
func (ha *HTTPAgent) ShouldRun() bool {
- return len(ha.cfg.HttpAgentCfg()) != 0
+ return len(ha.cfg.HTTPAgentCfg()) != 0
}
diff --git a/services/kamailioagent_it_test.go b/services/kamailioagent_it_test.go
index 5420d06dd..f266d62b7 100644
--- a/services/kamailioagent_it_test.go
+++ b/services/kamailioagent_it_test.go
@@ -65,7 +65,7 @@ func TestKamailioAgentReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "tutorial_tests", "kamevapi", "cgrates", "etc", "cgrates"),
Section: config.KamailioAgentJSN,
}, &reply); err != nil {
diff --git a/services/radiusagent_it_test.go b/services/radiusagent_it_test.go
index d64d30bb3..ae6753f4b 100644
--- a/services/radiusagent_it_test.go
+++ b/services/radiusagent_it_test.go
@@ -65,7 +65,7 @@ func TestRadiusAgentReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "radagent_mysql"),
Section: config.RA_JSN,
}, &reply); err != nil {
diff --git a/services/rals_it_test.go b/services/rals_it_test.go
index 1c475619c..e27576c44 100644
--- a/services/rals_it_test.go
+++ b/services/rals_it_test.go
@@ -86,7 +86,7 @@ func TestRalsReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.RALS_JSN,
}, &reply); err != nil {
diff --git a/services/rates_it_test.go b/services/rates_it_test.go
index e63076129..9109ba265 100644
--- a/services/rates_it_test.go
+++ b/services/rates_it_test.go
@@ -61,7 +61,7 @@ func TestRateSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "rates"),
Section: config.RateSJson,
}, &reply); err != nil {
diff --git a/services/resources_it_test.go b/services/resources_it_test.go
index 65829cd8c..c610fe99b 100644
--- a/services/resources_it_test.go
+++ b/services/resources_it_test.go
@@ -71,7 +71,7 @@ func TestResourceSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err = cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.RESOURCES_JSON,
}, &reply); err != nil {
diff --git a/services/routes_it_test.go b/services/routes_it_test.go
index 2dc992540..881d095f4 100644
--- a/services/routes_it_test.go
+++ b/services/routes_it_test.go
@@ -69,7 +69,7 @@ func TestSupplierSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongonew"),
Section: config.RouteSJson,
}, &reply); err != nil {
diff --git a/services/schedulers_it_test.go b/services/schedulers_it_test.go
index 75a232e8c..6d8331a22 100644
--- a/services/schedulers_it_test.go
+++ b/services/schedulers_it_test.go
@@ -62,7 +62,7 @@ func TestSchedulerSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongonew"),
Section: config.SCHEDULER_JSN,
}, &reply); err != nil {
diff --git a/services/sessions_it_test.go b/services/sessions_it_test.go
index 9e206d086..de1bb9ddb 100644
--- a/services/sessions_it_test.go
+++ b/services/sessions_it_test.go
@@ -97,7 +97,7 @@ func TestSessionSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongonew"),
Section: config.SessionSJson,
}, &reply); err != nil {
diff --git a/services/sipagent_it_test.go b/services/sipagent_it_test.go
index d3d547480..27bb661ba 100644
--- a/services/sipagent_it_test.go
+++ b/services/sipagent_it_test.go
@@ -65,7 +65,7 @@ func TestSIPAgentReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err := cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err := cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "sipagent_mysql"),
Section: config.SIPAgentJson,
}, &reply); err != nil {
diff --git a/services/stats_it_test.go b/services/stats_it_test.go
index aff0b4128..5c5cd3e9a 100644
--- a/services/stats_it_test.go
+++ b/services/stats_it_test.go
@@ -71,7 +71,7 @@ func TestStatSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err = cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.STATS_JSON,
}, &reply); err != nil {
diff --git a/services/thresholds_it_test.go b/services/thresholds_it_test.go
index bfb2b7d96..552e448fc 100644
--- a/services/thresholds_it_test.go
+++ b/services/thresholds_it_test.go
@@ -65,7 +65,7 @@ func TestThresholdSReload(t *testing.T) {
t.Errorf("Expected service to be down")
}
var reply string
- if err = cfg.V1ReloadConfig(&config.ConfigReloadArgs{
+ if err = cfg.V1ReloadConfig(&config.ReloadArgs{
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
Section: config.THRESHOLDS_JSON,
}, &reply); err != nil {
diff --git a/utils/coreutils_test.go b/utils/coreutils_test.go
index 05ba6f8a0..8bd1d91fc 100644
--- a/utils/coreutils_test.go
+++ b/utils/coreutils_test.go
@@ -958,7 +958,7 @@ func TestParseHierarchyClone(t *testing.T) {
eHP := HierarchyPath([]string{"Root", "CGRateS"})
rcv := eHP.Clone()
if !reflect.DeepEqual(eHP, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", ToJSON(eHP), ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", ToJSON(eHP), ToJSON(rcv))
}
if rcv[0] = ""; eHP[0] != "Root" {
t.Errorf("Expected clone to not modify the cloned")
@@ -966,7 +966,7 @@ func TestParseHierarchyClone(t *testing.T) {
eHP = nil
rcv = eHP.Clone()
if !reflect.DeepEqual(eHP, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", ToJSON(eHP), ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", ToJSON(eHP), ToJSON(rcv))
}
}
diff --git a/utils/researchreplace_test.go b/utils/researchreplace_test.go
index d2a55b8cf..58fe8bdf8 100644
--- a/utils/researchreplace_test.go
+++ b/utils/researchreplace_test.go
@@ -90,7 +90,7 @@ func TestReSearchReplaceClone(t *testing.T) {
}
rcv := rsr.Clone()
if !reflect.DeepEqual(rsr, rcv) {
- t.Errorf("\nExpected: %+v\nReceived: %+v", ToJSON(rsr), ToJSON(rcv))
+ t.Errorf("Expected: %+v\nReceived: %+v", ToJSON(rsr), ToJSON(rcv))
}
*rcv.SearchRegexp = regexp.Regexp{}
if reflect.DeepEqual(rsr.SearchRegexp, rcv.SearchRegexp) {