diff --git a/agents/agentreq_test.go b/agents/agentreq_test.go index 36227e8d3..2331ec84f 100644 --- a/agents/agentreq_test.go +++ b/agents/agentreq_test.go @@ -39,7 +39,7 @@ import ( func TestAgReqSetFields(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -140,7 +140,7 @@ func TestAgentRequestSetFields(t *testing.T) { utils.Tenant: "cgrates.org", } cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) ar := NewAgentRequest(utils.MapStorage(req), nil, nil, nil, nil, config.NewRSRParsersMustCompile("", utils.NestingSep), @@ -488,7 +488,7 @@ func TestAgentRequestSetFields(t *testing.T) { func TestAgReqMaxCost(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -534,7 +534,7 @@ func TestAgReqParseFieldDiameter(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -587,7 +587,7 @@ func TestAgReqParseFieldRadius(t *testing.T) { //create radiusDataProvider dP := newRADataProvider(pkt) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -630,7 +630,7 @@ Host: api.cgrates.org //create radiusDataProvider dP, _ := newHTTPUrlDP(req) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -701,7 +701,7 @@ func TestAgReqParseFieldHttpXml(t *testing.T) { //create radiusDataProvider dP, _ := newHTTPXmlDP(req) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -731,7 +731,7 @@ func TestAgReqParseFieldHttpXml(t *testing.T) { func TestAgReqEmptyFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -773,7 +773,7 @@ func TestAgReqEmptyFilter(t *testing.T) { func TestAgReqMetaExponent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -799,7 +799,7 @@ func TestAgReqMetaExponent(t *testing.T) { func TestAgReqFieldAsNone(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -837,7 +837,7 @@ func TestAgReqFieldAsNone(t *testing.T) { func TestAgReqFieldAsNone2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -877,7 +877,7 @@ func TestAgReqFieldAsNone2(t *testing.T) { func TestAgReqSetField2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -933,7 +933,7 @@ func TestAgReqSetField2(t *testing.T) { func TestAgReqFieldAsInterface(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -1002,7 +1002,7 @@ func TestAgReqFieldAsInterface(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathCgrReq(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) aqReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, @@ -1025,7 +1025,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathCgrReq(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathVars(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) dN := &utils.DataNode{ @@ -1053,7 +1053,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathVars(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathCgrReply(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) dN := &utils.DataNode{ @@ -1081,7 +1081,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathCgrReply(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathTmp(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) dN := &utils.DataNode{ @@ -1110,7 +1110,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathTmp(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathReq(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) dP := &utils.MapStorage{ @@ -1137,7 +1137,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathReq(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathDiamReq(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) aqReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, @@ -1160,7 +1160,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathDiamReq(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathReply(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) aqReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, @@ -1183,7 +1183,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathReply(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathOpts(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) opts := utils.MapStorage{ @@ -1210,7 +1210,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathCfg(t *testing.T) { cfg := config.NewDefaultCGRConfig() config.SetCgrConfig(cfg) - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) aqReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, @@ -1230,7 +1230,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathCfg(t *testing.T) { func TestAgReqNewARWithCGRRplyAndRply(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -1275,7 +1275,7 @@ func TestAgReqNewARWithCGRRplyAndRply(t *testing.T) { func TestAgReqSetCGRReplyWithError(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -1313,7 +1313,7 @@ func (ev myEv) AsNavigableMap() map[string]*utils.DataNode { func TestAgReqSetCGRReplyWithoutError(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -1374,7 +1374,7 @@ func TestAgReqParseFieldMetaCCUsage(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1458,7 +1458,7 @@ func TestAgReqParseFieldMetaUsageDifference(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1524,7 +1524,7 @@ func TestAgReqParseFieldMetaSum(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1568,7 +1568,7 @@ func TestAgReqParseFieldMetaDifference(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1612,7 +1612,7 @@ func TestAgReqParseFieldMetaMultiply(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1656,7 +1656,7 @@ func TestAgReqParseFieldMetaDivide(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1700,7 +1700,7 @@ func TestAgReqParseFieldMetaValueExponent(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1754,7 +1754,7 @@ func TestAgReqParseFieldMetaValueExponent(t *testing.T) { func TestAgReqOverwrite(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -1806,7 +1806,7 @@ func TestAgReqOverwrite(t *testing.T) { func TestAgReqGroupType(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -1850,7 +1850,7 @@ func TestAgReqGroupType(t *testing.T) { func TestAgReqSetFieldsInTmp(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -1882,7 +1882,7 @@ func TestAgReqSetFieldsInTmp(t *testing.T) { func TestAgReqSetFieldsIp2Hex(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -1909,7 +1909,7 @@ func TestAgReqSetFieldsIp2Hex(t *testing.T) { func TestAgReqSetFieldsString2Hex(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -1936,7 +1936,7 @@ func TestAgReqSetFieldsString2Hex(t *testing.T) { func TestAgReqSetFieldsWithRemove(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -2064,7 +2064,7 @@ func TestAgReqSetFieldsWithRemove(t *testing.T) { func TestAgReqSetFieldsInCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) engine.NewCacheS(cfg, dm, nil) @@ -2105,7 +2105,7 @@ func TestAgReqSetFieldsInCache(t *testing.T) { func TestAgReqSetFieldsInCacheWithTimeOut(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -2200,7 +2200,7 @@ func TestAgReqFiltersInsideField(t *testing.T) { }}) //create diameterDataProvider cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -2231,7 +2231,7 @@ func TestAgReqFiltersInsideField(t *testing.T) { func TestAgReqDynamicPath(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -2299,7 +2299,7 @@ func TestAgReqDynamicPath(t *testing.T) { func TestAgReqRoundingDecimals(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) @@ -2351,7 +2351,7 @@ ok github.com/cgrates/cgrates/agents 36.788s */ func BenchmarkAgReqSetField(b *testing.B) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) tplFlds := []*config.FCTemplate{ @@ -2415,7 +2415,7 @@ func TestNeedsMaxUsage(t *testing.T) { func TestAgReqSetFieldsFromCfg(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) diff --git a/agents/diamagent_test.go b/agents/diamagent_test.go index 648a6254a..c8b661d8b 100644 --- a/agents/diamagent_test.go +++ b/agents/diamagent_test.go @@ -57,7 +57,7 @@ func (s *testMockSessionConn) Handlers() (b map[string]interface{}) { } func TestProcessRequest(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filters := engine.NewFilterS(config.CgrConfig(), nil, dm) // no need for filterS but still try to configure the dm :D diff --git a/agents/libdiam_test.go b/agents/libdiam_test.go index 6a5f0daf3..0a8442091 100644 --- a/agents/libdiam_test.go +++ b/agents/libdiam_test.go @@ -1146,7 +1146,7 @@ func TestFilterWithDiameterDP(t *testing.T) { }}) dP := newDADataProvider(nil, avps) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) agReq := NewAgentRequest(dP, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil) diff --git a/analyzers/analyzers_test.go b/analyzers/analyzers_test.go index 370f994b2..efef37170 100644 --- a/analyzers/analyzers_test.go +++ b/analyzers/analyzers_test.go @@ -189,7 +189,7 @@ func TestAnalyzersV1Search(t *testing.T) { if err := os.MkdirAll(cfg.AnalyzerSCfg().DBPath, 0700); err != nil { t.Fatal(err) } - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) anz, err := NewAnalyzerService(cfg) if err != nil { diff --git a/apier/v1/accounts_test.go b/apier/v1/accounts_test.go index 5fdc2d553..85b2c8712 100644 --- a/apier/v1/accounts_test.go +++ b/apier/v1/accounts_test.go @@ -33,7 +33,7 @@ var ( func init() { cfg := config.NewDefaultCGRConfig() - apierAcntsAcntStorage = engine.NewInternalDB(nil, nil, true) + apierAcntsAcntStorage = engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) apierAcnts = &APIerSv1{ DataManager: engine.NewDataManager(apierAcntsAcntStorage, config.CgrConfig().CacheCfg(), nil), Config: cfg, diff --git a/apier/v1/debit_test.go b/apier/v1/debit_test.go index 044f7d1a7..b9ac25ce9 100644 --- a/apier/v1/debit_test.go +++ b/apier/v1/debit_test.go @@ -37,7 +37,7 @@ var ( func init() { cfg := config.NewDefaultCGRConfig() config.SetCgrConfig(cfg) - apierDebitStorage = engine.NewInternalDB(nil, nil, true) + apierDebitStorage = engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) responder := &engine.Responder{MaxComputedUsage: cfg.RalsCfg().MaxComputedUsage} dm = engine.NewDataManager(apierDebitStorage, config.CgrConfig().CacheCfg(), nil) @@ -52,7 +52,7 @@ func init() { func TestDebitUsageWithOptionsSetConfig(t *testing.T) { cfg := config.NewDefaultCGRConfig() config.SetCgrConfig(cfg) - apierDebitStorage = engine.NewInternalDB(nil, nil, true) + apierDebitStorage = engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) responder := &engine.Responder{MaxComputedUsage: cfg.RalsCfg().MaxComputedUsage} dm = engine.NewDataManager(apierDebitStorage, cfg.CacheCfg(), nil) engine.SetDataStorage(dm) diff --git a/apier/v1/filters_test.go b/apier/v1/filters_test.go index e9362ca66..082a7bc65 100644 --- a/apier/v1/filters_test.go +++ b/apier/v1/filters_test.go @@ -46,7 +46,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().DefaultCaching = utils.MetaNone cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) expArgs := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: map[string]interface{}{ @@ -229,13 +229,14 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { } dm.DataDB().Flush(utils.EmptyString) + engine.Cache.Clear(nil) } func TestFiltersSetFilterClearCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().DefaultCaching = utils.MetaNone cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) expArgs := &utils.AttrCacheIDsWithAPIOpts{ APIOpts: map[string]interface{}{ @@ -416,4 +417,5 @@ func TestFiltersSetFilterClearCache(t *testing.T) { } dm.DataDB().Flush(utils.EmptyString) + engine.Cache.Clear(nil) } diff --git a/apier/v1/libapier_test.go b/apier/v1/libapier_test.go index d93ab4d04..324195a59 100644 --- a/apier/v1/libapier_test.go +++ b/apier/v1/libapier_test.go @@ -207,7 +207,7 @@ func TestCallCache(t *testing.T) { func TestCallCacheForFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) tnt := "cgrates.org" flt := &engine.Filter{ Tenant: tnt, diff --git a/apier/v2/apierv2_it_test.go b/apier/v2/apierv2_it_test.go index 1fc669e95..d8c6c16af 100644 --- a/apier/v2/apierv2_it_test.go +++ b/apier/v2/apierv2_it_test.go @@ -108,7 +108,7 @@ func testAPIerSv2itConnectDataDB(t *testing.T) { apierCfg.DataDbCfg().Host, apierCfg.DataDbCfg().Port, apierCfg.DataDbCfg().Name, apierCfg.DataDbCfg().User, apierCfg.DataDbCfg().Password, apierCfg.GeneralCfg().DBDataEncoding, - apierCfg.DataDbCfg().Opts) + apierCfg.DataDbCfg().Opts, apierCfg.DataDbCfg().Items) if err != nil { t.Fatal("Could not connect to Redis", err.Error()) } diff --git a/cmd/cgr-loader/cgr-loader_it_test.go b/cmd/cgr-loader/cgr-loader_it_test.go index 9e620ced6..2d73b2910 100644 --- a/cmd/cgr-loader/cgr-loader_it_test.go +++ b/cmd/cgr-loader/cgr-loader_it_test.go @@ -295,7 +295,7 @@ func testLoadItConnectToDB(t *testing.T) { ldrItCfg.DataDbCfg().Host, ldrItCfg.DataDbCfg().Port, ldrItCfg.DataDbCfg().Name, ldrItCfg.DataDbCfg().User, ldrItCfg.DataDbCfg().Password, ldrItCfg.GeneralCfg().DBDataEncoding, - ldrItCfg.DataDbCfg().Opts); err != nil { + ldrItCfg.DataDbCfg().Opts, ldrItCfg.DataDbCfg().Items); err != nil { t.Fatal(err) } } diff --git a/config/config_test.go b/config/config_test.go index c90989228..4fa53b61a 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -121,8 +121,8 @@ func TestCgrCfgDataDBPortWithoutDynamic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil { t.Error(err) - } else if cgrCfg.DataDbCfg().Type != utils.INTERNAL { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Type, utils.INTERNAL) + } else if cgrCfg.DataDbCfg().Type != utils.Internal { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Type, utils.Internal) } else if cgrCfg.DataDbCfg().Port != "6379" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Port, "6379") } @@ -154,8 +154,8 @@ func TestCgrCfgDataDBPortWithDymanic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil { t.Error(err) - } else if cgrCfg.DataDbCfg().Type != utils.INTERNAL { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Type, utils.INTERNAL) + } else if cgrCfg.DataDbCfg().Type != utils.Internal { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Type, utils.Internal) } else if cgrCfg.DataDbCfg().Port != "internal" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Port, "internal") } @@ -960,7 +960,7 @@ func TestRadiusAgentCfg(t *testing.T) { func TestDbDefaultsMetaDynamic(t *testing.T) { dbdf := newDbDefaults() flagInput := utils.MetaDynamic - dbs := []string{utils.Mongo, utils.Redis, utils.MySQL, utils.INTERNAL} + dbs := []string{utils.Mongo, utils.Redis, utils.MySQL, utils.Internal} for _, dbtype := range dbs { port := dbdf.dbPort(dbtype, flagInput) if port != dbdf[dbtype]["DbPort"] { @@ -975,7 +975,7 @@ func TestDbDefaultsMetaDynamic(t *testing.T) { func TestDbDefaults(t *testing.T) { dbdf := newDbDefaults() - dbs := []string{utils.Mongo, utils.Redis, utils.MySQL, utils.INTERNAL, utils.Postgres} + dbs := []string{utils.Mongo, utils.Redis, utils.MySQL, utils.Internal, utils.Postgres} for _, dbtype := range dbs { port := dbdf.dbPort(dbtype, "1234") if port != "1234" { diff --git a/config/configsanity_test.go b/config/configsanity_test.go index b9313f465..53c26ca7c 100644 --- a/config/configsanity_test.go +++ b/config/configsanity_test.go @@ -1714,7 +1714,7 @@ func TestConfigSanityAnalyzer(t *testing.T) { func TestConfigSanityDataDB(t *testing.T) { cfg = NewDefaultCGRConfig() - cfg.dataDbCfg.Type = utils.INTERNAL + cfg.dataDbCfg.Type = utils.Internal cfg.cacheCfg = &CacheCfg{ Partitions: map[string]*CacheParamCfg{ diff --git a/config/datadbcfg_test.go b/config/datadbcfg_test.go index c1dc01853..9ba353dc6 100644 --- a/config/datadbcfg_test.go +++ b/config/datadbcfg_test.go @@ -246,7 +246,7 @@ func TestDataDBRemoteReplication(t *testing.T) { }` expected = DataDbCfg{ - Type: utils.INTERNAL, + Type: utils.Internal, Host: "127.0.0.1", Port: "6379", Name: "10", @@ -277,7 +277,7 @@ func TestDataDBRemoteReplication(t *testing.T) { }` expected = DataDbCfg{ - Type: utils.INTERNAL, + Type: utils.Internal, Host: "127.0.0.1", Port: "6379", Name: "10", diff --git a/cores/server_it_test.go b/cores/server_it_test.go index cb0d36f93..ab0a67fb5 100644 --- a/cores/server_it_test.go +++ b/cores/server_it_test.go @@ -120,8 +120,8 @@ func (mkL *mockListener) Close() error { return mkL.p1.Close() } func (mkL *mockListener) Addr() net.Addr { return nil } func testHandleRequest(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() - cfgDflt.CoreSCfg().CapsStatsInterval = 1 + cfg := config.NewDefaultCGRConfig() + cfg.CoreSCfg().CapsStatsInterval = 1 caps := engine.NewCaps(0, utils.MetaBusy) rcv := NewServer(caps) @@ -214,7 +214,7 @@ func testServeGOB(t *testing.T) { } func testServeHHTPPass(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -222,10 +222,10 @@ func testServeHHTPPass(t *testing.T) { go server.ServeHTTP( ":6555", - cfgDflt.HTTPCfg().HTTPJsonRPCURL, - cfgDflt.HTTPCfg().HTTPWSURL, - cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.HTTPCfg().HTTPJsonRPCURL, + cfg.HTTPCfg().HTTPWSURL, + cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) runtime.Gosched() @@ -235,7 +235,7 @@ func testServeHHTPPass(t *testing.T) { } func testServeHHTPPassUseBasicAuth(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -243,10 +243,10 @@ func testServeHHTPPassUseBasicAuth(t *testing.T) { go server.ServeHTTP( ":56432", - cfgDflt.HTTPCfg().HTTPJsonRPCURL, - cfgDflt.HTTPCfg().HTTPWSURL, - !cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.HTTPCfg().HTTPJsonRPCURL, + cfg.HTTPCfg().HTTPWSURL, + !cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) runtime.Gosched() @@ -256,7 +256,7 @@ func testServeHHTPPassUseBasicAuth(t *testing.T) { } func testServeHHTPEnableHttp(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -266,8 +266,8 @@ func testServeHHTPEnableHttp(t *testing.T) { ":45779", utils.EmptyString, utils.EmptyString, - !cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + !cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) runtime.Gosched() @@ -277,7 +277,7 @@ func testServeHHTPEnableHttp(t *testing.T) { } func testServeHHTPFail(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -285,10 +285,10 @@ func testServeHHTPFail(t *testing.T) { go server.ServeHTTP( "invalid_port_format", - cfgDflt.HTTPCfg().HTTPJsonRPCURL, - cfgDflt.HTTPCfg().HTTPWSURL, - cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.HTTPCfg().HTTPJsonRPCURL, + cfg.HTTPCfg().HTTPWSURL, + cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) runtime.Gosched() @@ -301,7 +301,7 @@ func testServeHHTPFail(t *testing.T) { } func testServeHHTPFailEnableRpc(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -309,10 +309,10 @@ func testServeHHTPFailEnableRpc(t *testing.T) { server.rpcEnabled = false go server.ServeHTTP(":1000", - cfgDflt.HTTPCfg().HTTPJsonRPCURL, - cfgDflt.HTTPCfg().HTTPWSURL, - cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.HTTPCfg().HTTPJsonRPCURL, + cfg.HTTPCfg().HTTPWSURL, + cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) shdChan.CloseOnce() @@ -320,16 +320,16 @@ func testServeHHTPFailEnableRpc(t *testing.T) { } func testServeBiJSON(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) server.birpcSrv = rpc2.NewServer() - data := engine.NewInternalDB(nil, nil, true) - dm := engine.NewDataManager(data, cfgDflt.CacheCfg(), nil) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) - ss := sessions.NewSessionS(cfgDflt, dm, nil) + ss := sessions.NewSessionS(cfg, dm, nil) go func() { if err := server.ServeBiRPC(":3434", "", ss.OnBiJSONConnect, ss.OnBiJSONDisconnect); err != nil { @@ -340,15 +340,15 @@ func testServeBiJSON(t *testing.T) { } func testServeBiJSONEmptyBiRPCServer(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) - data := engine.NewInternalDB(nil, nil, true) - dm := engine.NewDataManager(data, cfgDflt.CacheCfg(), nil) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) - ss := sessions.NewSessionS(cfgDflt, dm, nil) + ss := sessions.NewSessionS(cfg, dm, nil) expectedErr := "BiRPCServer should not be nil" go func() { @@ -361,16 +361,16 @@ func testServeBiJSONEmptyBiRPCServer(t *testing.T) { } func testServeBiJSONInvalidPort(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) server.birpcSrv = rpc2.NewServer() - data := engine.NewInternalDB(nil, nil, true) - dm := engine.NewDataManager(data, cfgDflt.CacheCfg(), nil) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) - ss := sessions.NewSessionS(cfgDflt, dm, nil) + ss := sessions.NewSessionS(cfg, dm, nil) expectedErr := "listen tcp: address invalid_port_format: missing port in address" if err := server.ServeBiRPC("invalid_port_format", "", ss.OnBiJSONConnect, @@ -382,16 +382,16 @@ func testServeBiJSONInvalidPort(t *testing.T) { } func testServeBiGoB(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) server.birpcSrv = rpc2.NewServer() - data := engine.NewInternalDB(nil, nil, true) - dm := engine.NewDataManager(data, cfgDflt.CacheCfg(), nil) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) - ss := sessions.NewSessionS(cfgDflt, dm, nil) + ss := sessions.NewSessionS(cfg, dm, nil) go func() { if err := server.ServeBiRPC("", ":9343", ss.OnBiJSONConnect, ss.OnBiJSONDisconnect); err != nil { @@ -402,15 +402,15 @@ func testServeBiGoB(t *testing.T) { } func testServeBiGoBEmptyBiRPCServer(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) - data := engine.NewInternalDB(nil, nil, true) - dm := engine.NewDataManager(data, cfgDflt.CacheCfg(), nil) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) - ss := sessions.NewSessionS(cfgDflt, dm, nil) + ss := sessions.NewSessionS(cfg, dm, nil) expectedErr := "BiRPCServer should not be nil" go func() { @@ -423,16 +423,16 @@ func testServeBiGoBEmptyBiRPCServer(t *testing.T) { } func testServeBiGoBInvalidPort(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) server.birpcSrv = rpc2.NewServer() - data := engine.NewInternalDB(nil, nil, true) - dm := engine.NewDataManager(data, cfgDflt.CacheCfg(), nil) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) - ss := sessions.NewSessionS(cfgDflt, dm, nil) + ss := sessions.NewSessionS(cfg, dm, nil) expectedErr := "listen tcp: address invalid_port_format: missing port in address" if err := server.ServeBiRPC("", "invalid_port_format", ss.OnBiJSONConnect, @@ -444,7 +444,7 @@ func testServeBiGoBInvalidPort(t *testing.T) { } func testServeGOBTLS(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -457,7 +457,7 @@ func testServeGOBTLS(t *testing.T) { "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", 4, - cfgDflt.TLSCfg().ServerName, + cfg.TLSCfg().ServerName, shdChan, ) runtime.Gosched() @@ -466,7 +466,7 @@ func testServeGOBTLS(t *testing.T) { } func testServeJSONTls(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -479,7 +479,7 @@ func testServeJSONTls(t *testing.T) { "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", 4, - cfgDflt.TLSCfg().ServerName, + cfg.TLSCfg().ServerName, shdChan, ) runtime.Gosched() @@ -521,7 +521,7 @@ func testServeGOBPortFail(t *testing.T) { } func testServeCodecTLSErr(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -536,7 +536,7 @@ func testServeCodecTLSErr(t *testing.T) { "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", 4, - cfgDflt.TLSCfg().ServerName, + cfg.TLSCfg().ServerName, newCapsGOBCodec, shdChan) @@ -548,7 +548,7 @@ func testServeCodecTLSErr(t *testing.T) { "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", 4, - cfgDflt.TLSCfg().ServerName, + cfg.TLSCfg().ServerName, newCapsGOBCodec, shdChan) @@ -603,7 +603,7 @@ TEST } func testServeHTTPTLS(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -617,12 +617,12 @@ func testServeHTTPTLS(t *testing.T) { "/usr/share/cgrates/tls/server.crt", "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", - cfgDflt.TLSCfg().ServerPolicy, - cfgDflt.TLSCfg().ServerName, - cfgDflt.HTTPCfg().HTTPJsonRPCURL, - cfgDflt.HTTPCfg().HTTPWSURL, - cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.TLSCfg().ServerPolicy, + cfg.TLSCfg().ServerName, + cfg.HTTPCfg().HTTPJsonRPCURL, + cfg.HTTPCfg().HTTPWSURL, + cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) //Invalid port address @@ -632,12 +632,12 @@ func testServeHTTPTLS(t *testing.T) { "/usr/share/cgrates/tls/server.crt", "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", - cfgDflt.TLSCfg().ServerPolicy, - cfgDflt.TLSCfg().ServerName, - cfgDflt.HTTPCfg().HTTPJsonRPCURL, - cfgDflt.HTTPCfg().HTTPWSURL, - cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.TLSCfg().ServerPolicy, + cfg.TLSCfg().ServerName, + cfg.HTTPCfg().HTTPJsonRPCURL, + cfg.HTTPCfg().HTTPWSURL, + cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) runtime.Gosched() @@ -648,7 +648,7 @@ func testServeHTTPTLS(t *testing.T) { } func testServeHTTPTLSWithBasicAuth(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -662,12 +662,12 @@ func testServeHTTPTLSWithBasicAuth(t *testing.T) { "/usr/share/cgrates/tls/server.crt", "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", - cfgDflt.TLSCfg().ServerPolicy, - cfgDflt.TLSCfg().ServerName, - cfgDflt.HTTPCfg().HTTPJsonRPCURL, - cfgDflt.HTTPCfg().HTTPWSURL, - !cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.TLSCfg().ServerPolicy, + cfg.TLSCfg().ServerName, + cfg.HTTPCfg().HTTPJsonRPCURL, + cfg.HTTPCfg().HTTPWSURL, + !cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) runtime.Gosched() @@ -678,7 +678,7 @@ func testServeHTTPTLSWithBasicAuth(t *testing.T) { } func testServeHTTPTLSError(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -691,12 +691,12 @@ func testServeHTTPTLSError(t *testing.T) { "/usr/share/cgrates/tls/inexisting_file", "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", - cfgDflt.TLSCfg().ServerPolicy, - cfgDflt.TLSCfg().ServerName, - cfgDflt.HTTPCfg().HTTPJsonRPCURL, - cfgDflt.HTTPCfg().HTTPWSURL, - !cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.TLSCfg().ServerPolicy, + cfg.TLSCfg().ServerName, + cfg.HTTPCfg().HTTPJsonRPCURL, + cfg.HTTPCfg().HTTPWSURL, + !cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) runtime.Gosched() @@ -707,7 +707,7 @@ func testServeHTTPTLSError(t *testing.T) { } func testServeHTTPTLSHttpNotEnabled(t *testing.T) { - cfgDflt := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() caps := engine.NewCaps(100, utils.MetaBusy) server = NewServer(caps) server.RpcRegister(new(mockRegister)) @@ -720,12 +720,12 @@ func testServeHTTPTLSHttpNotEnabled(t *testing.T) { "/usr/share/cgrates/tls/server.crt", "/usr/share/cgrates/tls/server.key", "/usr/share/cgrates/tls/ca.crt", - cfgDflt.TLSCfg().ServerPolicy, - cfgDflt.TLSCfg().ServerName, + cfg.TLSCfg().ServerPolicy, + cfg.TLSCfg().ServerName, utils.EmptyString, utils.EmptyString, - cfgDflt.HTTPCfg().HTTPUseBasicAuth, - cfgDflt.HTTPCfg().HTTPAuthUsers, + cfg.HTTPCfg().HTTPUseBasicAuth, + cfg.HTTPCfg().HTTPAuthUsers, shdChan) shdChan.CloseOnce() diff --git a/dispatchers/dispatchers_test.go b/dispatchers/dispatchers_test.go index bd65c9683..c5f52e4cf 100644 --- a/dispatchers/dispatchers_test.go +++ b/dispatchers/dispatchers_test.go @@ -99,7 +99,7 @@ func TestDispatcherServiceDispatcherProfileForEventMIIDENotFound(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dss := NewDispatcherService(dm, cfg, nil, connMng) ev := &utils.CGREvent{} @@ -537,7 +537,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNil(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -584,7 +584,7 @@ func TestDispatcherV1GetProfileForEventReturn(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -637,7 +637,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFound(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -684,7 +684,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFound2(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -731,7 +731,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFoundTime(t *testing.T) cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -782,7 +782,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFoundFilter(t *testing. cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -829,7 +829,7 @@ func TestDispatcherServiceDispatchDspErr(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -874,7 +874,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -927,7 +927,7 @@ func TestDispatcherServiceDispatcherProfileForEventFoundFilter(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -1031,7 +1031,7 @@ func TestDispatcherServiceDispatcherProfileForEventGetDispatcherError(t *testing cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -1092,7 +1092,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound2(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan rpcclient.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -1160,7 +1160,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound3(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): chanRPC, } connMgr := engine.NewConnManager(cfg, rpcInt) - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMgr) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -1306,7 +1306,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalses(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1396,7 +1396,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFirstNotFound(t *testing. }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1464,7 +1464,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1532,7 +1532,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1598,7 +1598,7 @@ func TestDispatchersdispatcherProfileForEventAnySStrueNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1663,7 +1663,7 @@ func TestDispatchersdispatcherProfileForEventAnySStrueBothFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) diff --git a/dispatchers/libdispatcher_test.go b/dispatchers/libdispatcher_test.go index 35d9e4328..bd9774c47 100644 --- a/dispatchers/libdispatcher_test.go +++ b/dispatchers/libdispatcher_test.go @@ -386,7 +386,7 @@ func TestLibDispatcherNewDispatcherError(t *testing.T) { func TestLibDispatcherSingleResultDispatcherDispatch(t *testing.T) { wgDsp := &singleResultDispatcher{sorter: new(noSort)} - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "", "", "", "", "") expected := "HOST_NOT_FOUND" @@ -397,7 +397,7 @@ func TestLibDispatcherSingleResultDispatcherDispatch(t *testing.T) { func TestLibDispatcherSingleResultDispatcherDispatchRouteID(t *testing.T) { wgDsp := &singleResultDispatcher{sorter: new(roundRobinSort)} - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "routeID", "", "", "", "") expected := "HOST_NOT_FOUND" @@ -408,7 +408,7 @@ func TestLibDispatcherSingleResultDispatcherDispatchRouteID(t *testing.T) { func TestLibDispatcherBroadcastDispatcherDispatch(t *testing.T) { wgDsp := &broadcastDispatcher{hosts: engine.DispatcherHostProfiles{{ID: "testID"}}} - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "", "", "", "", "") expected := "HOST_NOT_FOUND" @@ -419,7 +419,7 @@ func TestLibDispatcherBroadcastDispatcherDispatch(t *testing.T) { func TestLibDispatcherBroadcastDispatcherDispatchRouteID(t *testing.T) { wgDsp := &broadcastDispatcher{hosts: engine.DispatcherHostProfiles{{ID: "testID"}}} - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "routeID", "", "", "", "") expected := "HOST_NOT_FOUND" @@ -430,7 +430,7 @@ func TestLibDispatcherBroadcastDispatcherDispatchRouteID(t *testing.T) { func TestLibDispatcherLoadDispatcherDispatch(t *testing.T) { wgDsp := &loadDispatcher{sorter: new(randomSort)} - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "", "", "", "", "") expected := "HOST_NOT_FOUND" @@ -447,7 +447,7 @@ func TestLibDispatcherLoadDispatcherDispatchHostsID(t *testing.T) { }, sorter: new(noSort), } - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "routeID", "", "", "", "") expected := "HOST_NOT_FOUND" @@ -472,7 +472,7 @@ func TestLibDispatcherLoadStrategyDispatchCaseHosts(t *testing.T) { defaultRatio: 1, sorter: new(noSort), } - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "", "", "", "", "") expected := "HOST_NOT_FOUND" @@ -1083,7 +1083,7 @@ func TestLibDispatcherDispatchFilterError(t *testing.T) { func TestLibDispatcherDispatchHostNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() flts := engine.NewFilterS(cfg, nil, nil) - db := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), nil, nil) + db := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items), nil, nil) var dsp Dispatcher = &singleResultDispatcher{ sorter: new(noSort), hosts: engine.DispatcherHostProfiles{{ diff --git a/ees/ees_test.go b/ees/ees_test.go index 4fa2dae76..2ba9099d6 100644 --- a/ees/ees_test.go +++ b/ees/ees_test.go @@ -35,9 +35,9 @@ import ( ) func TestListenAndServe(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsCfg().Cache = make(map[string]*config.CacheParamCfg) - cgrCfg.EEsCfg().Cache = map[string]*config.CacheParamCfg{ + cfg := config.NewDefaultCGRConfig() + cfg.EEsCfg().Cache = make(map[string]*config.CacheParamCfg) + cfg.EEsCfg().Cache = map[string]*config.CacheParamCfg{ utils.MetaFileCSV: { Limit: -1, TTL: 5 * time.Second, @@ -46,10 +46,10 @@ func TestListenAndServe(t *testing.T) { Limit: 0, }, } - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) stopChan := make(chan struct{}, 1) cfgRld := make(chan struct{}, 1) cfgRld <- struct{}{} @@ -74,11 +74,11 @@ func TestListenAndServe(t *testing.T) { } func TestCall(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) errExpect := "UNSUPPORTED_SERVICE_METHOD" if err := eeS.Call("test", 24532, 43643); err == nil || err.Error() != errExpect { t.Errorf("Expected %q but received %q", errExpect, err) @@ -114,17 +114,17 @@ func TestAttrSProcessEvent(t *testing.T) { utils.OptsAttributesProcessRuns: "10", }, } - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsNoLksCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + cfg.EEsNoLksCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- testMock - connMgr := engine.NewConnManager(cgrCfg, map[string]chan rpcclient.ClientConnector{ + connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): clientConn, }) - eeS := NewEventExporterS(cgrCfg, filterS, connMgr) + eeS := NewEventExporterS(cfg, filterS, connMgr) // cgrEv := &utils.CGREvent{} exp := &utils.CGREvent{Event: map[string]interface{}{"testcase": 1}} if err := eeS.attrSProcessEvent(cgrEv, []string{}, utils.EmptyString); err != nil { @@ -143,17 +143,17 @@ func TestAttrSProcessEvent2(t *testing.T) { }, }, } - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsNoLksCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + cfg.EEsNoLksCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) clientConn := make(chan rpcclient.ClientConnector, 1) clientConn <- testMock - connMgr := engine.NewConnManager(cgrCfg, map[string]chan rpcclient.ClientConnector{ + connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): clientConn, }) - eeS := NewEventExporterS(cgrCfg, filterS, connMgr) + eeS := NewEventExporterS(cfg, filterS, connMgr) cgrEv := &utils.CGREvent{} if err := eeS.attrSProcessEvent(cgrEv, []string{}, utils.EmptyString); err != nil { t.Error(err) @@ -165,14 +165,14 @@ func TestV1ProcessEvent(t *testing.T) { if err := os.MkdirAll(filePath, 0777); err != nil { t.Error(err) } - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsCfg().Exporters[0].Type = "*file_csv" - cgrCfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" - cgrCfg.EEsCfg().Exporters[0].ExportPath = filePath - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + cfg := config.NewDefaultCGRConfig() + cfg.EEsCfg().Exporters[0].Type = "*file_csv" + cfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" + cfg.EEsCfg().Exporters[0].ExportPath = filePath + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) cgrEv := &utils.CGREventWithEeIDs{ EeIDs: []string{"SQLExporterFull"}, CGREvent: &utils.CGREvent{ @@ -215,14 +215,14 @@ func TestV1ProcessEvent(t *testing.T) { } func TestV1ProcessEvent2(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsCfg().Exporters[0].Type = "*file_csv" - cgrCfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" - cgrCfg.EEsCfg().Exporters[0].Filters = []string{"*prefix:~*req.Subject:20"} - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + cfg := config.NewDefaultCGRConfig() + cfg.EEsCfg().Exporters[0].Type = "*file_csv" + cfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" + cfg.EEsCfg().Exporters[0].Filters = []string{"*prefix:~*req.Subject:20"} + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) cgrEv := &utils.CGREventWithEeIDs{ EeIDs: []string{"SQLExporterFull"}, CGREvent: &utils.CGREvent{ @@ -253,16 +253,16 @@ func TestV1ProcessEvent2(t *testing.T) { } func TestV1ProcessEvent3(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsCfg().Exporters[0].Type = "*file_csv" - cgrCfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" - cgrCfg.EEsCfg().Exporters[0].Flags = utils.FlagsWithParams{ + cfg := config.NewDefaultCGRConfig() + cfg.EEsCfg().Exporters[0].Type = "*file_csv" + cfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" + cfg.EEsCfg().Exporters[0].Flags = utils.FlagsWithParams{ utils.MetaAttributes: utils.FlagParams{}, } - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) cgrEv := &utils.CGREventWithEeIDs{ EeIDs: []string{"SQLExporterFull"}, CGREvent: &utils.CGREvent{ @@ -280,19 +280,19 @@ func TestV1ProcessEvent3(t *testing.T) { } func TestV1ProcessEvent4(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsCfg().Exporters[0].Type = utils.MetaHTTPPost - cgrCfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" - cgrCfg.EEsCfg().Exporters[0].Synchronous = true - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + cfg := config.NewDefaultCGRConfig() + cfg.EEsCfg().Exporters[0].Type = utils.MetaHTTPPost + cfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" + cfg.EEsCfg().Exporters[0].Synchronous = true + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) eeS.eesChs = map[string]*ltcache.Cache{ utils.MetaHTTPPost: ltcache.NewCache(1, time.Second, false, onCacheEvicted), } - newEeS, err := NewEventExporter(cgrCfg.EEsCfg().Exporters[0], cgrCfg, filterS) + newEeS, err := NewEventExporter(cfg.EEsCfg().Exporters[0], cfg, filterS) if err != nil { t.Error(err) } @@ -346,14 +346,14 @@ func (mockEventExporter) Close() error { func TestV1ProcessEventMockMetrics(t *testing.T) { mEe := newMockEventExporter() - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsCfg().Exporters[0].Type = utils.MetaHTTPPost - cgrCfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" - cgrCfg.EEsCfg().Exporters[0].Synchronous = true - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + cfg := config.NewDefaultCGRConfig() + cfg.EEsCfg().Exporters[0].Type = utils.MetaHTTPPost + cfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" + cfg.EEsCfg().Exporters[0].Synchronous = true + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) eeS.eesChs = map[string]*ltcache.Cache{ utils.MetaHTTPPost: ltcache.NewCache(1, time.Second, false, onCacheEvicted), @@ -378,8 +378,8 @@ func TestV1ProcessEventMockMetrics(t *testing.T) { } } func TestV1ProcessEvent5(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsCfg().Exporters = []*config.EventExporterCfg{ + cfg := config.NewDefaultCGRConfig() + cfg.EEsCfg().Exporters = []*config.EventExporterCfg{ { Type: utils.MetaNone, }, @@ -400,10 +400,10 @@ func TestV1ProcessEvent5(t *testing.T) { }, }, } - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) var rply map[string]map[string]interface{} errExpect := "unsupported exporter type: " if err := eeS.V1ProcessEvent(cgrEv, &rply); err == nil || err.Error() != errExpect { @@ -412,13 +412,13 @@ func TestV1ProcessEvent5(t *testing.T) { } func TestV1ProcessEvent6(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - cgrCfg.EEsCfg().Exporters[0].Type = utils.MetaHTTPPost - cgrCfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + cfg := config.NewDefaultCGRConfig() + cfg.EEsCfg().Exporters[0].Type = utils.MetaHTTPPost + cfg.EEsCfg().Exporters[0].ID = "SQLExporterFull" + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) cgrEv := &utils.CGREventWithEeIDs{ EeIDs: []string{"SQLExporterFull"}, CGREvent: &utils.CGREvent{ @@ -455,11 +455,11 @@ func TestOnCacheEvicted(t *testing.T) { bufLog.Reset() } func TestShutdown(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) - eeS := NewEventExporterS(cgrCfg, filterS, nil) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) + eeS := NewEventExporterS(cfg, filterS, nil) logBuf := new(bytes.Buffer) log.SetOutput(logBuf) eeS.Shutdown() diff --git a/ees/filecsv_test.go b/ees/filecsv_test.go index c1fe001e6..ed6d74c56 100644 --- a/ees/filecsv_test.go +++ b/ees/filecsv_test.go @@ -52,15 +52,15 @@ type nopCloser struct { func (nopCloser) Close() error { return nil } func TestFileCsvComposeHeader(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) csvNW := csv.NewWriter(byteBuff) fCsv := &FileCSVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloser{byteBuff}, csvWriter: csvNW, @@ -115,15 +115,15 @@ func TestFileCsvComposeHeader(t *testing.T) { } func TestFileCsvComposeTrailer(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) csvNW := csv.NewWriter(byteBuff) fCsv := &FileCSVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloser{byteBuff}, csvWriter: csvNW, @@ -178,10 +178,10 @@ func TestFileCsvComposeTrailer(t *testing.T) { } func TestFileCsvExportEvent(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) csvNW := csv.NewWriter(byteBuff) dc, err := newEEMetrics(utils.FirstNonEmpty( @@ -192,8 +192,8 @@ func TestFileCsvExportEvent(t *testing.T) { t.Error(err) } fCsv := &FileCSVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloser{byteBuff}, csvWriter: csvNW, @@ -211,15 +211,15 @@ func TestFileCsvExportEvent(t *testing.T) { } func TestFileCsvOnEvictedTrailer(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) csvNW := csv.NewWriter(byteBuff) fCsv := &FileCSVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloserWrite{byteBuff}, csvWriter: csvNW, @@ -245,15 +245,15 @@ func TestFileCsvOnEvictedTrailer(t *testing.T) { } func TestFileCsvOnEvictedClose(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) csvNW := csv.NewWriter(byteBuff) fCsv := &FileCSVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloserError{byteBuff}, csvWriter: csvNW, diff --git a/ees/filefwv_test.go b/ees/filefwv_test.go index 294101f92..584a9d19e 100644 --- a/ees/filefwv_test.go +++ b/ees/filefwv_test.go @@ -43,15 +43,15 @@ func TestFileFwvGetMetrics(t *testing.T) { } func TestFileFwvComposeHeader(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) csvNW := csv.NewWriter(byteBuff) fFwv := &FileFWVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloser{byteBuff}, dc: &utils.SafeMapStorage{}, @@ -105,15 +105,15 @@ func TestFileFwvComposeHeader(t *testing.T) { } func TestFileFwvComposeTrailer(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) csvNW := csv.NewWriter(byteBuff) fFwv := &FileFWVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloser{byteBuff}, dc: &utils.SafeMapStorage{}, @@ -167,10 +167,10 @@ func TestFileFwvComposeTrailer(t *testing.T) { } func TestFileFwvExportEvent(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) csvNW := csv.NewWriter(byteBuff) dc, err := newEEMetrics("Local") @@ -178,8 +178,8 @@ func TestFileFwvExportEvent(t *testing.T) { t.Error(err) } fFwv := &FileFWVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloser{byteBuff}, dc: dc, @@ -204,18 +204,18 @@ func (nopCloserWrite) Write(s []byte) (n int, err error) { } func TestFileFwvExportEventWriteError(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) dc, err := newEEMetrics("Local") if err != nil { t.Error(err) } fFwv := &FileFWVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloserWrite{byteBuff}, dc: dc, @@ -226,14 +226,14 @@ func TestFileFwvExportEventWriteError(t *testing.T) { } func TestFileFwvComposeHeaderWriteError(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) fFwv := &FileFWVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloserWrite{byteBuff}, dc: &utils.SafeMapStorage{}, @@ -258,14 +258,14 @@ func TestFileFwvComposeHeaderWriteError(t *testing.T) { } func TestFileFwvComposeTrailerWriteError(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) fFwv := &FileFWVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloserWrite{byteBuff}, dc: &utils.SafeMapStorage{}, @@ -289,14 +289,14 @@ func TestFileFwvComposeTrailerWriteError(t *testing.T) { } } func TestFileFwvOnEvictedTrailer(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) fFwv := &FileFWVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloserWrite{byteBuff}, dc: &utils.SafeMapStorage{}, @@ -327,14 +327,14 @@ func (nopCloserError) Write(s []byte) (n int, err error) { return 0, utils.ErrNotImplemented } func TestFileFwvOnEvictedClose(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true) - newDM := engine.NewDataManager(newIDb, cgrCfg.CacheCfg(), nil) - filterS := engine.NewFilterS(cgrCfg, nil, newDM) + cfg := config.NewDefaultCGRConfig() + newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) fFwv := &FileFWVee{ - cfg: cgrCfg.EEsCfg().Exporters[0], - cgrCfg: cgrCfg, + cfg: cfg.EEsCfg().Exporters[0], + cgrCfg: cfg, filterS: filterS, file: nopCloserError{byteBuff}, dc: &utils.SafeMapStorage{}, diff --git a/engine/attributes_test.go b/engine/attributes_test.go index f0a24e687..fcee3f1bc 100644 --- a/engine/attributes_test.go +++ b/engine/attributes_test.go @@ -31,6 +31,7 @@ import ( "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" + "github.com/cgrates/rpcclient" ) func TestAttributesShutdown(t *testing.T) { @@ -132,13 +133,13 @@ func TestAttributesV1GetAttributeForEventNilCGREvent(t *testing.T) { } func TestAttributesV1GetAttributeForEventProfileNotFound(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, nil, nil) alS := &AttributeService{ dm: dm, filterS: &FilterS{}, - cgrcfg: defaultCfg, + cgrcfg: cfg, } args := &AttrArgsProcessEvent{ CGREvent: &utils.CGREvent{}, @@ -154,13 +155,13 @@ func TestAttributesV1GetAttributeForEventProfileNotFound(t *testing.T) { } func TestAttributesV1GetAttributeForEvent2(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, nil, nil) alS := &AttributeService{ dm: dm, filterS: &FilterS{}, - cgrcfg: defaultCfg, + cgrcfg: cfg, } args := &AttrArgsProcessEvent{ CGREvent: &utils.CGREvent{}, @@ -178,84 +179,61 @@ func TestAttributesV1GetAttributeForEvent2(t *testing.T) { func TestAttributesV1ProcessEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.FilterSCfg().ResourceSConns = []string{} - conMng := &ConnManager{} - db := NewInternalDB(nil, nil, true) - dm := NewDataManager(db, nil, conMng) + conMng := NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) + dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), nil, conMng) filterS := NewFilterS(cfg, conMng, dm) - attr := &AttributeProfile{ - Tenant: "cgrates.org", - ID: "ATTR_CHANGE_TENANT_FROM_USER", - Contexts: []string{utils.MetaAny}, - FilterIDs: []string{"*string:~*req.Account:dan@itsyscom.com|adrian@itsyscom.com"}, - ActivationInterval: nil, + if err := dm.SetAttributeProfile(&AttributeProfile{ + Tenant: "cgrates.org", + ID: "ATTR_CHANGE_TENANT_FROM_USER", + Contexts: []string{utils.MetaAny}, + FilterIDs: []string{"*string:~*req.Account:dan@itsyscom.com|adrian@itsyscom.com"}, Attributes: []*Attribute{ { - FilterIDs: nil, - Path: "*tenant", - Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Path: "*tenant", + Type: "*variable", + Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { - FilterIDs: nil, - Path: "*req.Account", - Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Path: "*req.Account", + Type: "*variable", + Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { - FilterIDs: nil, - Path: "*tenant", - Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Path: "*tenant", + Type: "*composed", + Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blocker: false, Weight: 20, - } - err := dm.SetAttributeProfile(attr, true) - if err != nil { + }, true); err != nil { t.Error(err) } - attr2 := &AttributeProfile{ - Tenant: "adrian.itsyscom.com.co.uk", - ID: "ATTR_MATCH_TENANT", - Contexts: []string{utils.MetaAny}, - ActivationInterval: nil, + if err := dm.SetAttributeProfile(&AttributeProfile{ + Tenant: "adrian.itsyscom.com.co.uk", + ID: "ATTR_MATCH_TENANT", + Contexts: []string{utils.MetaAny}, Attributes: []*Attribute{ { - FilterIDs: nil, - Path: "*req.Password", - Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Path: "*req.Password", + Type: utils.MetaConstant, + Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blocker: false, Weight: 20, - } - - err = dm.SetAttributeProfile(attr2, true) - if err != nil { + }, true); err != nil { t.Error(err) } alS := NewAttributeService(dm, filterS, cfg) - args := &AttrArgsProcessEvent{ - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "123", - Event: map[string]interface{}{ - utils.AccountField: "adrian@itsyscom.com", - }, - }, - ProcessRuns: utils.IntPointer(2), - } - rply := &AttrSProcessEventReply{} - expected := &AttrSProcessEventReply{ + var rply AttrSProcessEventReply + expected := AttrSProcessEventReply{ MatchedProfiles: []string{"cgrates.org:ATTR_CHANGE_TENANT_FROM_USER", "adrian.itsyscom.com.co.uk:ATTR_MATCH_TENANT"}, AlteredFields: []string{"*req.Account", "*req.Password", "*tenant"}, CGREvent: &utils.CGREvent{ Tenant: "adrian.itsyscom.com.co.uk", - ID: "123", Time: nil, Event: map[string]interface{}{ utils.AccountField: "andrei.itsyscom.com", @@ -265,264 +243,144 @@ func TestAttributesV1ProcessEvent(t *testing.T) { }, blocker: false, } - err = alS.V1ProcessEvent(args, rply) - sort.Strings(rply.AlteredFields) - if err != nil { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) - } - if !reflect.DeepEqual(expected, rply) { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", utils.ToJSON(expected), utils.ToJSON(rply)) - } -} - -func TestAttributesV1ProcessEventErrorMetaSum(t *testing.T) { - cfg := config.NewDefaultCGRConfig() - cfg.FilterSCfg().ResourceSConns = []string{} - conMng := &ConnManager{} - db := NewInternalDB(nil, nil, true) - dm := NewDataManager(db, nil, conMng) - filterS := NewFilterS(cfg, conMng, dm) - attr := &AttributeProfile{ - Tenant: "cgrates.org", - ID: "ATTR_CHANGE_TENANT_FROM_USER", - Contexts: []string{utils.MetaAny}, - FilterIDs: []string{"*string:~*req.Account:dan@itsyscom.com|adrian@itsyscom.com"}, - ActivationInterval: nil, - Attributes: []*Attribute{ - { - FilterIDs: nil, - Path: "*tenant", - Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), - }, - { - FilterIDs: nil, - Path: "*req.Account", - Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), - }, - { - FilterIDs: nil, - Path: "*tenant", - Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), - }, - }, - Blocker: false, - Weight: 20, - } - err := dm.SetAttributeProfile(attr, true) - if err != nil { - t.Error(err) - } - - attr2 := &AttributeProfile{ - Tenant: "adrian.itsyscom.com.co.uk", - ID: "ATTR_MATCH_TENANT", - Contexts: []string{utils.MetaAny}, - ActivationInterval: nil, - Attributes: []*Attribute{ - { - FilterIDs: nil, - Path: "*req.Password", - Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), - }, - }, - Blocker: false, - Weight: 20, - } - - err = dm.SetAttributeProfile(attr2, true) - if err != nil { - t.Error(err) - } - - alS := NewAttributeService(dm, filterS, cfg) - args := &AttrArgsProcessEvent{ + if err = alS.V1ProcessEvent(&AttrArgsProcessEvent{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - ID: "123", Event: map[string]interface{}{ utils.AccountField: "adrian@itsyscom.com", }, }, ProcessRuns: utils.IntPointer(2), + }, &rply); err != nil { + t.Errorf("Expected <%+v>, received <%+v>", nil, err) + } else if sort.Strings(rply.AlteredFields); !reflect.DeepEqual(expected, rply) { + t.Errorf("Expected <%+v>, received <%+v>", utils.ToJSON(expected), utils.ToJSON(rply)) } - rply := &AttrSProcessEventReply{} - err = alS.V1ProcessEvent(args, rply) - sort.Strings(rply.AlteredFields) +} + +func TestAttributesV1ProcessEventErrorMetaSum(t *testing.T) { + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + cfg.FilterSCfg().ResourceSConns = []string{} + conMng := NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) + dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), nil, conMng) + filterS := NewFilterS(cfg, conMng, dm) + + if err := dm.SetAttributeProfile(&AttributeProfile{ + Tenant: "cgrates.org", + ID: "ATTR_MATCH_TENANT", + Contexts: []string{utils.MetaAny}, + Attributes: []*Attribute{ + { + Path: "*req.Password", + Type: utils.MetaSum, + Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + }, + }, + Blocker: false, + Weight: 20, + }, true); err != nil { + t.Error(err) + } + + alS := NewAttributeService(dm, filterS, cfg) + var rply AttrSProcessEventReply expErr := "SERVER_ERROR: NotEnoughParameters" - if err == nil || err.Error() != expErr { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) + if err = alS.V1ProcessEvent(&AttrArgsProcessEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + Event: map[string]interface{}{ + utils.AccountField: "adrian@itsyscom.com", + }, + }, + ProcessRuns: utils.IntPointer(2), + }, &rply); err == nil || err.Error() != expErr { + t.Errorf("Expected <%+v>, received <%+v>", expErr, err) } } func TestAttributesV1ProcessEventErrorMetaDifference(t *testing.T) { + Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.FilterSCfg().ResourceSConns = []string{} - conMng := &ConnManager{} - db := NewInternalDB(nil, nil, true) + conMng := NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, nil, conMng) filterS := NewFilterS(cfg, conMng, dm) - attr := &AttributeProfile{ - Tenant: "cgrates.org", - ID: "ATTR_CHANGE_TENANT_FROM_USER", - Contexts: []string{utils.MetaAny}, - FilterIDs: []string{"*string:~*req.Account:dan@itsyscom.com|adrian@itsyscom.com"}, - ActivationInterval: nil, + + if err := dm.SetAttributeProfile(&AttributeProfile{ + Tenant: "cgrates.org", + ID: "ATTR_MATCH_TENANT", + Contexts: []string{utils.MetaAny}, Attributes: []*Attribute{ { - FilterIDs: nil, - Path: "*tenant", - Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), - }, - { - FilterIDs: nil, - Path: "*req.Account", - Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), - }, - { - FilterIDs: nil, - Path: "*tenant", - Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Path: "*req.Password", + Type: utils.MetaDifference, + Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blocker: false, Weight: 20, - } - err := dm.SetAttributeProfile(attr, true) - if err != nil { - t.Error(err) - } - - attr2 := &AttributeProfile{ - Tenant: "adrian.itsyscom.com.co.uk", - ID: "ATTR_MATCH_TENANT", - Contexts: []string{utils.MetaAny}, - ActivationInterval: nil, - Attributes: []*Attribute{ - { - FilterIDs: nil, - Path: "*req.Password", - Type: utils.MetaDifference, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), - }, - }, - Blocker: false, - Weight: 20, - } - - err = dm.SetAttributeProfile(attr2, true) - if err != nil { + }, true); err != nil { t.Error(err) } alS := NewAttributeService(dm, filterS, cfg) - args := &AttrArgsProcessEvent{ + var rply AttrSProcessEventReply + expErr := "SERVER_ERROR: NotEnoughParameters" + if err := alS.V1ProcessEvent(&AttrArgsProcessEvent{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - ID: "123", Event: map[string]interface{}{ utils.AccountField: "adrian@itsyscom.com", }, }, ProcessRuns: utils.IntPointer(2), - } - rply := &AttrSProcessEventReply{} - err = alS.V1ProcessEvent(args, rply) - sort.Strings(rply.AlteredFields) - expErr := "SERVER_ERROR: NotEnoughParameters" - if err == nil || err.Error() != expErr { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) + }, &rply); err == nil || err.Error() != expErr { + t.Errorf("Expected <%+v>, received <%+v>", expErr, err) } } func TestAttributesV1ProcessEventErrorMetaValueExponent(t *testing.T) { + Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.FilterSCfg().ResourceSConns = []string{} - conMng := &ConnManager{} - db := NewInternalDB(nil, nil, true) - dm := NewDataManager(db, nil, conMng) - filterS := NewFilterS(cfg, conMng, dm) - attr := &AttributeProfile{ - Tenant: "cgrates.org", - ID: "ATTR_CHANGE_TENANT_FROM_USER", - Contexts: []string{utils.MetaAny}, - FilterIDs: []string{"*string:~*req.Account:dan@itsyscom.com|adrian@itsyscom.com"}, - ActivationInterval: nil, + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := NewDataManager(db, nil, nil) + filterS := NewFilterS(cfg, nil, dm) + + if err := dm.SetAttributeProfile(&AttributeProfile{ + Tenant: "cgrates.org", + ID: "ATTR_MATCH_TENANT", + Contexts: []string{utils.MetaAny}, Attributes: []*Attribute{ { - FilterIDs: nil, - Path: "*tenant", - Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), - }, - { - FilterIDs: nil, - Path: "*req.Account", - Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), - }, - { - FilterIDs: nil, - Path: "*tenant", - Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Path: "*req.Password", + Type: utils.MetaValueExponent, + Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blocker: false, Weight: 20, - } - err := dm.SetAttributeProfile(attr, true) - if err != nil { - t.Error(err) - } - - attr2 := &AttributeProfile{ - Tenant: "adrian.itsyscom.com.co.uk", - ID: "ATTR_MATCH_TENANT", - Contexts: []string{utils.MetaAny}, - ActivationInterval: nil, - Attributes: []*Attribute{ - { - FilterIDs: nil, - Path: "*req.Password", - Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), - }, - }, - Blocker: false, - Weight: 20, - } - - err = dm.SetAttributeProfile(attr2, true) - if err != nil { + }, true); err != nil { t.Error(err) } alS := NewAttributeService(dm, filterS, cfg) - args := &AttrArgsProcessEvent{ + var rply AttrSProcessEventReply + expErr := "SERVER_ERROR: invalid arguments <[{\"Rules\":\"CGRATES.ORG\"}]> to *value_exponent" + if err := alS.V1ProcessEvent(&AttrArgsProcessEvent{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - ID: "123", Event: map[string]interface{}{ utils.AccountField: "adrian@itsyscom.com", }, }, ProcessRuns: utils.IntPointer(2), - } - rply := &AttrSProcessEventReply{} - err = alS.V1ProcessEvent(args, rply) - sort.Strings(rply.AlteredFields) - expErr := "SERVER_ERROR: invalid arguments <[{\"Rules\":\"CGRATES.ORG\"}]> to *value_exponent" - if err == nil || err.Error() != expErr { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) + }, &rply); err == nil || err.Error() != expErr { + t.Errorf("Expected <%+v>, received <%+v>", expErr, err) } } @@ -534,7 +392,7 @@ func TestAttributesattributeProfileForEventAnyCtxFalseNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -620,7 +478,7 @@ func TestAttributesattributeProfileForEventAnyCtxFalseFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -697,7 +555,7 @@ func TestAttributesattributeProfileForEventAnyCtxTrueBothFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -786,7 +644,7 @@ func TestAttributesattributeProfileForEventAnyCtxTrueErrMatching(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -870,7 +728,7 @@ func TestAttributesattributeProfileForEventAnyCtxTrueNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -946,7 +804,7 @@ func TestAttributesattributeProfileForEventNoDBConn(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -1023,7 +881,7 @@ func TestAttributesattributeProfileForEventErrNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -1063,7 +921,7 @@ func TestAttributesattributeProfileForEventNotActive(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -1124,7 +982,7 @@ func TestAttributesattributeProfileForEventErrPass(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) alS := &AttributeService{ @@ -1306,7 +1164,7 @@ func TestAttributesV1ProcessEventMultipleRuns1(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) Cache = NewCacheS(cfg, dm, nil) @@ -1397,7 +1255,7 @@ func TestAttributesV1ProcessEventMultipleRuns2(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) Cache = NewCacheS(cfg, dm, nil) diff --git a/engine/cdrs_test.go b/engine/cdrs_test.go index 43a0fbe91..cde87c4c1 100644 --- a/engine/cdrs_test.go +++ b/engine/cdrs_test.go @@ -20,11 +20,12 @@ package engine import ( "fmt" + "testing" + "time" + "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" "github.com/cgrates/rpcclient" - "testing" - "time" ) type clMock func(_ string, _ interface{}, _ interface{}) error @@ -71,12 +72,12 @@ func TestCDRSV1ProcessCDRNoTenant(t *testing.T) { connMngr := NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanClnt, }) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMngr) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: connMngr, - cdrDb: NewInternalDB(nil, nil, true), + cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), dm: dm, } cdr := &CDRWithAPIOpts{ // no tenant, take the default @@ -127,12 +128,12 @@ func TestCDRSV1ProcessEventNoTenant(t *testing.T) { connMngr := NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanClnt, }) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMngr) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: connMngr, - cdrDb: NewInternalDB(nil, nil, true), + cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), dm: dm, } args := &ArgV1ProcessEvent{ @@ -181,12 +182,12 @@ func TestCDRSV1V1ProcessExternalCDRNoTenant(t *testing.T) { connMngr := NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanClnt, }) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMngr) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: connMngr, - cdrDb: NewInternalDB(nil, nil, true), + cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), dm: dm, } diff --git a/engine/chargers_test.go b/engine/chargers_test.go index e90788abb..5d39a0c73 100644 --- a/engine/chargers_test.go +++ b/engine/chargers_test.go @@ -68,7 +68,7 @@ func TestChargerSetChargerProfiles(t *testing.T) { Weight: 20, }, } - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dmCharger = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) fltrCP1 := &Filter{ @@ -213,11 +213,11 @@ func TestChargerMatchingChargerProfilesForEvent(t *testing.T) { }, } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmCharger = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) chargerSrv = NewChargerService(dmCharger, - &FilterS{dm: dmCharger, cfg: defaultCfg}, defaultCfg, nil) + &FilterS{dm: dmCharger, cfg: cfg}, cfg, nil) fltrCP1 := &Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, @@ -380,11 +380,11 @@ func TestChargerProcessEvent(t *testing.T) { }, } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmCharger = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) chargerSrv = NewChargerService(dmCharger, - &FilterS{dm: dmCharger, cfg: defaultCfg}, defaultCfg, nil) + &FilterS{dm: dmCharger, cfg: cfg}, cfg, nil) fltrCP1 := &Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, @@ -492,24 +492,24 @@ func TestChargerProcessEvent(t *testing.T) { } func TestChargersmatchingChargerProfilesForEventChargerProfileNotFound(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().StringIndexedFields = &[]string{ + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().StringIndexedFields = &[]string{ "string", } - defaultCfg.ChargerSCfg().PrefixIndexedFields = &[]string{"prefix"} - defaultCfg.ChargerSCfg().SuffixIndexedFields = &[]string{"suffix"} - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().NestedFields = false + cfg.ChargerSCfg().PrefixIndexedFields = &[]string{"prefix"} + cfg.ChargerSCfg().SuffixIndexedFields = &[]string{"suffix"} + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().NestedFields = false - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmCharger := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) cS := &ChargerService{ dm: dmCharger, filterS: &FilterS{ dm: dmCharger, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, + cfg: cfg, } cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, @@ -538,24 +538,24 @@ func TestChargersmatchingChargerProfilesForEventChargerProfileNotFound(t *testin } func TestChargersmatchingChargerProfilesForEventDoesNotPass(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().StringIndexedFields = &[]string{ + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().StringIndexedFields = &[]string{ "string", } - defaultCfg.ChargerSCfg().PrefixIndexedFields = &[]string{"prefix"} - defaultCfg.ChargerSCfg().SuffixIndexedFields = &[]string{"suffix"} - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().NestedFields = false + cfg.ChargerSCfg().PrefixIndexedFields = &[]string{"prefix"} + cfg.ChargerSCfg().SuffixIndexedFields = &[]string{"suffix"} + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().NestedFields = false - dataDB := NewInternalDB(nil, nil, true) + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmCharger := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) cS := &ChargerService{ dm: dmCharger, filterS: &FilterS{ dm: dmCharger, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, + cfg: cfg, } cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, @@ -584,28 +584,28 @@ func TestChargersmatchingChargerProfilesForEventDoesNotPass(t *testing.T) { } func TestChargersmatchingChargerProfilesForEventErrGetChPrf(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().StringIndexedFields = &[]string{ + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().StringIndexedFields = &[]string{ "string", } - defaultCfg.ChargerSCfg().PrefixIndexedFields = &[]string{"prefix"} - defaultCfg.ChargerSCfg().SuffixIndexedFields = &[]string{"suffix"} - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().NestedFields = false + cfg.ChargerSCfg().PrefixIndexedFields = &[]string{"prefix"} + cfg.ChargerSCfg().SuffixIndexedFields = &[]string{"suffix"} + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().NestedFields = false dbm := &DataDBMock{ GetKeysForPrefixF: func(s string) ([]string, error) { return []string{":"}, nil }, } - dmCharger := NewDataManager(dbm, defaultCfg.CacheCfg(), nil) + dmCharger := NewDataManager(dbm, cfg.CacheCfg(), nil) cS := &ChargerService{ dm: dmCharger, filterS: &FilterS{ dm: dmCharger, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, + cfg: cfg, } cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, @@ -635,9 +635,9 @@ func TestChargersmatchingChargerProfilesForEventErrGetChPrf(t *testing.T) { } func TestChargersprocessEvent(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() cS := &ChargerService{ - cfg: defaultCfg, + cfg: cfg, } cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", diff --git a/engine/connmanager_test.go b/engine/connmanager_test.go index 70fc5a6f5..1e7878388 100644 --- a/engine/connmanager_test.go +++ b/engine/connmanager_test.go @@ -36,16 +36,16 @@ func TestCMgetConnNotFound(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, } - db := NewInternalDB(nil, nil, true) - dm := NewDataManager(db, defaultCfg.CacheCfg(), cM) - Cache = NewCacheS(defaultCfg, dm, nil) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := NewDataManager(db, cfg.CacheCfg(), cM) + Cache = NewCacheS(cfg, dm, nil) Cache.SetWithoutReplicate(utils.CacheRPCConnections, connID, nil, nil, true, utils.NonTransactional) experr := utils.ErrNotFound @@ -68,13 +68,13 @@ func TestCMgetConnUnsupportedBiRPC(t *testing.T) { }() connID := rpcclient.BiRPCInternal + "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() cc := make(chan rpcclient.ClientConnector, 1) cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ connID: cc, }, @@ -82,9 +82,9 @@ func TestCMgetConnUnsupportedBiRPC(t *testing.T) { } experr := rpcclient.ErrUnsupportedBiRPC - exp, err := NewRPCPool("*first", "", "", "", defaultCfg.GeneralCfg().ConnectAttempts, - defaultCfg.GeneralCfg().Reconnects, defaultCfg.GeneralCfg().ConnectTimeout, - defaultCfg.GeneralCfg().ReplyTimeout, nil, cc, true, nil, "", cM.connCache) + exp, err := NewRPCPool("*first", "", "", "", cfg.GeneralCfg().ConnectAttempts, + cfg.GeneralCfg().Reconnects, cfg.GeneralCfg().ConnectTimeout, + cfg.GeneralCfg().ReplyTimeout, nil, cc, true, nil, "", cM.connCache) if err != nil { t.Fatal(err) } @@ -106,9 +106,9 @@ func TestCMgetConnNotInternalRPC(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { ID: connID, Address: utils.MetaInternal, @@ -118,7 +118,7 @@ func TestCMgetConnNotInternalRPC(t *testing.T) { cc := make(chan rpcclient.ClientConnector, 1) cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ "testString": cc, }, @@ -127,10 +127,10 @@ func TestCMgetConnNotInternalRPC(t *testing.T) { cM.connCache.Set(connID, nil, nil) - exp, err := NewRPCPool("*first", defaultCfg.TLSCfg().ClientKey, defaultCfg.TLSCfg().ClientCerificate, - defaultCfg.TLSCfg().CaCertificate, defaultCfg.GeneralCfg().ConnectAttempts, - defaultCfg.GeneralCfg().Reconnects, defaultCfg.GeneralCfg().ConnectTimeout, - defaultCfg.GeneralCfg().ReplyTimeout, defaultCfg.RPCConns()[connID].Conns, cc, + exp, err := NewRPCPool("*first", cfg.TLSCfg().ClientKey, cfg.TLSCfg().ClientCerificate, + cfg.TLSCfg().CaCertificate, cfg.GeneralCfg().ConnectAttempts, + cfg.GeneralCfg().Reconnects, cfg.GeneralCfg().ConnectTimeout, + cfg.GeneralCfg().ReplyTimeout, cfg.RPCConns()[connID].Conns, cc, true, nil, connID, cM.connCache) if err != nil { t.Fatal(err) @@ -153,10 +153,10 @@ func TestCMgetConnWithConfigUnsupportedTransport(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { Address: "invalid", Transport: "invalid", @@ -166,7 +166,7 @@ func TestCMgetConnWithConfigUnsupportedTransport(t *testing.T) { cc := make(chan rpcclient.ClientConnector, 1) cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ connID: cc, }, @@ -174,7 +174,7 @@ func TestCMgetConnWithConfigUnsupportedTransport(t *testing.T) { } experr := fmt.Sprintf("Unsupported transport: <%+s>", "invalid") - rcv, err := cM.getConnWithConfig(connID, defaultCfg.RPCConns()[connID], nil, cc, true) + rcv, err := cM.getConnWithConfig(connID, cfg.RPCConns()[connID], nil, cc, true) if err == nil || err.Error() != experr { t.Fatalf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -192,10 +192,10 @@ func TestCMgetConnWithConfigUnsupportedCodec(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { Address: "invalid", Transport: rpcclient.BiRPCJSON, @@ -205,7 +205,7 @@ func TestCMgetConnWithConfigUnsupportedCodec(t *testing.T) { cc := make(chan rpcclient.ClientConnector, 1) cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ connID: cc, }, @@ -214,7 +214,7 @@ func TestCMgetConnWithConfigUnsupportedCodec(t *testing.T) { experr := rpcclient.ErrUnsupportedCodec var exp *rpcclient.RPCParallelClientPool - rcv, err := cM.getConnWithConfig(connID, defaultCfg.RPCConns()[connID], nil, cc, true) + rcv, err := cM.getConnWithConfig(connID, cfg.RPCConns()[connID], nil, cc, true) if err == nil || err != experr { t.Fatalf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -232,10 +232,10 @@ func TestCMgetConnWithConfigEmptyTransport(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { Address: "invalid", Transport: "", @@ -245,7 +245,7 @@ func TestCMgetConnWithConfigEmptyTransport(t *testing.T) { cc := make(chan rpcclient.ClientConnector, 1) cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ connID: cc, }, @@ -254,7 +254,7 @@ func TestCMgetConnWithConfigEmptyTransport(t *testing.T) { cM.connCache.Set(connID, nil, nil) - rcv, err := cM.getConnWithConfig(connID, defaultCfg.RPCConns()[connID], nil, cc, true) + rcv, err := cM.getConnWithConfig(connID, cfg.RPCConns()[connID], nil, cc, true) if err != nil { t.Fatalf("\nexpected: <%+v>, \nreceived: <%+v>", nil, err) @@ -292,9 +292,9 @@ func TestCMgetConnWithConfigCallBiRPCNilErr(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { ID: connID, Address: rpcclient.BiRPCInternal, @@ -313,22 +313,22 @@ func TestCMgetConnWithConfigCallBiRPCNilErr(t *testing.T) { cc <- birpc cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ connID: cc, }, connCache: ltcache.NewCache(-1, 0, true, nil), } - exp, err := NewRPCPool("*first", defaultCfg.TLSCfg().ClientKey, defaultCfg.TLSCfg().ClientCerificate, - defaultCfg.TLSCfg().CaCertificate, defaultCfg.GeneralCfg().ConnectAttempts, - defaultCfg.GeneralCfg().Reconnects, defaultCfg.GeneralCfg().ConnectTimeout, - defaultCfg.GeneralCfg().ReplyTimeout, defaultCfg.RPCConns()[connID].Conns, cc, + exp, err := NewRPCPool("*first", cfg.TLSCfg().ClientKey, cfg.TLSCfg().ClientCerificate, + cfg.TLSCfg().CaCertificate, cfg.GeneralCfg().ConnectAttempts, + cfg.GeneralCfg().Reconnects, cfg.GeneralCfg().ConnectTimeout, + cfg.GeneralCfg().ReplyTimeout, cfg.RPCConns()[connID].Conns, cc, false, birpc, connID, cM.connCache) if err != nil { t.Fatal(err) } - rcv, err := cM.getConnWithConfig(connID, defaultCfg.RPCConns()[connID], birpc, cc, true) + rcv, err := cM.getConnWithConfig(connID, cfg.RPCConns()[connID], birpc, cc, true) if err != nil { t.Fatalf("\nexpected: <%+v>, \nreceived: <%+v>", nil, err) @@ -346,9 +346,9 @@ func TestCMgetConnWithConfigCallBiRPCErr(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { ID: connID, Address: rpcclient.BiRPCInternal, @@ -367,23 +367,23 @@ func TestCMgetConnWithConfigCallBiRPCErr(t *testing.T) { cc <- birpc cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ connID: cc, }, connCache: ltcache.NewCache(-1, 0, true, nil), } - exp, err := NewRPCPool("*first", defaultCfg.TLSCfg().ClientKey, defaultCfg.TLSCfg().ClientCerificate, - defaultCfg.TLSCfg().CaCertificate, defaultCfg.GeneralCfg().ConnectAttempts, - defaultCfg.GeneralCfg().Reconnects, defaultCfg.GeneralCfg().ConnectTimeout, - defaultCfg.GeneralCfg().ReplyTimeout, defaultCfg.RPCConns()[connID].Conns, cc, + exp, err := NewRPCPool("*first", cfg.TLSCfg().ClientKey, cfg.TLSCfg().ClientCerificate, + cfg.TLSCfg().CaCertificate, cfg.GeneralCfg().ConnectAttempts, + cfg.GeneralCfg().Reconnects, cfg.GeneralCfg().ConnectTimeout, + cfg.GeneralCfg().ReplyTimeout, cfg.RPCConns()[connID].Conns, cc, false, birpc, connID, cM.connCache) if err != nil { t.Fatal(err) } experr := rpcclient.ErrUnsupporteServiceMethod - rcv, err := cM.getConnWithConfig(connID, defaultCfg.RPCConns()[connID], birpc, cc, true) + rcv, err := cM.getConnWithConfig(connID, cfg.RPCConns()[connID], birpc, cc, true) if err == nil || err != experr { t.Fatalf("\nexpected: <%+v>, \nreceived: <%+v>", nil, err) @@ -401,10 +401,10 @@ func TestCMgetConnWithConfigInternalRPCCodec(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { Address: rpcclient.InternalRPC, }, @@ -413,14 +413,14 @@ func TestCMgetConnWithConfigInternalRPCCodec(t *testing.T) { cc := make(chan rpcclient.ClientConnector, 1) cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ connID: cc, }, connCache: ltcache.NewCache(-1, 0, true, nil), } - rcv, err := cM.getConnWithConfig(connID, defaultCfg.RPCConns()[connID], nil, cc, true) + rcv, err := cM.getConnWithConfig(connID, cfg.RPCConns()[connID], nil, cc, true) if err != nil { t.Fatalf("\nexpected: <%+v>, \nreceived: <%+v>", nil, err) @@ -438,10 +438,10 @@ func TestCMgetConnWithConfigInternalBiRPCCodecUnsupported(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Strategy = rpcclient.PoolParallel + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { Address: rpcclient.BiRPCInternal, }, @@ -450,7 +450,7 @@ func TestCMgetConnWithConfigInternalBiRPCCodecUnsupported(t *testing.T) { cc := make(chan rpcclient.ClientConnector, 1) cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, rpcInternal: map[string]chan rpcclient.ClientConnector{ connID: cc, }, @@ -458,7 +458,7 @@ func TestCMgetConnWithConfigInternalBiRPCCodecUnsupported(t *testing.T) { } experr := rpcclient.ErrUnsupportedCodec - rcv, err := cM.getConnWithConfig(connID, defaultCfg.RPCConns()[connID], nil, cc, true) + rcv, err := cM.getConnWithConfig(connID, cfg.RPCConns()[connID], nil, cc, true) if err == nil || err != experr { t.Fatalf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -476,16 +476,16 @@ func TestCMCallErrgetConn(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, } - db := NewInternalDB(nil, nil, true) - dm := NewDataManager(db, defaultCfg.CacheCfg(), cM) - Cache = NewCacheS(defaultCfg, dm, nil) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := NewDataManager(db, cfg.CacheCfg(), cM) + Cache = NewCacheS(cfg, dm, nil) Cache.SetWithoutReplicate(utils.CacheRPCConnections, connID, nil, nil, true, utils.NonTransactional) experr := utils.ErrNotFound @@ -503,11 +503,11 @@ func TestCMCallWithConnIDsNoSubsHostIDs(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, } subsHostIDs := utils.StringSet{} @@ -525,11 +525,11 @@ func TestCMCallWithConnIDsNoConnIDs(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, } subsHostIDs := utils.StringSet{ "key": struct{}{}, @@ -550,9 +550,9 @@ func TestCMCallWithConnIDsNoConns(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { ID: connID, Address: rpcclient.InternalRPC, @@ -560,7 +560,7 @@ func TestCMCallWithConnIDsNoConns(t *testing.T) { } cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, } subsHostIDs := utils.StringSet{ "random": struct{}{}, @@ -580,9 +580,9 @@ func TestCMCallWithConnIDsInternallyDCed(t *testing.T) { }() connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[connID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[connID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[connID] = config.NewDfltRPCConn() + cfg.RPCConns()[connID].Conns = []*config.RemoteHost{ { ID: connID, Address: rpcclient.InternalRPC, @@ -590,7 +590,7 @@ func TestCMCallWithConnIDsInternallyDCed(t *testing.T) { } cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, connCache: ltcache.NewCache(-1, 0, true, nil), } subsHostIDs := utils.StringSet{ @@ -613,9 +613,9 @@ func TestCMCallWithConnIDs2(t *testing.T) { poolID := "poolID" connID := "connID" - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.RPCConns()[poolID] = config.NewDfltRPCConn() - defaultCfg.RPCConns()[poolID].Conns = []*config.RemoteHost{ + cfg := config.NewDefaultCGRConfig() + cfg.RPCConns()[poolID] = config.NewDfltRPCConn() + cfg.RPCConns()[poolID].Conns = []*config.RemoteHost{ { ID: connID, Address: "addr", @@ -631,7 +631,7 @@ func TestCMCallWithConnIDs2(t *testing.T) { } cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, connCache: ltcache.NewCache(-1, 0, true, nil), } @@ -655,17 +655,17 @@ func TestCMReload(t *testing.T) { Cache = tmp }() - defaultCfg := config.NewDefaultCGRConfig() + cfg := config.NewDefaultCGRConfig() cM := &ConnManager{ - cfg: defaultCfg, + cfg: cfg, connCache: ltcache.NewCache(-1, 0, true, nil), } cM.connCache.Set("itmID1", "value of first item", nil) - db := NewInternalDB(nil, nil, true) - dm := NewDataManager(db, defaultCfg.CacheCfg(), cM) - Cache = NewCacheS(defaultCfg, dm, nil) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := NewDataManager(db, cfg.CacheCfg(), cM) + Cache = NewCacheS(cfg, dm, nil) Cache.SetWithoutReplicate(utils.CacheRPCConnections, "itmID2", "value of 2nd item", nil, true, utils.NonTransactional) diff --git a/engine/filters_test.go b/engine/filters_test.go index eb8a8d2f4..883ff41ca 100644 --- a/engine/filters_test.go +++ b/engine/filters_test.go @@ -840,7 +840,7 @@ func TestFilterNewRequestFilter(t *testing.T) { func TestInlineFilterPassFiltersForEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1092,7 +1092,7 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1200,7 +1200,7 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { func TestPassFilterMaxCost(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1252,7 +1252,7 @@ func TestPassFilterMaxCost(t *testing.T) { func TestPassFilterMissingField(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1298,7 +1298,7 @@ func TestPassFilterMissingField(t *testing.T) { func TestEventCostFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1519,7 +1519,7 @@ func TestVerifyPrefixes(t *testing.T) { func TestPassPartial(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1599,7 +1599,7 @@ func TestVerifyInlineFilterS(t *testing.T) { func TestActivationIntervalPass(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1784,7 +1784,7 @@ func TestAPIBan(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -2273,7 +2273,7 @@ func TestFilterPassRSRFieldsWithMultplieValues(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) flts := NewFilterS(cfg, nil, dm) if passes, err := flts.Pass("cgrates.org", []string{"*rsr:~*req.23:dan|1001"}, ev); err != nil { t.Error(err) @@ -2290,7 +2290,7 @@ func TestFilterPassRSRFieldsWithMultplieValues(t *testing.T) { func TestFilterGreaterThanOnObjectDP(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.FilterSCfg().ResourceSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} - dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) mockConn := &ccMock{ calls: map[string]func(args interface{}, reply interface{}) error{ utils.ResourceSv1GetResourceWithConfig: func(args interface{}, reply interface{}) error { diff --git a/engine/libstats_test.go b/engine/libstats_test.go index 29e3cb887..596b97fec 100644 --- a/engine/libstats_test.go +++ b/engine/libstats_test.go @@ -1151,7 +1151,7 @@ func TestStatQueueaddStatEventPassErr(t *testing.T) { filters := &FilterS{ cfg: config.CgrConfig(), dm: &DataManager{ - dataDB: NewInternalDB(nil, nil, true), + dataDB: NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items), }, connMgr: &ConnManager{}, } @@ -1190,7 +1190,7 @@ func TestStatQueueaddStatEventNoPass(t *testing.T) { filters := &FilterS{ cfg: config.CgrConfig(), dm: &DataManager{ - dataDB: NewInternalDB(nil, nil, true), + dataDB: NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items), }, connMgr: &ConnManager{}, } diff --git a/engine/routes_test.go b/engine/routes_test.go index 3ee4b97ba..c6b274922 100644 --- a/engine/routes_test.go +++ b/engine/routes_test.go @@ -30,50 +30,34 @@ import ( func TestRoutesSort(t *testing.T) { sprs := RouteProfiles{ &RouteProfile{ - Tenant: "cgrates.org", - ID: "RoutePrf1", - FilterIDs: []string{}, + Tenant: "cgrates.org", + ID: "RoutePrf1", ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, - Sorting: "", - SortingParameters: []string{}, + Sorting: "", Routes: []*Route{ { ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 10.0, - Blocker: false, RouteParameters: "param1", }, }, Weight: 10, }, &RouteProfile{ - Tenant: "cgrates.org", - ID: "RoutePrf2", - FilterIDs: []string{}, + Tenant: "cgrates.org", + ID: "RoutePrf2", ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, - Sorting: "", - SortingParameters: []string{}, + Sorting: "", Routes: []*Route{ { ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 20.0, - Blocker: false, RouteParameters: "param1", }, }, @@ -82,50 +66,34 @@ func TestRoutesSort(t *testing.T) { } eRouteProfile := RouteProfiles{ &RouteProfile{ - Tenant: "cgrates.org", - ID: "RoutePrf2", - FilterIDs: []string{}, + Tenant: "cgrates.org", + ID: "RoutePrf2", ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, - Sorting: "", - SortingParameters: []string{}, + Sorting: "", Routes: []*Route{ { ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 20.0, - Blocker: false, RouteParameters: "param1", }, }, Weight: 20.0, }, &RouteProfile{ - Tenant: "cgrates.org", - ID: "RoutePrf1", - FilterIDs: []string{}, + Tenant: "cgrates.org", + ID: "RoutePrf1", ActivationInterval: &utils.ActivationInterval{ ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, - Sorting: "", - SortingParameters: []string{}, + Sorting: "", Routes: []*Route{ { ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 10.0, - Blocker: false, RouteParameters: "param1", }, }, @@ -138,287 +106,62 @@ func TestRoutesSort(t *testing.T) { } } -func TestRoutesCache(t *testing.T) { - var expTimeRoutes = time.Now().Add(20 * time.Minute) - var dmSPP *DataManager - sppTest := RouteProfiles{ - &RouteProfile{ +var ( + testRoutesPrfs = RouteProfiles{ + { Tenant: "cgrates.org", ID: "RouteProfile1", FilterIDs: []string{"FLTR_RPP_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, + Sorting: utils.MetaWeight, Routes: []*Route{ { ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 10.0, - Blocker: false, RouteParameters: "param1", }, }, Weight: 10, }, - &RouteProfile{ + { Tenant: "cgrates.org", ID: "RouteProfile2", FilterIDs: []string{"FLTR_SUPP_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, + Sorting: utils.MetaWeight, Routes: []*Route{ { ID: "route2", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 20.0, RouteParameters: "param2", }, { ID: "route3", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 10.0, RouteParameters: "param3", }, { ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 30.0, - Blocker: false, RouteParameters: "param1", }, }, Weight: 20.0, }, - &RouteProfile{ + { Tenant: "cgrates.org", ID: "RouteProfilePrefix", FilterIDs: []string{"FLTR_SUPP_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, + Sorting: utils.MetaWeight, Routes: []*Route{ { ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, Weight: 10.0, - Blocker: false, RouteParameters: "param1", }, }, Weight: 10, }, } - - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmSPP = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - fltrSupp1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_RPP_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp1, true) - fltrSupp2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp2, true) - fltrSupp3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Route", - Values: []string{"RouteProfilePrefix"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp3, true) - - for _, spp := range sppTest { - if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each route profile from cache - for _, spp := range sppTest { - if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, - spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(spp, tempSpp) { - t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) - } - } -} - -func TestRoutesmatchingRouteProfilesForEvent(t *testing.T) { - var expTimeRoutes = time.Now().Add(20 * time.Minute) - var routeService *RouteService - var dmSPP *DataManager - var sppTest = RouteProfiles{ - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile1", - FilterIDs: []string{"FLTR_RPP_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile2", - FilterIDs: []string{"FLTR_SUPP_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route2", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 20.0, - RouteParameters: "param2", - }, - { - ID: "route3", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - RouteParameters: "param3", - }, - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 30.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 20.0, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfilePrefix", - FilterIDs: []string{"FLTR_SUPP_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - } - argsGetRoutes := []*ArgsGetRoutes{ + testRoutesArgs = []*ArgsGetRoutes{ { //matching RouteProfile1 CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", @@ -465,16 +208,10 @@ func TestRoutesmatchingRouteProfilesForEvent(t *testing.T) { }, }, } +) - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmSPP = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - routeService = NewRouteService(dmSPP, &FilterS{ - dm: dmSPP, cfg: defaultCfg}, defaultCfg, nil) - - fltrSupp1 := &Filter{ +func prepareRoutesData(t *testing.T, dm *DataManager) { + if err := dm.SetFilter(&Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "FLTR_RPP_1", Rules: []*FilterRule{ @@ -494,9 +231,10 @@ func TestRoutesmatchingRouteProfilesForEvent(t *testing.T) { Values: []string{"9.0"}, }, }, + }, true); err != nil { + t.Fatal(err) } - dmSPP.SetFilter(fltrSupp1, true) - fltrSupp2 := &Filter{ + if err := dm.SetFilter(&Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "FLTR_SUPP_2", Rules: []*FilterRule{ @@ -516,9 +254,10 @@ func TestRoutesmatchingRouteProfilesForEvent(t *testing.T) { Values: []string{"15.0"}, }, }, + }, true); err != nil { + t.Fatal(err) } - dmSPP.SetFilter(fltrSupp2, true) - fltrSupp3 := &Filter{ + if err := dm.SetFilter(&Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "FLTR_SUPP_3", Rules: []*FilterRule{ @@ -528,275 +267,67 @@ func TestRoutesmatchingRouteProfilesForEvent(t *testing.T) { Values: []string{"RouteProfilePrefix"}, }, }, + }, true); err != nil { + t.Fatal(err) } - dmSPP.SetFilter(fltrSupp3, true) - for _, spp := range sppTest { - if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) + for _, spp := range testRoutesPrfs { + if err = dm.SetRouteProfile(spp, true); err != nil { + t.Fatal(err) } } //Test each route profile from cache - for _, spp := range sppTest { - if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, + for _, spp := range testRoutesPrfs { + if tempSpp, err := dm.GetRouteProfile(spp.Tenant, spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } else if !reflect.DeepEqual(spp, tempSpp) { - t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) + t.Fatalf("Expecting: %+v, received: %+v", spp, tempSpp) } } - sprf, err := routeService.matchingRouteProfilesForEvent(argsGetRoutes[0].Tenant, argsGetRoutes[0].CGREvent) - if err != nil { - t.Errorf("Error: %+v", err) - } - if !reflect.DeepEqual(sppTest[0], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[0], sprf[0]) - } +} - sprf, err = routeService.matchingRouteProfilesForEvent(argsGetRoutes[1].Tenant, argsGetRoutes[1].CGREvent) - if err != nil { - t.Errorf("Error: %+v", err) - } - if !reflect.DeepEqual(sppTest[1], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[1], sprf[0]) - } +func TestRoutesCache(t *testing.T) { + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + prepareRoutesData(t, dmSPP) +} - sprf, err = routeService.matchingRouteProfilesForEvent(argsGetRoutes[2].Tenant, argsGetRoutes[2].CGREvent) - if err != nil { - t.Errorf("Error: %+v", err) - } - if !reflect.DeepEqual(sppTest[2], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[2], sprf[0]) +func TestRoutesmatchingRouteProfilesForEvent(t *testing.T) { + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + routeService := NewRouteService(dmSPP, &FilterS{ + dm: dmSPP, cfg: cfg}, cfg, nil) + prepareRoutesData(t, dmSPP) + for i, spp := range testRoutesPrfs { + sprf, err := routeService.matchingRouteProfilesForEvent("cgrates.org", testRoutesArgs[i].CGREvent) + if err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(spp, sprf[0]) { + t.Errorf("Expecting: %+v, received: %+v", spp, sprf[0]) + } } } func TestRoutesSortedForEvent(t *testing.T) { - var expTimeRoutes = time.Now().Add(20 * time.Minute) - var routeService *RouteService - var dmSPP *DataManager - var sppTest = RouteProfiles{ - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile1", - FilterIDs: []string{"FLTR_RPP_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile2", - FilterIDs: []string{"FLTR_SUPP_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route2", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 20.0, - RouteParameters: "param2", - }, - { - ID: "route3", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - RouteParameters: "param3", - }, - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 30.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 20.0, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfilePrefix", - FilterIDs: []string{"FLTR_SUPP_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - } - argsGetRoutes := []*ArgsGetRoutes{ - { //matching RouteProfile1 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfile2 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfilePrefix - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfilePrefix", - }, - }, - }, - { //matching - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "CGR", - Event: map[string]interface{}{ - "UsageInterval": "1s", - "PddInterval": "1s", - }, - }, - }, - } + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + routeService := NewRouteService(dmSPP, &FilterS{ + dm: dmSPP, cfg: cfg}, cfg, nil) + prepareRoutesData(t, dmSPP) - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmSPP = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - routeService = NewRouteService(dmSPP, &FilterS{ - dm: dmSPP, cfg: defaultCfg}, defaultCfg, nil) - - fltrSupp1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_RPP_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp1, true) - fltrSupp2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp2, true) - fltrSupp3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Route", - Values: []string{"RouteProfilePrefix"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp3, true) - for _, spp := range sppTest { - if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each route profile from cache - for _, spp := range sppTest { - if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, - spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(spp, tempSpp) { - t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) - } - } - eFirstRouteProfile := SortedRoutesList{&SortedRoutes{ + exp := SortedRoutesList{{ ProfileID: "RouteProfile1", Sorting: utils.MetaWeight, Routes: []*SortedRoute{ @@ -812,15 +343,15 @@ func TestRoutesSortedForEvent(t *testing.T) { }, }, }} - sprf, err := routeService.sortedRoutesForEvent(argsGetRoutes[0].Tenant, argsGetRoutes[0]) + sprf, err := routeService.sortedRoutesForEvent("cgrates.org", testRoutesArgs[0]) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(eFirstRouteProfile, sprf) { - t.Errorf("Expecting: %+v, received: %+v", eFirstRouteProfile, sprf) + if !reflect.DeepEqual(exp, sprf) { + t.Errorf("Expecting: %+v, received: %+v", exp, sprf) } - eFirstRouteProfile = SortedRoutesList{&SortedRoutes{ + exp = SortedRoutesList{{ ProfileID: "RouteProfile2", Sorting: utils.MetaWeight, Routes: []*SortedRoute{ @@ -857,15 +388,15 @@ func TestRoutesSortedForEvent(t *testing.T) { }, }} - sprf, err = routeService.sortedRoutesForEvent(argsGetRoutes[1].Tenant, argsGetRoutes[1]) + sprf, err = routeService.sortedRoutesForEvent("cgrates.org", testRoutesArgs[1]) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(eFirstRouteProfile, sprf) { - t.Errorf("Expecting: %+v, received: %+v", eFirstRouteProfile, sprf) + if !reflect.DeepEqual(exp, sprf) { + t.Errorf("Expecting: %+v, received: %+v", exp, sprf) } - eFirstRouteProfile = SortedRoutesList{&SortedRoutes{ + exp = SortedRoutesList{{ ProfileID: "RouteProfilePrefix", Sorting: utils.MetaWeight, Routes: []*SortedRoute{ @@ -882,242 +413,26 @@ func TestRoutesSortedForEvent(t *testing.T) { }, }} - sprf, err = routeService.sortedRoutesForEvent(argsGetRoutes[2].Tenant, argsGetRoutes[2]) + sprf, err = routeService.sortedRoutesForEvent("cgrates.org", testRoutesArgs[2]) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(eFirstRouteProfile, sprf) { - t.Errorf("Expecting: %+v, received: %+v", eFirstRouteProfile, sprf) + if !reflect.DeepEqual(exp, sprf) { + t.Errorf("Expecting: %+v, received: %+v", exp, sprf) } } func TestRoutesSortedForEventWithLimit(t *testing.T) { - expTimeRoutes := time.Now().Add(20 * time.Minute) - var routeService *RouteService - sppTest := RouteProfiles{ - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile1", - FilterIDs: []string{"FLTR_RPP_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile2", - FilterIDs: []string{"FLTR_SUPP_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route2", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 20.0, - RouteParameters: "param2", - }, - { - ID: "route3", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - RouteParameters: "param3", - }, - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 30.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 20.0, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfilePrefix", - FilterIDs: []string{"FLTR_SUPP_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - } - argsGetRoutes := []*ArgsGetRoutes{ - { //matching RouteProfile1 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfile2 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfilePrefix - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfilePrefix", - }, - }, - }, - { //matching - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "CGR", - Event: map[string]interface{}{ - "UsageInterval": "1s", - "PddInterval": "1s", - }, - }, - }, - } - - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - routeService = NewRouteService(dmSPP, &FilterS{ - dm: dmSPP, cfg: defaultCfg}, defaultCfg, nil) + routeService := NewRouteService(dmSPP, &FilterS{ + dm: dmSPP, cfg: cfg}, cfg, nil) - fltrSupp1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_RPP_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp1, true) - fltrSupp2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp2, true) - fltrSupp3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Route", - Values: []string{"RouteProfilePrefix"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp3, true) - - for _, spp := range sppTest { - if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each route profile from cache - for _, spp := range sppTest { - if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, - spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(spp, tempSpp) { - t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) - } - } + prepareRoutesData(t, dmSPP) eFirstRouteProfile := SortedRoutesList{&SortedRoutes{ ProfileID: "RouteProfile2", @@ -1145,12 +460,14 @@ func TestRoutesSortedForEventWithLimit(t *testing.T) { }, }, }} - argsGetRoutes[1].Paginator = utils.Paginator{ - Limit: utils.IntPointer(2), - } - sprf, err := routeService.sortedRoutesForEvent(argsGetRoutes[1].Tenant, argsGetRoutes[1]) + sprf, err := routeService.sortedRoutesForEvent("cgrates.org", &ArgsGetRoutes{ + CGREvent: testRoutesArgs[1].CGREvent, + Paginator: utils.Paginator{ + Limit: utils.IntPointer(2), + }, + }) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if !reflect.DeepEqual(eFirstRouteProfile, sprf) { t.Errorf("Expecting: %+v, received: %+v", eFirstRouteProfile, sprf) @@ -1158,232 +475,16 @@ func TestRoutesSortedForEventWithLimit(t *testing.T) { } func TestRoutesSortedForEventWithOffset(t *testing.T) { - expTimeRoutes := time.Now().Add(20 * time.Minute) - var routeService *RouteService - sppTest := RouteProfiles{ - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile1", - FilterIDs: []string{"FLTR_RPP_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile2", - FilterIDs: []string{"FLTR_SUPP_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route2", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 20.0, - RouteParameters: "param2", - }, - { - ID: "route3", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - RouteParameters: "param3", - }, - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 30.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 20.0, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfilePrefix", - FilterIDs: []string{"FLTR_SUPP_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - } - argsGetRoutes := []*ArgsGetRoutes{ - { //matching RouteProfile1 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfile2 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfilePrefix - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfilePrefix", - }, - }, - }, - { //matching - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "CGR", - Event: map[string]interface{}{ - "UsageInterval": "1s", - "PddInterval": "1s", - }, - }, - }, - } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - routeService = NewRouteService(dmSPP, &FilterS{ - dm: dmSPP, cfg: defaultCfg}, defaultCfg, nil) + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + routeService := NewRouteService(dmSPP, &FilterS{ + dm: dmSPP, cfg: cfg}, cfg, nil) - fltrSupp1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_RPP_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp1, true) - fltrSupp2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp2, true) - fltrSupp3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Route", - Values: []string{"RouteProfilePrefix"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp3, true) - - for _, spp := range sppTest { - if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each route profile from cache - for _, spp := range sppTest { - if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, - spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(spp, tempSpp) { - t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) - } - } + prepareRoutesData(t, dmSPP) eFirstRouteProfile := SortedRoutesList{&SortedRoutes{ ProfileID: "RouteProfile2", @@ -1401,12 +502,14 @@ func TestRoutesSortedForEventWithOffset(t *testing.T) { }, }, }} - argsGetRoutes[1].Paginator = utils.Paginator{ - Offset: utils.IntPointer(2), - } - sprf, err := routeService.sortedRoutesForEvent(argsGetRoutes[1].Tenant, argsGetRoutes[1]) + sprf, err := routeService.sortedRoutesForEvent("cgrates.org", &ArgsGetRoutes{ + CGREvent: testRoutesArgs[1].CGREvent, + Paginator: utils.Paginator{ + Offset: utils.IntPointer(2), + }, + }) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if !reflect.DeepEqual(eFirstRouteProfile, sprf) { t.Errorf("Expecting: %+v,received: %+v", utils.ToJSON(eFirstRouteProfile), utils.ToJSON(sprf)) @@ -1414,232 +517,15 @@ func TestRoutesSortedForEventWithOffset(t *testing.T) { } func TestRoutesSortedForEventWithLimitAndOffset(t *testing.T) { - expTimeRoutes := time.Now().Add(20 * time.Minute) - var routeService *RouteService - sppTest := RouteProfiles{ - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile1", - FilterIDs: []string{"FLTR_RPP_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile2", - FilterIDs: []string{"FLTR_SUPP_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route2", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 20.0, - RouteParameters: "param2", - }, - { - ID: "route3", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - RouteParameters: "param3", - }, - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 30.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 20.0, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfilePrefix", - FilterIDs: []string{"FLTR_SUPP_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - } - argsGetRoutes := []*ArgsGetRoutes{ - { //matching RouteProfile1 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfile2 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfilePrefix - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfilePrefix", - }, - }, - }, - { //matching - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "CGR", - Event: map[string]interface{}{ - "UsageInterval": "1s", - "PddInterval": "1s", - }, - }, - }, - } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - routeService = NewRouteService(dmSPP, &FilterS{ - dm: dmSPP, cfg: defaultCfg}, defaultCfg, nil) - - fltrSupp1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_RPP_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp1, true) - fltrSupp2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp2, true) - fltrSupp3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Route", - Values: []string{"RouteProfilePrefix"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp3, true) - - for _, spp := range sppTest { - if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each route profile from cache - for _, spp := range sppTest { - if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, - spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(spp, tempSpp) { - t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) - } - } + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + routeService := NewRouteService(dmSPP, &FilterS{ + dm: dmSPP, cfg: cfg}, cfg, nil) + prepareRoutesData(t, dmSPP) eFirstRouteProfile := SortedRoutesList{&SortedRoutes{ ProfileID: "RouteProfile2", @@ -1657,13 +543,15 @@ func TestRoutesSortedForEventWithLimitAndOffset(t *testing.T) { }, }, }} - argsGetRoutes[1].Paginator = utils.Paginator{ - Limit: utils.IntPointer(1), - Offset: utils.IntPointer(1), - } - sprf, err := routeService.sortedRoutesForEvent(argsGetRoutes[1].Tenant, argsGetRoutes[1]) + sprf, err := routeService.sortedRoutesForEvent("cgrates.org", &ArgsGetRoutes{ + CGREvent: testRoutesArgs[1].CGREvent, + Paginator: utils.Paginator{ + Limit: utils.IntPointer(1), + Offset: utils.IntPointer(1), + }, + }) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if !reflect.DeepEqual(eFirstRouteProfile, sprf) { t.Errorf("Expecting: %+v,received: %+v", utils.ToJSON(eFirstRouteProfile), utils.ToJSON(sprf)) @@ -1681,7 +569,7 @@ func TestRoutesAsOptsGetRoutes(t *testing.T) { } sprf, err := s.asOptsGetRoutes() if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if !reflect.DeepEqual(spl, sprf) { t.Errorf("Expecting: %+v,received: %+v", spl, sprf) @@ -1697,7 +585,7 @@ func TestRoutesAsOptsGetRoutesIgnoreErrors(t *testing.T) { } sprf, err := s.asOptsGetRoutes() if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if !reflect.DeepEqual(spl, sprf) { t.Errorf("Expecting: %+v,received: %+v", spl, sprf) @@ -1705,516 +593,81 @@ func TestRoutesAsOptsGetRoutesIgnoreErrors(t *testing.T) { } func TestRoutesAsOptsGetRoutesMaxCost(t *testing.T) { - expTimeRoutes := time.Now().Add(20 * time.Minute) - var routeService *RouteService - sppTest := RouteProfiles{ - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile1", - FilterIDs: []string{"FLTR_RPP_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile2", - FilterIDs: []string{"FLTR_SUPP_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route2", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 20.0, - RouteParameters: "param2", - }, - { - ID: "route3", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - RouteParameters: "param3", - }, - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 30.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 20.0, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfilePrefix", - FilterIDs: []string{"FLTR_SUPP_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - } - argsGetRoutes := []*ArgsGetRoutes{ - { //matching RouteProfile1 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfile2 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfilePrefix - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfilePrefix", - }, - }, - }, - { //matching - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "CGR", - Event: map[string]interface{}{ - "UsageInterval": "1s", - "PddInterval": "1s", - }, - }, - }, - } - - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - routeService = NewRouteService(dmSPP, &FilterS{ - dm: dmSPP, cfg: defaultCfg}, defaultCfg, nil) + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + routeService := NewRouteService(dmSPP, &FilterS{ + dm: dmSPP, cfg: cfg}, cfg, nil) - fltrSupp1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_RPP_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp1, true) - fltrSupp2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp2, true) - fltrSupp3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Route", - Values: []string{"RouteProfilePrefix"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp3, true) - - for _, spp := range sppTest { - if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each route profile from cache - for _, spp := range sppTest { - if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, - spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(spp, tempSpp) { - t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) - } - } + prepareRoutesData(t, dmSPP) routeService.cgrcfg.RouteSCfg().IndexedSelects = false - sprf, err := routeService.matchingRouteProfilesForEvent(argsGetRoutes[0].Tenant, argsGetRoutes[0].CGREvent) + sprf, err := routeService.matchingRouteProfilesForEvent("cgrates.org", testRoutesArgs[0].CGREvent) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(sppTest[0], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[0], sprf[0]) + if !reflect.DeepEqual(testRoutesPrfs[0], sprf[0]) { + t.Errorf("Expecting: %+v, received: %+v", testRoutesPrfs[0], sprf[0]) } - sprf, err = routeService.matchingRouteProfilesForEvent(argsGetRoutes[1].Tenant, argsGetRoutes[1].CGREvent) + sprf, err = routeService.matchingRouteProfilesForEvent("cgrates.org", testRoutesArgs[1].CGREvent) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(sppTest[1], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[1], sprf[0]) + if !reflect.DeepEqual(testRoutesPrfs[1], sprf[0]) { + t.Errorf("Expecting: %+v, received: %+v", testRoutesPrfs[1], sprf[0]) } - sprf, err = routeService.matchingRouteProfilesForEvent(argsGetRoutes[2].Tenant, argsGetRoutes[2].CGREvent) + sprf, err = routeService.matchingRouteProfilesForEvent("cgrates.org", testRoutesArgs[2].CGREvent) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(sppTest[2], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[2], sprf[0]) + if !reflect.DeepEqual(testRoutesPrfs[2], sprf[0]) { + t.Errorf("Expecting: %+v, received: %+v", testRoutesPrfs[2], sprf[0]) } } func TestRoutesMatchWithIndexFalse(t *testing.T) { - expTimeRoutes := time.Now().Add(20 * time.Minute) - var routeService *RouteService - sppTest := RouteProfiles{ - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile1", - FilterIDs: []string{"FLTR_RPP_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfile2", - FilterIDs: []string{"FLTR_SUPP_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route2", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 20.0, - RouteParameters: "param2", - }, - { - ID: "route3", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - RouteParameters: "param3", - }, - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 30.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 20.0, - }, - &RouteProfile{ - Tenant: "cgrates.org", - ID: "RouteProfilePrefix", - FilterIDs: []string{"FLTR_SUPP_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - ExpiryTime: expTimeRoutes, - }, - Sorting: utils.MetaWeight, - SortingParameters: []string{}, - Routes: []*Route{ - { - ID: "route1", - FilterIDs: []string{}, - AccountIDs: []string{}, - RatingPlanIDs: []string{}, - ResourceIDs: []string{}, - StatIDs: []string{}, - Weight: 10.0, - Blocker: false, - RouteParameters: "param1", - }, - }, - Weight: 10, - }, - } - argsGetRoutes := []*ArgsGetRoutes{ - { //matching RouteProfile1 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfile2 - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - utils.Weight: "20.0", - }, - }, - }, - { //matching RouteProfilePrefix - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "utils.CGREvent1", - Event: map[string]interface{}{ - "Route": "RouteProfilePrefix", - }, - }, - }, - { //matching - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "CGR", - Event: map[string]interface{}{ - "UsageInterval": "1s", - "PddInterval": "1s", - }, - }, - }, - } - - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - routeService = NewRouteService(dmSPP, &FilterS{ - dm: dmSPP, cfg: defaultCfg}, defaultCfg, nil) - - fltrSupp1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_RPP_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp1, true) - fltrSupp2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Route", - Values: []string{"RouteProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp2, true) - fltrSupp3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_SUPP_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Route", - Values: []string{"RouteProfilePrefix"}, - }, - }, - } - dmSPP.SetFilter(fltrSupp3, true) - - for _, spp := range sppTest { - if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each route profile from cache - for _, spp := range sppTest { - if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, - spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(spp, tempSpp) { - t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) - } - } + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + routeService := NewRouteService(dmSPP, &FilterS{ + dm: dmSPP, cfg: cfg}, cfg, nil) + prepareRoutesData(t, dmSPP) routeService.cgrcfg.RouteSCfg().IndexedSelects = false - sprf, err := routeService.matchingRouteProfilesForEvent(argsGetRoutes[0].Tenant, argsGetRoutes[0].CGREvent) + sprf, err := routeService.matchingRouteProfilesForEvent("cgrates.org", testRoutesArgs[0].CGREvent) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(sppTest[0], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[0], sprf[0]) + if !reflect.DeepEqual(testRoutesPrfs[0], sprf[0]) { + t.Errorf("Expecting: %+v, received: %+v", testRoutesPrfs[0], sprf[0]) } - sprf, err = routeService.matchingRouteProfilesForEvent(argsGetRoutes[1].Tenant, argsGetRoutes[1].CGREvent) + sprf, err = routeService.matchingRouteProfilesForEvent("cgrates.org", testRoutesArgs[1].CGREvent) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(sppTest[1], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[1], sprf[0]) + if !reflect.DeepEqual(testRoutesPrfs[1], sprf[0]) { + t.Errorf("Expecting: %+v, received: %+v", testRoutesPrfs[1], sprf[0]) } - sprf, err = routeService.matchingRouteProfilesForEvent(argsGetRoutes[2].Tenant, argsGetRoutes[2].CGREvent) + sprf, err = routeService.matchingRouteProfilesForEvent("cgrates.org", testRoutesArgs[2].CGREvent) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } - if !reflect.DeepEqual(sppTest[2], sprf[0]) { - t.Errorf("Expecting: %+v, received: %+v", sppTest[2], sprf[0]) + if !reflect.DeepEqual(testRoutesPrfs[2], sprf[0]) { + t.Errorf("Expecting: %+v, received: %+v", testRoutesPrfs[2], sprf[0]) } } func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { - var routeService *RouteService - sppTest := RouteProfiles{ + Cache.Clear(nil) + testRoutesPrfs := RouteProfiles{ &RouteProfile{ Tenant: "cgrates.org", ID: "RouteProfile1", @@ -2287,21 +740,21 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { }, } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.RouteSCfg().StringIndexedFields = nil - defaultCfg.RouteSCfg().PrefixIndexedFields = nil - routeService = NewRouteService(dmSPP, &FilterS{ - dm: dmSPP, cfg: defaultCfg}, defaultCfg, nil) + cfg.RouteSCfg().StringIndexedFields = nil + cfg.RouteSCfg().PrefixIndexedFields = nil + routeService := NewRouteService(dmSPP, &FilterS{ + dm: dmSPP, cfg: cfg}, cfg, nil) - for _, spp := range sppTest { + for _, spp := range testRoutesPrfs { if err = dmSPP.SetRouteProfile(spp, true); err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if tempSpp, err := dmSPP.GetRouteProfile(spp.Tenant, spp.ID, true, true, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } else if !reflect.DeepEqual(spp, tempSpp) { t.Errorf("Expecting: %+v, received: %+v", spp, tempSpp) } @@ -2347,7 +800,7 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { } sprf, err := routeService.sortedRoutesForEvent(argsGetRoutes.Tenant, argsGetRoutes) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if !reflect.DeepEqual(eFirstRouteProfile, sprf) { t.Errorf("Expecting: %+v,received: %+v", utils.ToJSON(eFirstRouteProfile), utils.ToJSON(sprf)) diff --git a/engine/stats_test.go b/engine/stats_test.go index e4f7e4941..d87fc2a8e 100644 --- a/engine/stats_test.go +++ b/engine/stats_test.go @@ -33,962 +33,373 @@ import ( "github.com/cgrates/rpcclient" ) -func TestNewStatService(t *testing.T) { - testIntDB := NewInternalDB(nil, nil, true) - testDM := NewDataManager(testIntDB, config.CgrConfig().CacheCfg(), nil) - testCgrCfg := config.NewDefaultCGRConfig() - testFltrS := &FilterS{dm: testDM, cfg: testCgrCfg} - expStruct := &StatService{ - dm: testDM, - filterS: testFltrS, - cgrcfg: testCgrCfg, - storedStatQueues: make(utils.StringSet), +var ( + testStatsPrfs = []*StatQueueProfile{ + { + Tenant: "cgrates.org", + ID: "StatQueueProfile1", + FilterIDs: []string{"FLTR_STATS_1"}, + ActivationInterval: &utils.ActivationInterval{ + ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), + }, + QueueLength: 10, + TTL: 10 * time.Second, + Metrics: []*MetricWithFilters{ + { + MetricID: "*sum#Usage", + }, + }, + ThresholdIDs: []string{}, + Blocker: false, + Stored: true, + Weight: 20, + MinItems: 1, + }, + { + Tenant: "cgrates.org", + ID: "StatQueueProfile2", + FilterIDs: []string{"FLTR_STATS_2"}, + ActivationInterval: &utils.ActivationInterval{ + ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), + }, + QueueLength: 10, + TTL: 10 * time.Second, + Metrics: []*MetricWithFilters{ + { + MetricID: "*sum#Usage", + }, + }, + ThresholdIDs: []string{}, + Blocker: false, + Stored: true, + Weight: 20, + MinItems: 1, + }, + { + Tenant: "cgrates.org", + ID: "StatQueueProfilePrefix", + FilterIDs: []string{"FLTR_STATS_3"}, + ActivationInterval: &utils.ActivationInterval{ + ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), + }, + QueueLength: 10, + TTL: 10 * time.Second, + Metrics: []*MetricWithFilters{ + { + MetricID: "*sum#Usage", + }, + }, + ThresholdIDs: []string{}, + Blocker: false, + Stored: true, + Weight: 20, + MinItems: 1, + }, } - result := NewStatService(testDM, testCgrCfg, testFltrS, nil) - if !reflect.DeepEqual(expStruct.dm, result.dm) { - t.Errorf("\nExpecting <%+v>,\n Received <%+v>", expStruct.dm, result.dm) + testStatsQ = []*StatQueue{ + {Tenant: "cgrates.org", ID: "StatQueueProfile1", sqPrfl: testStatsPrfs[0], SQMetrics: make(map[string]StatMetric)}, + {Tenant: "cgrates.org", ID: "StatQueueProfile2", sqPrfl: testStatsPrfs[1], SQMetrics: make(map[string]StatMetric)}, + {Tenant: "cgrates.org", ID: "StatQueueProfilePrefix", sqPrfl: testStatsPrfs[2], SQMetrics: make(map[string]StatMetric)}, } - if !reflect.DeepEqual(expStruct.filterS, result.filterS) { - t.Errorf("\nExpecting <%+v>,\n Received <%+v>", expStruct.filterS, result.filterS) + testStatsArgs = []*StatsArgsProcessEvent{ + { + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "event1", + Event: map[string]interface{}{ + "Stats": "StatQueueProfile1", + utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), + "UsageInterval": "1s", + "PddInterval": "1s", + "Weight": "9.0", + utils.Usage: 135 * time.Second, + utils.Cost: 123.0, + }, + }, + }, + { + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "event2", + Event: map[string]interface{}{ + "Stats": "StatQueueProfile2", + utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), + "UsageInterval": "1s", + "PddInterval": "1s", + "Weight": "15.0", + utils.Usage: 45 * time.Second, + }, + }, + }, + { + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "event3", + Event: map[string]interface{}{ + "Stats": "StatQueueProfilePrefix", + utils.Usage: 30 * time.Second, + }, + }, + }, } - if !reflect.DeepEqual(expStruct.cgrcfg, result.cgrcfg) { - t.Errorf("\nExpecting <%+v>,\n Received <%+v>", expStruct.cgrcfg, result.cgrcfg) +) + +func prepareStatsData(t *testing.T, dm *DataManager) { + if err := dm.SetFilter(&Filter{ + Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, + ID: "FLTR_STATS_1", + Rules: []*FilterRule{ + { + Type: utils.MetaString, + Element: "~*req.Stats", + Values: []string{"StatQueueProfile1"}, + }, + { + Type: utils.MetaGreaterOrEqual, + Element: "~*req.UsageInterval", + Values: []string{(time.Second).String()}, + }, + { + Type: utils.MetaGreaterOrEqual, + Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, + Values: []string{(time.Second).String()}, + }, + { + Type: utils.MetaGreaterOrEqual, + Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, + Values: []string{"9.0"}, + }, + }, + }, true); err != nil { + t.Fatal(err) } - if !reflect.DeepEqual(expStruct.storedStatQueues, expStruct.storedStatQueues) { - t.Errorf("\nExpecting <%+v>,\n Received <%+v>", expStruct.storedStatQueues, expStruct.storedStatQueues) + if err := dm.SetFilter(&Filter{ + Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, + ID: "FLTR_STATS_2", + Rules: []*FilterRule{ + { + Type: utils.MetaString, + Element: "~*req.Stats", + Values: []string{"StatQueueProfile2"}, + }, + { + Type: utils.MetaGreaterOrEqual, + Element: "~*req.PddInterval", + Values: []string{(time.Second).String()}, + }, + { + Type: utils.MetaGreaterOrEqual, + Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, + Values: []string{(time.Second).String()}, + }, + { + Type: utils.MetaGreaterOrEqual, + Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, + Values: []string{"15.0"}, + }, + }, + }, true); err != nil { + t.Fatal(err) + } + if err := dm.SetFilter(&Filter{ + Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, + ID: "FLTR_STATS_3", + Rules: []*FilterRule{ + { + Type: utils.MetaPrefix, + Element: "~*req.Stats", + Values: []string{"StatQueueProfilePrefix"}, + }, + }, + }, true); err != nil { + t.Fatal(err) + } + for _, statQueueProfile := range testStatsPrfs { + dm.SetStatQueueProfile(statQueueProfile, true) + } + for _, statQueue := range testStatsQ { + dm.SetStatQueue(statQueue) + } + //Test each statQueueProfile from cache + for _, sqp := range testStatsPrfs { + if tempStat, err := dm.GetStatQueueProfile(sqp.Tenant, + sqp.ID, true, false, utils.NonTransactional); err != nil { + t.Errorf("Error: %+v", err) + } else if !reflect.DeepEqual(sqp, tempStat) { + t.Errorf("Expecting: %+v, received: %+v", sqp, tempStat) + } } } func TestMatchingStatQueuesForEvent(t *testing.T) { - var statService *StatService - var dmSTS *DataManager - sqps := []*StatQueueProfile{ - { - Tenant: "cgrates.org", - ID: "StatQueueProfile1", - FilterIDs: []string{"FLTR_STATS_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - { - Tenant: "cgrates.org", - ID: "StatQueueProfile2", - FilterIDs: []string{"FLTR_STATS_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - { - Tenant: "cgrates.org", - ID: "StatQueueProfilePrefix", - FilterIDs: []string{"FLTR_STATS_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - } - stqs := []*StatQueue{ - {Tenant: "cgrates.org", ID: "StatQueueProfile1", sqPrfl: sqps[0], SQMetrics: make(map[string]StatMetric)}, - {Tenant: "cgrates.org", ID: "StatQueueProfile2", sqPrfl: sqps[1], SQMetrics: make(map[string]StatMetric)}, - {Tenant: "cgrates.org", ID: "StatQueueProfilePrefix", sqPrfl: sqps[2], SQMetrics: make(map[string]StatMetric)}, - } - statsEvs := []*StatsArgsProcessEvent{ - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event1", - Event: map[string]interface{}{ - "Stats": "StatQueueProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - "Weight": "9.0", - utils.Usage: 135 * time.Second, - utils.Cost: 123.0, - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event2", - Event: map[string]interface{}{ - "Stats": "StatQueueProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - "Weight": "15.0", - utils.Usage: 45 * time.Second, - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event3", - Event: map[string]interface{}{ - "Stats": "StatQueueProfilePrefix", - utils.Usage: 30 * time.Second, - }, - }, - }, - } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmSTS = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + cfg.StatSCfg().StoreInterval = 1 + cfg.StatSCfg().StringIndexedFields = nil + cfg.StatSCfg().PrefixIndexedFields = nil + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dmSTS := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + statService := NewStatService(dmSTS, cfg, + &FilterS{dm: dmSTS, cfg: cfg}, nil) + prepareStatsData(t, dmSTS) - defaultCfg.StatSCfg().StoreInterval = 1 - defaultCfg.StatSCfg().StringIndexedFields = nil - defaultCfg.StatSCfg().PrefixIndexedFields = nil - statService = NewStatService(dmSTS, defaultCfg, - &FilterS{dm: dmSTS, cfg: defaultCfg}, nil) - - fltrSts1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Stats", - Values: []string{"StatQueueProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSTS.SetFilter(fltrSts1, true) - fltrSts2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Stats", - Values: []string{"StatQueueProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSTS.SetFilter(fltrSts2, true) - fltrSts3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Stats", - Values: []string{"StatQueueProfilePrefix"}, - }, - }, - } - dmSTS.SetFilter(fltrSts3, true) - for _, statQueueProfile := range sqps { - dmSTS.SetStatQueueProfile(statQueueProfile, true) - } - for _, statQueue := range stqs { - dmSTS.SetStatQueue(statQueue) - } - //Test each statQueueProfile from cache - for _, sqp := range sqps { - if tempStat, err := dmSTS.GetStatQueueProfile(sqp.Tenant, - sqp.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(sqp, tempStat) { - t.Errorf("Expecting: %+v, received: %+v", sqp, tempStat) - } - } - msq, err := statService.matchingStatQueuesForEvent(statsEvs[0].Tenant, statsEvs[0].StatIDs, statsEvs[0].Time, - utils.MapStorage{utils.MetaReq: statsEvs[0].Event, utils.MetaOpts: statsEvs[0].APIOpts}) + msq, err := statService.matchingStatQueuesForEvent(testStatsArgs[0].Tenant, testStatsArgs[0].StatIDs, testStatsArgs[0].Time, + utils.MapStorage{utils.MetaReq: testStatsArgs[0].Event, utils.MetaOpts: testStatsArgs[0].APIOpts}) if err != nil { t.Errorf("Error: %+v", err) } msq.unlock() - if !reflect.DeepEqual(stqs[0].Tenant, msq[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", stqs[0].Tenant, msq[0].Tenant) - } else if !reflect.DeepEqual(stqs[0].ID, msq[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", stqs[0].ID, msq[0].ID) - } else if !reflect.DeepEqual(stqs[0].sqPrfl, msq[0].sqPrfl) { - t.Errorf("Expecting: %+v, received: %+v", stqs[0].sqPrfl, msq[0].sqPrfl) + if !reflect.DeepEqual(testStatsQ[0].Tenant, msq[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[0].Tenant, msq[0].Tenant) + } else if !reflect.DeepEqual(testStatsQ[0].ID, msq[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[0].ID, msq[0].ID) + } else if !reflect.DeepEqual(testStatsQ[0].sqPrfl, msq[0].sqPrfl) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[0].sqPrfl, msq[0].sqPrfl) } - msq, err = statService.matchingStatQueuesForEvent(statsEvs[1].Tenant, statsEvs[1].StatIDs, statsEvs[1].Time, - utils.MapStorage{utils.MetaReq: statsEvs[1].Event, utils.MetaOpts: statsEvs[1].APIOpts}) + msq, err = statService.matchingStatQueuesForEvent(testStatsArgs[1].Tenant, testStatsArgs[1].StatIDs, testStatsArgs[1].Time, + utils.MapStorage{utils.MetaReq: testStatsArgs[1].Event, utils.MetaOpts: testStatsArgs[1].APIOpts}) if err != nil { t.Errorf("Error: %+v", err) } msq.unlock() - if !reflect.DeepEqual(stqs[1].Tenant, msq[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", stqs[1].Tenant, msq[0].Tenant) - } else if !reflect.DeepEqual(stqs[1].ID, msq[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", stqs[1].ID, msq[0].ID) - } else if !reflect.DeepEqual(stqs[1].sqPrfl, msq[0].sqPrfl) { - t.Errorf("Expecting: %+v, received: %+v", stqs[1].sqPrfl, msq[0].sqPrfl) + if !reflect.DeepEqual(testStatsQ[1].Tenant, msq[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[1].Tenant, msq[0].Tenant) + } else if !reflect.DeepEqual(testStatsQ[1].ID, msq[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[1].ID, msq[0].ID) + } else if !reflect.DeepEqual(testStatsQ[1].sqPrfl, msq[0].sqPrfl) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[1].sqPrfl, msq[0].sqPrfl) } - msq, err = statService.matchingStatQueuesForEvent(statsEvs[2].Tenant, statsEvs[2].StatIDs, statsEvs[2].Time, - utils.MapStorage{utils.MetaReq: statsEvs[2].Event, utils.MetaOpts: statsEvs[2].APIOpts}) + msq, err = statService.matchingStatQueuesForEvent(testStatsArgs[2].Tenant, testStatsArgs[2].StatIDs, testStatsArgs[2].Time, + utils.MapStorage{utils.MetaReq: testStatsArgs[2].Event, utils.MetaOpts: testStatsArgs[2].APIOpts}) if err != nil { t.Errorf("Error: %+v", err) } msq.unlock() - if !reflect.DeepEqual(stqs[2].Tenant, msq[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", stqs[2].Tenant, msq[0].Tenant) - } else if !reflect.DeepEqual(stqs[2].ID, msq[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", stqs[2].ID, msq[0].ID) - } else if !reflect.DeepEqual(stqs[2].sqPrfl, msq[0].sqPrfl) { - t.Errorf("Expecting: %+v, received: %+v", stqs[2].sqPrfl, msq[0].sqPrfl) + if !reflect.DeepEqual(testStatsQ[2].Tenant, msq[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[2].Tenant, msq[0].Tenant) + } else if !reflect.DeepEqual(testStatsQ[2].ID, msq[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[2].ID, msq[0].ID) + } else if !reflect.DeepEqual(testStatsQ[2].sqPrfl, msq[0].sqPrfl) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[2].sqPrfl, msq[0].sqPrfl) } } func TestStatQueuesProcessEvent(t *testing.T) { - var statService *StatService - var dmSTS *DataManager - sqps := []*StatQueueProfile{ - { - Tenant: "cgrates.org", - ID: "StatQueueProfile1", - FilterIDs: []string{"FLTR_STATS_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - { - Tenant: "cgrates.org", - ID: "StatQueueProfile2", - FilterIDs: []string{"FLTR_STATS_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - { - Tenant: "cgrates.org", - ID: "StatQueueProfilePrefix", - FilterIDs: []string{"FLTR_STATS_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - } - stqs := []*StatQueue{ - {Tenant: "cgrates.org", ID: "StatQueueProfile1", sqPrfl: sqps[0], SQMetrics: make(map[string]StatMetric)}, - {Tenant: "cgrates.org", ID: "StatQueueProfile2", sqPrfl: sqps[1], SQMetrics: make(map[string]StatMetric)}, - {Tenant: "cgrates.org", ID: "StatQueueProfilePrefix", sqPrfl: sqps[2], SQMetrics: make(map[string]StatMetric)}, - } - statsEvs := []*StatsArgsProcessEvent{ - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event1", - Event: map[string]interface{}{ - "Stats": "StatQueueProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - "Weight": "9.0", - utils.Usage: 135 * time.Second, - utils.Cost: 123.0, - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event2", - Event: map[string]interface{}{ - "Stats": "StatQueueProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - "Weight": "15.0", - utils.Usage: 45 * time.Second, - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event3", - Event: map[string]interface{}{ - "Stats": "StatQueueProfilePrefix", - utils.Usage: 30 * time.Second, - }, - }, - }, - } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmSTS = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - - defaultCfg.StatSCfg().StoreInterval = 1 - defaultCfg.StatSCfg().StringIndexedFields = nil - defaultCfg.StatSCfg().PrefixIndexedFields = nil - statService = NewStatService(dmSTS, defaultCfg, - &FilterS{dm: dmSTS, cfg: defaultCfg}, nil) - - fltrSts1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Stats", - Values: []string{"StatQueueProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSTS.SetFilter(fltrSts1, true) - fltrSts2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Stats", - Values: []string{"StatQueueProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSTS.SetFilter(fltrSts2, true) - fltrSts3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Stats", - Values: []string{"StatQueueProfilePrefix"}, - }, - }, - } - dmSTS.SetFilter(fltrSts3, true) - for _, statQueueProfile := range sqps { - dmSTS.SetStatQueueProfile(statQueueProfile, true) - } - for _, statQueue := range stqs { - dmSTS.SetStatQueue(statQueue) - } - //Test each statQueueProfile from cache - for _, sqp := range sqps { - if tempStat, err := dmSTS.GetStatQueueProfile(sqp.Tenant, - sqp.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(sqp, tempStat) { - t.Errorf("Expecting: %+v, received: %+v", sqp, tempStat) - } - } + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + cfg.StatSCfg().StoreInterval = 1 + cfg.StatSCfg().StringIndexedFields = nil + cfg.StatSCfg().PrefixIndexedFields = nil + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dmSTS := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + statService := NewStatService(dmSTS, cfg, + &FilterS{dm: dmSTS, cfg: cfg}, nil) + prepareStatsData(t, dmSTS) stq := map[string]string{} reply := []string{} expected := []string{"StatQueueProfile1"} - err := statService.V1ProcessEvent(statsEvs[0], &reply) + err := statService.V1ProcessEvent(testStatsArgs[0], &reply) if err != nil { t.Errorf("Error: %+v", err) } else if !reflect.DeepEqual(reply, expected) { t.Errorf("Expecting: %+v, received: %+v", expected, reply) } - err = statService.V1GetQueueStringMetrics(&utils.TenantID{Tenant: stqs[0].Tenant, ID: stqs[0].ID}, &stq) + err = statService.V1GetQueueStringMetrics(&utils.TenantID{Tenant: testStatsQ[0].Tenant, ID: testStatsQ[0].ID}, &stq) if err != nil { t.Errorf("Error: %+v", err) } expected = []string{"StatQueueProfile2"} - err = statService.V1ProcessEvent(statsEvs[1], &reply) + err = statService.V1ProcessEvent(testStatsArgs[1], &reply) if err != nil { t.Errorf("Error: %+v", err) } else if !reflect.DeepEqual(reply, expected) { t.Errorf("Expecting: %+v, received: %+v", expected, reply) } - err = statService.V1GetQueueStringMetrics(&utils.TenantID{Tenant: stqs[1].Tenant, ID: stqs[1].ID}, &stq) + err = statService.V1GetQueueStringMetrics(&utils.TenantID{Tenant: testStatsQ[1].Tenant, ID: testStatsQ[1].ID}, &stq) if err != nil { t.Errorf("Error: %+v", err) } expected = []string{"StatQueueProfilePrefix"} - err = statService.V1ProcessEvent(statsEvs[2], &reply) + err = statService.V1ProcessEvent(testStatsArgs[2], &reply) if err != nil { t.Errorf("Error: %+v", err) } else if !reflect.DeepEqual(reply, expected) { t.Errorf("Expecting: %+v, received: %+v", expected, reply) } - err = statService.V1GetQueueStringMetrics(&utils.TenantID{Tenant: stqs[2].Tenant, ID: stqs[2].ID}, &stq) + err = statService.V1GetQueueStringMetrics(&utils.TenantID{Tenant: testStatsQ[2].Tenant, ID: testStatsQ[2].ID}, &stq) if err != nil { t.Errorf("Error: %+v", err) } } func TestStatQueuesMatchWithIndexFalse(t *testing.T) { - var statService *StatService - var dmSTS *DataManager - sqps := []*StatQueueProfile{ - { - Tenant: "cgrates.org", - ID: "StatQueueProfile1", - FilterIDs: []string{"FLTR_STATS_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - { - Tenant: "cgrates.org", - ID: "StatQueueProfile2", - FilterIDs: []string{"FLTR_STATS_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - { - Tenant: "cgrates.org", - ID: "StatQueueProfilePrefix", - FilterIDs: []string{"FLTR_STATS_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - } - stqs := []*StatQueue{ - {Tenant: "cgrates.org", ID: "StatQueueProfile1", sqPrfl: sqps[0], SQMetrics: make(map[string]StatMetric)}, - {Tenant: "cgrates.org", ID: "StatQueueProfile2", sqPrfl: sqps[1], SQMetrics: make(map[string]StatMetric)}, - {Tenant: "cgrates.org", ID: "StatQueueProfilePrefix", sqPrfl: sqps[2], SQMetrics: make(map[string]StatMetric)}, - } - statsEvs := []*StatsArgsProcessEvent{ - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event1", - Event: map[string]interface{}{ - "Stats": "StatQueueProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - "Weight": "9.0", - utils.Usage: 135 * time.Second, - utils.Cost: 123.0, - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event2", - Event: map[string]interface{}{ - "Stats": "StatQueueProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - "Weight": "15.0", - utils.Usage: 45 * time.Second, - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event3", - Event: map[string]interface{}{ - "Stats": "StatQueueProfilePrefix", - utils.Usage: 30 * time.Second, - }, - }, - }, - } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmSTS = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + cfg.StatSCfg().StoreInterval = 1 + cfg.StatSCfg().StringIndexedFields = nil + cfg.StatSCfg().PrefixIndexedFields = nil + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dmSTS := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + statService := NewStatService(dmSTS, cfg, + &FilterS{dm: dmSTS, cfg: cfg}, nil) + prepareStatsData(t, dmSTS) - defaultCfg.StatSCfg().StoreInterval = 1 - defaultCfg.StatSCfg().StringIndexedFields = nil - defaultCfg.StatSCfg().PrefixIndexedFields = nil - statService = NewStatService(dmSTS, defaultCfg, - &FilterS{dm: dmSTS, cfg: defaultCfg}, nil) - - fltrSts1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Stats", - Values: []string{"StatQueueProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSTS.SetFilter(fltrSts1, true) - fltrSts2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Stats", - Values: []string{"StatQueueProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSTS.SetFilter(fltrSts2, true) - fltrSts3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Stats", - Values: []string{"StatQueueProfilePrefix"}, - }, - }, - } - dmSTS.SetFilter(fltrSts3, true) - for _, statQueueProfile := range sqps { - dmSTS.SetStatQueueProfile(statQueueProfile, true) - } - for _, statQueue := range stqs { - dmSTS.SetStatQueue(statQueue) - } - //Test each statQueueProfile from cache - for _, sqp := range sqps { - if tempStat, err := dmSTS.GetStatQueueProfile(sqp.Tenant, - sqp.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(sqp, tempStat) { - t.Errorf("Expecting: %+v, received: %+v", sqp, tempStat) - } - } statService.cgrcfg.StatSCfg().IndexedSelects = false - msq, err := statService.matchingStatQueuesForEvent(statsEvs[0].Tenant, statsEvs[0].StatIDs, statsEvs[0].Time, - utils.MapStorage{utils.MetaReq: statsEvs[0].Event, utils.MetaOpts: statsEvs[0].APIOpts}) + msq, err := statService.matchingStatQueuesForEvent(testStatsArgs[0].Tenant, testStatsArgs[0].StatIDs, testStatsArgs[0].Time, + utils.MapStorage{utils.MetaReq: testStatsArgs[0].Event, utils.MetaOpts: testStatsArgs[0].APIOpts}) if err != nil { t.Errorf("Error: %+v", err) } msq.unlock() - if !reflect.DeepEqual(stqs[0].Tenant, msq[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", stqs[0].Tenant, msq[0].Tenant) - } else if !reflect.DeepEqual(stqs[0].ID, msq[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", stqs[0].ID, msq[0].ID) - } else if !reflect.DeepEqual(stqs[0].sqPrfl, msq[0].sqPrfl) { - t.Errorf("Expecting: %+v, received: %+v", stqs[0].sqPrfl, msq[0].sqPrfl) + if !reflect.DeepEqual(testStatsQ[0].Tenant, msq[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[0].Tenant, msq[0].Tenant) + } else if !reflect.DeepEqual(testStatsQ[0].ID, msq[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[0].ID, msq[0].ID) + } else if !reflect.DeepEqual(testStatsQ[0].sqPrfl, msq[0].sqPrfl) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[0].sqPrfl, msq[0].sqPrfl) } - msq, err = statService.matchingStatQueuesForEvent(statsEvs[1].Tenant, statsEvs[1].StatIDs, statsEvs[1].Time, - utils.MapStorage{utils.MetaReq: statsEvs[1].Event, utils.MetaOpts: statsEvs[1].APIOpts}) + msq, err = statService.matchingStatQueuesForEvent(testStatsArgs[1].Tenant, testStatsArgs[1].StatIDs, testStatsArgs[1].Time, + utils.MapStorage{utils.MetaReq: testStatsArgs[1].Event, utils.MetaOpts: testStatsArgs[1].APIOpts}) if err != nil { t.Errorf("Error: %+v", err) } msq.unlock() - if !reflect.DeepEqual(stqs[1].Tenant, msq[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", stqs[1].Tenant, msq[0].Tenant) - } else if !reflect.DeepEqual(stqs[1].ID, msq[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", stqs[1].ID, msq[0].ID) - } else if !reflect.DeepEqual(stqs[1].sqPrfl, msq[0].sqPrfl) { - t.Errorf("Expecting: %+v, received: %+v", stqs[1].sqPrfl, msq[0].sqPrfl) + if !reflect.DeepEqual(testStatsQ[1].Tenant, msq[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[1].Tenant, msq[0].Tenant) + } else if !reflect.DeepEqual(testStatsQ[1].ID, msq[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[1].ID, msq[0].ID) + } else if !reflect.DeepEqual(testStatsQ[1].sqPrfl, msq[0].sqPrfl) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[1].sqPrfl, msq[0].sqPrfl) } - msq, err = statService.matchingStatQueuesForEvent(statsEvs[2].Tenant, statsEvs[2].StatIDs, statsEvs[2].Time, - utils.MapStorage{utils.MetaReq: statsEvs[2].Event, utils.MetaOpts: statsEvs[2].APIOpts}) + msq, err = statService.matchingStatQueuesForEvent(testStatsArgs[2].Tenant, testStatsArgs[2].StatIDs, testStatsArgs[2].Time, + utils.MapStorage{utils.MetaReq: testStatsArgs[2].Event, utils.MetaOpts: testStatsArgs[2].APIOpts}) if err != nil { t.Errorf("Error: %+v", err) } msq.unlock() - if !reflect.DeepEqual(stqs[2].Tenant, msq[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", stqs[2].Tenant, msq[0].Tenant) - } else if !reflect.DeepEqual(stqs[2].ID, msq[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", stqs[2].ID, msq[0].ID) - } else if !reflect.DeepEqual(stqs[2].sqPrfl, msq[0].sqPrfl) { - t.Errorf("Expecting: %+v, received: %+v", stqs[2].sqPrfl, msq[0].sqPrfl) + if !reflect.DeepEqual(testStatsQ[2].Tenant, msq[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[2].Tenant, msq[0].Tenant) + } else if !reflect.DeepEqual(testStatsQ[2].ID, msq[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[2].ID, msq[0].ID) + } else if !reflect.DeepEqual(testStatsQ[2].sqPrfl, msq[0].sqPrfl) { + t.Errorf("Expecting: %+v, received: %+v", testStatsQ[2].sqPrfl, msq[0].sqPrfl) } } func TestStatQueuesV1ProcessEvent(t *testing.T) { - var statService *StatService - var dmSTS *DataManager - sqps := []*StatQueueProfile{ - { - Tenant: "cgrates.org", - ID: "StatQueueProfile1", - FilterIDs: []string{"FLTR_STATS_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - { - Tenant: "cgrates.org", - ID: "StatQueueProfile2", - FilterIDs: []string{"FLTR_STATS_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - { - Tenant: "cgrates.org", - ID: "StatQueueProfilePrefix", - FilterIDs: []string{"FLTR_STATS_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - }, - QueueLength: 10, - TTL: 10 * time.Second, - Metrics: []*MetricWithFilters{ - { - MetricID: "*sum#Usage", - }, - }, - ThresholdIDs: []string{}, - Blocker: false, - Stored: true, - Weight: 20, - MinItems: 1, - }, - } - stqs := []*StatQueue{ - {Tenant: "cgrates.org", ID: "StatQueueProfile1", sqPrfl: sqps[0], SQMetrics: make(map[string]StatMetric)}, - {Tenant: "cgrates.org", ID: "StatQueueProfile2", sqPrfl: sqps[1], SQMetrics: make(map[string]StatMetric)}, - {Tenant: "cgrates.org", ID: "StatQueueProfilePrefix", sqPrfl: sqps[2], SQMetrics: make(map[string]StatMetric)}, - } - statsEvs := []*StatsArgsProcessEvent{ - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event1", - Event: map[string]interface{}{ - "Stats": "StatQueueProfile1", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - "Weight": "9.0", - utils.Usage: 135 * time.Second, - utils.Cost: 123.0, - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event2", - Event: map[string]interface{}{ - "Stats": "StatQueueProfile2", - utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "UsageInterval": "1s", - "PddInterval": "1s", - "Weight": "15.0", - utils.Usage: 45 * time.Second, - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "event3", - Event: map[string]interface{}{ - "Stats": "StatQueueProfilePrefix", - utils.Usage: 30 * time.Second, - }, - }, - }, - } - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmSTS = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + cfg.StatSCfg().StoreInterval = 1 + cfg.StatSCfg().StringIndexedFields = nil + cfg.StatSCfg().PrefixIndexedFields = nil + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dmSTS := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + statService := NewStatService(dmSTS, cfg, + &FilterS{dm: dmSTS, cfg: cfg}, nil) + prepareStatsData(t, dmSTS) - defaultCfg.StatSCfg().StoreInterval = 1 - defaultCfg.StatSCfg().StringIndexedFields = nil - defaultCfg.StatSCfg().PrefixIndexedFields = nil - statService = NewStatService(dmSTS, defaultCfg, - &FilterS{dm: dmSTS, cfg: defaultCfg}, nil) - - fltrSts1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Stats", - Values: []string{"StatQueueProfile1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.UsageInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmSTS.SetFilter(fltrSts1, true) - fltrSts2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Stats", - Values: []string{"StatQueueProfile2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: "~*req.PddInterval", - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Usage, - Values: []string{(time.Second).String()}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmSTS.SetFilter(fltrSts2, true) - fltrSts3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_STATS_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Stats", - Values: []string{"StatQueueProfilePrefix"}, - }, - }, - } - dmSTS.SetFilter(fltrSts3, true) - for _, statQueueProfile := range sqps { - dmSTS.SetStatQueueProfile(statQueueProfile, true) - } - for _, statQueue := range stqs { - dmSTS.SetStatQueue(statQueue) - } - //Test each statQueueProfile from cache - for _, sqp := range sqps { - if tempStat, err := dmSTS.GetStatQueueProfile(sqp.Tenant, - sqp.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(sqp, tempStat) { - t.Errorf("Expecting: %+v, received: %+v", sqp, tempStat) - } - } sqPrf := &StatQueueProfile{ Tenant: "cgrates.org", ID: "StatQueueProfile3", @@ -1023,7 +434,7 @@ func TestStatQueuesV1ProcessEvent(t *testing.T) { } ev := &StatsArgsProcessEvent{ StatIDs: []string{"StatQueueProfile1", "StatQueueProfile2", "StatQueueProfile3"}, - CGREvent: statsEvs[0].CGREvent, + CGREvent: testStatsArgs[0].CGREvent, } reply := []string{} expected := []string{"StatQueueProfile1", "StatQueueProfile3"} @@ -1037,7 +448,7 @@ func TestStatQueuesV1ProcessEvent(t *testing.T) { func TestStatQueuesUpdateStatQueue(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items), cfg.CacheCfg(), nil) sqp := &StatQueueProfile{ Tenant: "cgrates.org", ID: "THUP1", @@ -1243,7 +654,7 @@ func TestStatQueueMatchingStatQueuesForEventLocks(t *testing.T) { tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -1292,7 +703,7 @@ func TestStatQueueMatchingStatQueuesForEventLocks2(t *testing.T) { tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -1355,7 +766,7 @@ func TestStatQueueMatchingStatQueuesForEventLocksBlocker(t *testing.T) { tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -1414,7 +825,7 @@ func TestStatQueueMatchingStatQueuesForEventLocksActivationInterval(t *testing.T tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -1519,7 +930,7 @@ func TestStatQueueMatchingStatQueuesForEventLocks4(t *testing.T) { tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -1564,7 +975,7 @@ func TestStatQueueMatchingStatQueuesForEventLocks4(t *testing.T) { func TestStatQueueReload(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 5 * time.Millisecond - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) sS := &StatService{ @@ -1582,7 +993,7 @@ func TestStatQueueReload(t *testing.T) { func TestStatQueueStartLoop(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) sS := &StatService{ @@ -1612,7 +1023,7 @@ func TestStatQueueShutdown(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) sS := NewStatService(dm, cfg, nil, nil) @@ -1635,7 +1046,7 @@ func TestStatQueueStoreStatsOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) sS := NewStatService(dm, cfg, nil, nil) @@ -1653,7 +1064,7 @@ func TestStatQueueStoreStatsOK(t *testing.T) { utils.NonTransactional); err != nil { t.Error(err) } else if !reflect.DeepEqual(rcv, exp) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", + t.Errorf("expected: <%+v>, received: <%+v>", utils.ToJSON(exp), utils.ToJSON(rcv)) } @@ -1694,7 +1105,7 @@ func TestStatQueueStoreStatsStoreSQErr(t *testing.T) { sS.storeStats() if !reflect.DeepEqual(sS.storedStatQueues, exp) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", exp, sS.storedStatQueues) + t.Errorf("expected: <%+v>, received: <%+v>", exp, sS.storedStatQueues) } if rcvLog := buf.String(); !strings.Contains(rcvLog, expLog) { t.Errorf("expected log <%+v>\n to be in included in: <%+v>", expLog, rcvLog) @@ -1720,7 +1131,7 @@ func TestStatQueueStoreStatsCacheGetErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) sS := NewStatService(dm, cfg, nil, nil) @@ -1750,15 +1161,11 @@ func TestStatQueueStoreStatQueueCacheSetErr(t *testing.T) { var buf bytes.Buffer log.SetOutput(&buf) - defer func() { - log.SetOutput(os.Stderr) - }() - tmp := Cache tmpC := config.CgrConfig() tmpCM := connMgr defer func() { - Cache = tmp + log.SetOutput(os.Stderr) config.SetCgrConfig(tmpC) connMgr = tmpCM }() @@ -1768,23 +1175,24 @@ func TestStatQueueStoreStatQueueCacheSetErr(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheStatQueues].Replicate = true cfg.RPCConns()["test"] = &config.RPCConn{Conns: []*config.RemoteHost{{}}} config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) - filterS := NewFilterS(cfg, nil, dm) + filterS := NewFilterS(cfg, connMgr, dm) sS := NewStatService(dm, cfg, filterS, connMgr) - sq := &StatQueue{ - Tenant: "cgrates.org", - ID: "SQ1", - dirty: utils.BoolPointer(true), + Tenant: "cgrates.org", + ID: "SQ1", + SQMetrics: make(map[string]StatMetric), + dirty: utils.BoolPointer(true), } + Cache.SetWithoutReplicate(utils.CacheStatQueues, sq.TenantID(), nil, nil, true, utils.NonTransactional) expLog := `[WARNING] failed caching StatQueue with ID: cgrates.org:SQ1, error: DISCONNECTED` if err := sS.StoreStatQueue(sq); err == nil || err.Error() != utils.ErrDisconnected.Error() { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrDisconnected, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrDisconnected, err) } else if rcv := buf.String(); !strings.Contains(rcv, expLog) { t.Errorf("expected log <%+v> to be included in <%+v>", expLog, rcv) } @@ -1794,7 +1202,7 @@ func TestStatQueueStoreStatQueueCacheSetErr(t *testing.T) { func TestStatQueueStoreThresholdNilDirtyField(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) sS := NewStatService(dm, cfg, nil, nil) @@ -1831,7 +1239,7 @@ func TestStatQueueSetCloneable(t *testing.T) { args.SetCloneable(true) if !reflect.DeepEqual(args, exp) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", exp, args) + t.Errorf("expected: <%+v>, received: <%+v>", exp, args) } } @@ -1897,7 +1305,7 @@ func TestStatQueueRPCCloneNotCloneable(t *testing.T) { func TestStatQueueProcessEventOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) sS := NewStatService(dm, cfg, filterS, nil) @@ -1953,13 +1361,13 @@ func TestStatQueueProcessEventOK(t *testing.T) { if rcvIDs, err := sS.processEvent(args.Tenant, args); err != nil { t.Error(err) } else if !reflect.DeepEqual(rcvIDs, expIDs) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", expIDs, rcvIDs) + t.Errorf("expected: <%+v>, received: <%+v>", expIDs, rcvIDs) } } func TestStatQueueProcessEventProcessThPartExec(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) sS := NewStatService(dm, cfg, filterS, nil) @@ -2008,7 +1416,7 @@ func TestStatQueueProcessEventProcessThPartExec(t *testing.T) { if _, err := sS.processEvent(args.Tenant, args); err == nil || err != utils.ErrNotFound { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrNotFound, err) } } @@ -2023,7 +1431,7 @@ func TestStatQueueProcessEventProcessEventErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) sS := NewStatService(dm, cfg, filterS, nil) @@ -2082,9 +1490,9 @@ func TestStatQueueProcessEventProcessEventErr(t *testing.T) { expIDs := []string{"SQ1"} if rcvIDs, err := sS.processEvent(args.Tenant, args); err == nil || err.Error() != utils.ErrPartiallyExecuted.Error() { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrPartiallyExecuted, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrPartiallyExecuted, err) } else if !reflect.DeepEqual(rcvIDs, expIDs) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", expIDs, rcvIDs) + t.Errorf("expected: <%+v>, received: <%+v>", expIDs, rcvIDs) } else if rcvLog := buf.String(); !strings.Contains(rcvLog, expLog) { t.Errorf("expected log <%+v> to be included in: <%+v>", expLog, rcvLog) @@ -2102,7 +1510,7 @@ func TestStatQueueV1ProcessEventProcessEventErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2160,7 +1568,7 @@ func TestStatQueueV1ProcessEventProcessEventErr(t *testing.T) { var reply []string if err := sS.V1ProcessEvent(args, &reply); err == nil || err.Error() != utils.ErrPartiallyExecuted.Error() { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrPartiallyExecuted, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrPartiallyExecuted, err) } } @@ -2173,7 +1581,7 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2227,7 +1635,7 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { experr := `MANDATORY_IE_MISSING: [CGREvent]` if err := sS.V1ProcessEvent(args, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } args = &StatsArgsProcessEvent{ @@ -2243,7 +1651,7 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { experr = `MANDATORY_IE_MISSING: [ID]` if err := sS.V1ProcessEvent(args, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } args = &StatsArgsProcessEvent{ @@ -2258,7 +1666,7 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { experr = `MANDATORY_IE_MISSING: [Event]` if err := sS.V1ProcessEvent(args, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -2271,7 +1679,7 @@ func TestStatQueueV1GetQueueIDsOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2340,7 +1748,7 @@ func TestStatQueueV1GetQueueIDsOK(t *testing.T) { } else { sort.Strings(qIDs) if !reflect.DeepEqual(qIDs, expIDs) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", expIDs, qIDs) + t.Errorf("expected: <%+v>, received: <%+v>", expIDs, qIDs) } } } @@ -2363,7 +1771,7 @@ func TestStatQueueV1GetQueueIDsGetKeysForPrefixErr(t *testing.T) { var qIDs []string if err := sS.V1GetQueueIDs(utils.EmptyString, &qIDs); err == nil || err.Error() != utils.ErrNotImplemented.Error() { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrNotImplemented, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrNotImplemented, err) } } @@ -2376,7 +1784,7 @@ func TestStatQueueV1GetStatQueueOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2429,7 +1837,7 @@ func TestStatQueueV1GetStatQueueOK(t *testing.T) { }, &reply); err != nil { t.Error(err) } else if !reflect.DeepEqual(reply, *sq) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", + t.Errorf("expected: <%+v>, received: <%+v>", utils.ToJSON(*sq), utils.ToJSON(reply)) } } @@ -2443,7 +1851,7 @@ func TestStatQueueV1GetStatQueueNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2455,7 +1863,7 @@ func TestStatQueueV1GetStatQueueNotFound(t *testing.T) { ID: "SQ1", }, }, &reply); err == nil || err != utils.ErrNotFound { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrNotFound, err) } } @@ -2468,7 +1876,7 @@ func TestStatQueueV1GetStatQueueMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2518,7 +1926,7 @@ func TestStatQueueV1GetStatQueueMissingArgs(t *testing.T) { if err := sS.V1GetStatQueue(&utils.TenantIDWithAPIOpts{ TenantID: &utils.TenantID{}, }, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -2531,7 +1939,7 @@ func TestStatQueueV1GetStatQueuesForEventOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2598,7 +2006,7 @@ func TestStatQueueV1GetStatQueuesForEventOK(t *testing.T) { } else { sort.Strings(reply) if !reflect.DeepEqual(reply, exp) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", exp, reply) + t.Errorf("expected: <%+v>, received: <%+v>", exp, reply) } } } @@ -2612,7 +2020,7 @@ func TestStatQueueV1GetStatQueuesForEventNotFoundErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2666,7 +2074,7 @@ func TestStatQueueV1GetStatQueuesForEventMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2703,7 +2111,7 @@ func TestStatQueueV1GetStatQueuesForEventMissingArgs(t *testing.T) { var reply []string if err := sS.V1GetStatQueuesForEvent(args, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } args = &StatsArgsProcessEvent{ @@ -2719,7 +2127,7 @@ func TestStatQueueV1GetStatQueuesForEventMissingArgs(t *testing.T) { experr = `MANDATORY_IE_MISSING: [ID]` if err := sS.V1GetStatQueuesForEvent(args, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } args = &StatsArgsProcessEvent{ @@ -2733,7 +2141,7 @@ func TestStatQueueV1GetStatQueuesForEventMissingArgs(t *testing.T) { experr = `MANDATORY_IE_MISSING: [Event]` if err := sS.V1GetStatQueuesForEvent(args, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -2747,7 +2155,7 @@ func TestStatQueueV1ResetStatQueueOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2817,9 +2225,9 @@ func TestStatQueueV1ResetStatQueueOK(t *testing.T) { } else if reply != utils.OK { t.Errorf("Unexpected reply returned: <%q>", reply) } else if !reflect.DeepEqual(sq, expSq) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ToJSON(expSq), utils.ToJSON(sq)) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ToJSON(expSq), utils.ToJSON(sq)) } else if !reflect.DeepEqual(sS.storedStatQueues, expStored) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", expStored, sS.storedStatQueues) + t.Errorf("expected: <%+v>, received: <%+v>", expStored, sS.storedStatQueues) } } @@ -2833,7 +2241,7 @@ func TestStatQueueV1ResetStatQueueNotFoundErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2883,7 +2291,7 @@ func TestStatQueueV1ResetStatQueueNotFoundErr(t *testing.T) { if err := sS.V1ResetStatQueue(&utils.TenantID{ ID: "SQ2", }, &reply); err == nil || err != utils.ErrNotFound { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrNotFound, err) } } @@ -2897,7 +2305,7 @@ func TestStatQueueV1ResetStatQueueMissingArgs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2947,7 +2355,7 @@ func TestStatQueueV1ResetStatQueueMissingArgs(t *testing.T) { var reply string if err := sS.V1ResetStatQueue(&utils.TenantID{}, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -2961,7 +2369,7 @@ func TestStatQueueV1ResetStatQueueUnsupportedMetricType(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3013,7 +2421,7 @@ func TestStatQueueV1ResetStatQueueUnsupportedMetricType(t *testing.T) { if err := sS.V1ResetStatQueue(&utils.TenantID{ ID: "SQ1", }, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -3029,7 +2437,7 @@ func TestStatQueueProcessThresholdsOKNoThIDs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -3097,7 +2505,7 @@ func TestStatQueueProcessThresholdsOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -3120,7 +2528,7 @@ func TestStatQueueProcessThresholdsOK(t *testing.T) { }, } if !reflect.DeepEqual(exp, args) { - return fmt.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", + return fmt.Errorf("\nexpected: <%+v>, received: <%+v>", utils.ToJSON(exp), utils.ToJSON(args)) } return nil @@ -3209,7 +2617,7 @@ func TestStatQueueProcessThresholdsErrPartExec(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -3276,7 +2684,7 @@ func TestStatQueueProcessThresholdsErrPartExec(t *testing.T) { expLog := `[WARNING] error: EXISTS` if err := sS.processThresholds(sQs, nil); err == nil || err != utils.ErrPartiallyExecuted { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrPartiallyExecuted, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrPartiallyExecuted, err) } else if rcvLog := buf.String(); !strings.Contains(rcvLog, expLog) { t.Errorf("expected log <%+v> to be included in <%+v>", expLog, rcvLog) } @@ -3292,7 +2700,7 @@ func TestStatQueueV1GetQueueFloatMetricsOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3347,7 +2755,7 @@ func TestStatQueueV1GetQueueFloatMetricsOK(t *testing.T) { }, &reply); err != nil { t.Error(err) } else if !reflect.DeepEqual(reply, expected) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", expected, reply) + t.Errorf("expected: <%+v>, received: <%+v>", expected, reply) } } @@ -3361,7 +2769,7 @@ func TestStatQueueV1GetQueueFloatMetricsErrNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3411,7 +2819,7 @@ func TestStatQueueV1GetQueueFloatMetricsErrNotFound(t *testing.T) { if err := sS.V1GetQueueFloatMetrics(&utils.TenantID{ ID: "SQ2", }, &reply); err == nil || err != utils.ErrNotFound { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrNotFound, err) } } @@ -3425,7 +2833,7 @@ func TestStatQueueV1GetQueueFloatMetricsMissingArgs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3475,7 +2883,7 @@ func TestStatQueueV1GetQueueFloatMetricsMissingArgs(t *testing.T) { reply := map[string]float64{} if err := sS.V1GetQueueFloatMetrics(&utils.TenantID{}, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -3498,7 +2906,7 @@ func TestStatQueueV1GetQueueFloatMetricsErrGetStats(t *testing.T) { if err := sS.V1GetQueueFloatMetrics(&utils.TenantID{ ID: "SQ1", }, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -3512,7 +2920,7 @@ func TestStatQueueV1GetQueueStringMetricsOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3567,7 +2975,7 @@ func TestStatQueueV1GetQueueStringMetricsOK(t *testing.T) { }, &reply); err != nil { t.Error(err) } else if !reflect.DeepEqual(reply, expected) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", expected, reply) + t.Errorf("expected: <%+v>, received: <%+v>", expected, reply) } } @@ -3581,7 +2989,7 @@ func TestStatQueueV1GetQueueStringMetricsErrNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3631,7 +3039,7 @@ func TestStatQueueV1GetQueueStringMetricsErrNotFound(t *testing.T) { if err := sS.V1GetQueueStringMetrics(&utils.TenantID{ ID: "SQ2", }, &reply); err == nil || err != utils.ErrNotFound { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ErrNotFound, err) + t.Errorf("expected: <%+v>, received: <%+v>", utils.ErrNotFound, err) } } @@ -3645,7 +3053,7 @@ func TestStatQueueV1GetQueueStringMetricsMissingArgs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3695,7 +3103,7 @@ func TestStatQueueV1GetQueueStringMetricsMissingArgs(t *testing.T) { reply := map[string]string{} if err := sS.V1GetQueueStringMetrics(&utils.TenantID{}, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -3718,7 +3126,7 @@ func TestStatQueueV1GetQueueStringMetricsErrGetStats(t *testing.T) { if err := sS.V1GetQueueStringMetrics(&utils.TenantID{ ID: "SQ1", }, &reply); err == nil || err.Error() != experr { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err) + t.Errorf("expected: <%+v>, received: <%+v>", experr, err) } } @@ -3735,7 +3143,7 @@ func TestStatQueueStoreStatQueueStoreIntervalDisabled(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = -1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) @@ -3765,7 +3173,7 @@ func TestStatQueueGetStatQueueOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3818,10 +3226,10 @@ func TestStatQueueGetStatQueueOK(t *testing.T) { if rcv, err := sS.getStatQueue("cgrates.org", "SQ1"); err != nil { t.Error(err) } else if !reflect.DeepEqual(rcv, sq) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", + t.Errorf("expected: <%+v>, received: <%+v>", utils.ToJSON(sq), utils.ToJSON(rcv)) } else if !reflect.DeepEqual(sS.storedStatQueues, expected) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", expected, sS.storedStatQueues) + t.Errorf("expected: <%+v>, received: <%+v>", expected, sS.storedStatQueues) } } @@ -3834,7 +3242,7 @@ func TestStatQueueCall(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3891,7 +3299,7 @@ func TestStatQueueCall(t *testing.T) { if err := sS.Call(utils.StatSv1GetStatQueue, args, &reply); err != nil { t.Error(err) } else if !reflect.DeepEqual(reply, *sq) { - t.Errorf("expected: <%+v>, \nreceived: <%+v>", + t.Errorf("expected: <%+v>, received: <%+v>", utils.ToJSON(*sq), utils.ToJSON(reply)) } } diff --git a/engine/thresholds_test.go b/engine/thresholds_test.go index 51870f450..cdffcc2b0 100644 --- a/engine/thresholds_test.go +++ b/engine/thresholds_test.go @@ -33,6 +33,91 @@ import ( "github.com/cgrates/rpcclient" ) +var ( + testThresholdPrfs = []*ThresholdProfile{ + { + Tenant: "cgrates.org", + ID: "TH_1", + FilterIDs: []string{"FLTR_TH_1"}, + ActivationInterval: &utils.ActivationInterval{ + ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), + }, + MaxHits: 12, + Weight: 20.0, + ActionIDs: []string{"ACT_1", "ACT_2"}, + }, + { + Tenant: "cgrates.org", + ID: "TH_2", + FilterIDs: []string{"FLTR_TH_2"}, + ActivationInterval: &utils.ActivationInterval{ + ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), + }, + MaxHits: 12, + MinSleep: 5 * time.Minute, + Weight: 20.0, + ActionIDs: []string{"ACT_1", "ACT_2"}, + }, + { + Tenant: "cgrates.org", + ID: "TH_3", + FilterIDs: []string{"FLTR_TH_3"}, + ActivationInterval: &utils.ActivationInterval{ + ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), + }, + MaxHits: 12, + MinSleep: 5 * time.Minute, + Weight: 20.0, + ActionIDs: []string{"ACT_1", "ACT_2"}, + }, + } + testThresholds = Thresholds{ + &Threshold{ + Tenant: "cgrates.org", + ID: "TH_1", + }, + &Threshold{ + Tenant: "cgrates.org", + ID: "TH_2", + }, + &Threshold{ + Tenant: "cgrates.org", + ID: "TH_3", + }, + } + testThresholdArgs = []*ThresholdsArgsProcessEvent{ + { + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "Ev1", + Event: map[string]interface{}{ + "Threshold": "TH_1", + "Weight": "10.0", + }, + }, + }, + { + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "Ev1", + Event: map[string]interface{}{ + "Threshold": "TH_2", + "Weight": "20.0", + }, + }, + }, + { + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "Ev1", + Event: map[string]interface{}{ + "Threshold": "ThresholdPrefix123", + }, + }, + }, + } +) + func TestThresholdsSort(t *testing.T) { ts := Thresholds{ &Threshold{tPrfl: &ThresholdProfile{ID: "FIRST", Weight: 30.0}}, @@ -52,77 +137,9 @@ func TestThresholdsSort(t *testing.T) { } } -func TestThresholdsCache(t *testing.T) { - var dmTH *DataManager - tPrfls := []*ThresholdProfile{ - { - Tenant: "cgrates.org", - ID: "TH_1", - FilterIDs: []string{"FLTR_TH_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_2", - FilterIDs: []string{"FLTR_TH_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_3", - FilterIDs: []string{"FLTR_TH_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - } - ths := Thresholds{ - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_1", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_2", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_3", - Hits: 0, - }, - } - - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmTH = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ThresholdSCfg().StoreInterval = 0 - defaultCfg.ThresholdSCfg().StringIndexedFields = nil - defaultCfg.ThresholdSCfg().PrefixIndexedFields = nil - - fltrTh1 := &Filter{ +func prepareThresholdData(t *testing.T, dm *DataManager) { + Cache.Clear(nil) + if err := dm.SetFilter(&Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "FLTR_TH_1", Rules: []*FilterRule{ @@ -137,9 +154,10 @@ func TestThresholdsCache(t *testing.T) { Values: []string{"9.0"}, }, }, + }, true); err != nil { + t.Fatal(err) } - dmTH.SetFilter(fltrTh1, true) - fltrTh2 := &Filter{ + if err := dm.SetFilter(&Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "FLTR_TH_2", Rules: []*FilterRule{ @@ -154,9 +172,10 @@ func TestThresholdsCache(t *testing.T) { Values: []string{"15.0"}, }, }, + }, true); err != nil { + t.Fatal(err) } - dmTH.SetFilter(fltrTh2, true) - fltrTh3 := &Filter{ + if err := dm.SetFilter(&Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "FLTR_TH_3", Rules: []*FilterRule{ @@ -166,868 +185,217 @@ func TestThresholdsCache(t *testing.T) { Values: []string{"ThresholdPrefix"}, }, }, + }, true); err != nil { + t.Fatal(err) } - dmTH.SetFilter(fltrTh3, true) - for _, th := range tPrfls { - if err = dmTH.SetThresholdProfile(th, true); err != nil { - t.Errorf("Error: %+v", err) + for _, th := range testThresholdPrfs { + if err = dm.SetThresholdProfile(th, true); err != nil { + t.Fatal(err) } } //Test each threshold profile from cache - for _, th := range tPrfls { - if temptTh, err := dmTH.GetThresholdProfile(th.Tenant, + for _, th := range testThresholdPrfs { + if temptTh, err := dm.GetThresholdProfile(th.Tenant, th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } else if !reflect.DeepEqual(th, temptTh) { t.Errorf("Expecting: %+v, received: %+v", th, temptTh) } } - for _, th := range ths { - if err = dmTH.SetThreshold(th); err != nil { - t.Errorf("Error: %+v", err) + for _, th := range testThresholds { + if err = dm.SetThreshold(&Threshold{ + Tenant: th.Tenant, + ID: th.ID, + }); err != nil { + t.Fatal(err) } } //Test each threshold profile from cache - for _, th := range ths { - if temptTh, err := dmTH.GetThreshold(th.Tenant, + for _, th := range testThresholds { + if temptTh, err := dm.GetThreshold(th.Tenant, th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(th, temptTh) { - t.Errorf("Expecting: %+v, received: %+v", th, temptTh) + t.Fatal(err) + } else { + th.dirty = temptTh.dirty + th.tPrfl = temptTh.tPrfl + if !reflect.DeepEqual(th, temptTh) { + t.Errorf("Expecting: %+v, received: %+v", th, temptTh) + } } } +} +func TestThresholdsCache(t *testing.T) { + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + Cache = NewCacheS(cfg, dmTH, nil) + cfg.ThresholdSCfg().StoreInterval = 0 + cfg.ThresholdSCfg().StringIndexedFields = nil + cfg.ThresholdSCfg().PrefixIndexedFields = nil + prepareThresholdData(t, dmTH) } func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { - var dmTH *DataManager - var thServ *ThresholdService - var tPrfls = []*ThresholdProfile{ - { - Tenant: "cgrates.org", - ID: "TH_1", - FilterIDs: []string{"FLTR_TH_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_2", - FilterIDs: []string{"FLTR_TH_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_3", - FilterIDs: []string{"FLTR_TH_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - } - ths := Thresholds{ - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_1", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_2", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_3", - Hits: 0, - }, - } - argsGetThresholds := []*ThresholdsArgsProcessEvent{ - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "TH_1", - "Weight": "10.0", - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "TH_2", - "Weight": "20.0", - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "ThresholdPrefix123", - }, - }, - }, - } + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + cfg.ThresholdSCfg().StoreInterval = 0 + cfg.ThresholdSCfg().StringIndexedFields = nil + cfg.ThresholdSCfg().PrefixIndexedFields = nil + thServ := NewThresholdService(dmTH, cfg, &FilterS{dm: dmTH, cfg: cfg}) + prepareThresholdData(t, dmTH) - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmTH = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ThresholdSCfg().StoreInterval = 0 - defaultCfg.ThresholdSCfg().StringIndexedFields = nil - defaultCfg.ThresholdSCfg().PrefixIndexedFields = nil - thServ = NewThresholdService(dmTH, defaultCfg, &FilterS{dm: dmTH, cfg: defaultCfg}) + thMatched, err := thServ.matchingThresholdsForEvent(testThresholdArgs[0].Tenant, testThresholdArgs[0]) if err != nil { - t.Errorf("Error: %+v", err) - } - fltrTh1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Threshold", - Values: []string{"TH_1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmTH.SetFilter(fltrTh1, true) - fltrTh2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Threshold", - Values: []string{"TH_2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmTH.SetFilter(fltrTh2, true) - fltrTh3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Threshold", - Values: []string{"ThresholdPrefix"}, - }, - }, - } - dmTH.SetFilter(fltrTh3, true) - for _, th := range tPrfls { - if err = dmTH.SetThresholdProfile(th, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each threshold profile from cache - for _, th := range tPrfls { - if temptTh, err := dmTH.GetThresholdProfile(th.Tenant, - th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(th, temptTh) { - t.Errorf("Expecting: %+v, received: %+v", th, temptTh) - } - } - for _, th := range ths { - if err = dmTH.SetThreshold(th); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each threshold profile from cache - for _, th := range ths { - if temptTh, err := dmTH.GetThreshold(th.Tenant, - th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(th, temptTh) { - t.Errorf("Expecting: %+v, received: %+v", th, temptTh) - } - } - thMatched, err := thServ.matchingThresholdsForEvent(argsGetThresholds[0].Tenant, argsGetThresholds[0]) - if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } thMatched.unlock() - if !reflect.DeepEqual(ths[0].Tenant, thMatched[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", ths[0].Tenant, thMatched[0].Tenant) - } else if !reflect.DeepEqual(ths[0].ID, thMatched[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", ths[0].ID, thMatched[0].ID) - } else if !reflect.DeepEqual(ths[0].Hits, thMatched[0].Hits) { - t.Errorf("Expecting: %+v, received: %+v", ths[0].Hits, thMatched[0].Hits) + if !reflect.DeepEqual(testThresholds[0].Tenant, thMatched[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[0].Tenant, thMatched[0].Tenant) + } else if !reflect.DeepEqual(testThresholds[0].ID, thMatched[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[0].ID, thMatched[0].ID) + } else if !reflect.DeepEqual(testThresholds[0].Hits, thMatched[0].Hits) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[0].Hits, thMatched[0].Hits) } - thMatched, err = thServ.matchingThresholdsForEvent(argsGetThresholds[1].Tenant, argsGetThresholds[1]) + thMatched, err = thServ.matchingThresholdsForEvent(testThresholdArgs[1].Tenant, testThresholdArgs[1]) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } thMatched.unlock() - if !reflect.DeepEqual(ths[1].Tenant, thMatched[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", ths[1].Tenant, thMatched[0].Tenant) - } else if !reflect.DeepEqual(ths[1].ID, thMatched[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", ths[1].ID, thMatched[0].ID) - } else if !reflect.DeepEqual(ths[1].Hits, thMatched[0].Hits) { - t.Errorf("Expecting: %+v, received: %+v", ths[1].Hits, thMatched[0].Hits) + if !reflect.DeepEqual(testThresholds[1].Tenant, thMatched[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[1].Tenant, thMatched[0].Tenant) + } else if !reflect.DeepEqual(testThresholds[1].ID, thMatched[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[1].ID, thMatched[0].ID) + } else if !reflect.DeepEqual(testThresholds[1].Hits, thMatched[0].Hits) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[1].Hits, thMatched[0].Hits) } - thMatched, err = thServ.matchingThresholdsForEvent(argsGetThresholds[2].Tenant, argsGetThresholds[2]) + thMatched, err = thServ.matchingThresholdsForEvent(testThresholdArgs[2].Tenant, testThresholdArgs[2]) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } thMatched.unlock() - if !reflect.DeepEqual(ths[2].Tenant, thMatched[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", ths[2].Tenant, thMatched[0].Tenant) - } else if !reflect.DeepEqual(ths[2].ID, thMatched[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", ths[2].ID, thMatched[0].ID) - } else if !reflect.DeepEqual(ths[2].Hits, thMatched[0].Hits) { - t.Errorf("Expecting: %+v, received: %+v", ths[2].Hits, thMatched[0].Hits) + if !reflect.DeepEqual(testThresholds[2].Tenant, thMatched[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[2].Tenant, thMatched[0].Tenant) + } else if !reflect.DeepEqual(testThresholds[2].ID, thMatched[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[2].ID, thMatched[0].ID) + } else if !reflect.DeepEqual(testThresholds[2].Hits, thMatched[0].Hits) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[2].Hits, thMatched[0].Hits) } } func TestThresholdsProcessEvent(t *testing.T) { - var dmTH *DataManager - var thServ *ThresholdService - var tPrfls = []*ThresholdProfile{ - { - Tenant: "cgrates.org", - ID: "TH_1", - FilterIDs: []string{"FLTR_TH_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_2", - FilterIDs: []string{"FLTR_TH_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_3", - FilterIDs: []string{"FLTR_TH_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - } - ths := Thresholds{ - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_1", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_2", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_3", - Hits: 0, - }, - } - argsGetThresholds := []*ThresholdsArgsProcessEvent{ - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "TH_1", - "Weight": "10.0", - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "TH_2", - "Weight": "20.0", - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "ThresholdPrefix123", - }, - }, - }, - } + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + cfg.ThresholdSCfg().StoreInterval = 0 + cfg.ThresholdSCfg().StringIndexedFields = nil + cfg.ThresholdSCfg().PrefixIndexedFields = nil + thServ := NewThresholdService(dmTH, cfg, &FilterS{dm: dmTH, cfg: cfg}) + prepareThresholdData(t, dmTH) - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmTH = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ThresholdSCfg().StoreInterval = 0 - defaultCfg.ThresholdSCfg().StringIndexedFields = nil - defaultCfg.ThresholdSCfg().PrefixIndexedFields = nil - thServ = NewThresholdService(dmTH, defaultCfg, &FilterS{dm: dmTH, cfg: defaultCfg}) - if err != nil { - t.Errorf("Error: %+v", err) - } - fltrTh1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Threshold", - Values: []string{"TH_1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmTH.SetFilter(fltrTh1, true) - fltrTh2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Threshold", - Values: []string{"TH_2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmTH.SetFilter(fltrTh2, true) - fltrTh3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Threshold", - Values: []string{"ThresholdPrefix"}, - }, - }, - } - dmTH.SetFilter(fltrTh3, true) - for _, th := range tPrfls { - if err = dmTH.SetThresholdProfile(th, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each threshold profile from cache - for _, th := range tPrfls { - if temptTh, err := dmTH.GetThresholdProfile(th.Tenant, - th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(th, temptTh) { - t.Errorf("Expecting: %+v, received: %+v", th, temptTh) - } - } - for _, th := range ths { - if err = dmTH.SetThreshold(th); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each threshold profile from cache - for _, th := range ths { - if temptTh, err := dmTH.GetThreshold(th.Tenant, - th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(th, temptTh) { - t.Errorf("Expecting: %+v, received: %+v", th, temptTh) - } - } thIDs := []string{"TH_1"} - if thMatched, err := thServ.processEvent(argsGetThresholds[0].Tenant, argsGetThresholds[0]); err != utils.ErrPartiallyExecuted { - t.Errorf("Error: %+v", err) + if thMatched, err := thServ.processEvent(testThresholdArgs[0].Tenant, testThresholdArgs[0]); err != utils.ErrPartiallyExecuted { + t.Fatal(err) } else if !reflect.DeepEqual(thIDs, thMatched) { t.Errorf("Expecting: %+v, received: %+v", thIDs, thMatched) } thIDs = []string{"TH_2"} - if thMatched, err := thServ.processEvent(argsGetThresholds[1].Tenant, argsGetThresholds[1]); err != utils.ErrPartiallyExecuted { - t.Errorf("Error: %+v", err) + if thMatched, err := thServ.processEvent(testThresholdArgs[1].Tenant, testThresholdArgs[1]); err != utils.ErrPartiallyExecuted { + t.Fatal(err) } else if !reflect.DeepEqual(thIDs, thMatched) { t.Errorf("Expecting: %+v, received: %+v", thIDs, thMatched) } thIDs = []string{"TH_3"} - if thMatched, err := thServ.processEvent(argsGetThresholds[2].Tenant, argsGetThresholds[2]); err != utils.ErrPartiallyExecuted { - t.Errorf("Error: %+v", err) + if thMatched, err := thServ.processEvent(testThresholdArgs[2].Tenant, testThresholdArgs[2]); err != utils.ErrPartiallyExecuted { + t.Fatal(err) } else if !reflect.DeepEqual(thIDs, thMatched) { t.Errorf("Expecting: %+v, received: %+v", thIDs, thMatched) } } func TestThresholdsVerifyIfExecuted(t *testing.T) { - var dmTH *DataManager - var thServ *ThresholdService - var tPrfls = []*ThresholdProfile{ - { - Tenant: "cgrates.org", - ID: "TH_1", - FilterIDs: []string{"FLTR_TH_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_2", - FilterIDs: []string{"FLTR_TH_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_3", - FilterIDs: []string{"FLTR_TH_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - } - ths := Thresholds{ - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_1", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_2", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_3", - Hits: 0, - }, - } - argsGetThresholds := []*ThresholdsArgsProcessEvent{ - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "TH_1", - "Weight": "10.0", - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "TH_2", - "Weight": "20.0", - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "ThresholdPrefix123", - }, - }, - }, - } + Cache.Clear(nil) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + cfg.ThresholdSCfg().StoreInterval = 0 + cfg.ThresholdSCfg().StringIndexedFields = nil + cfg.ThresholdSCfg().PrefixIndexedFields = nil + thServ := NewThresholdService(dmTH, cfg, &FilterS{dm: dmTH, cfg: cfg}) + prepareThresholdData(t, dmTH) - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmTH = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ThresholdSCfg().StoreInterval = 0 - defaultCfg.ThresholdSCfg().StringIndexedFields = nil - defaultCfg.ThresholdSCfg().PrefixIndexedFields = nil - thServ = NewThresholdService(dmTH, defaultCfg, &FilterS{dm: dmTH, cfg: defaultCfg}) - if err != nil { - t.Errorf("Error: %+v", err) - } - fltrTh1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Threshold", - Values: []string{"TH_1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmTH.SetFilter(fltrTh1, true) - fltrTh2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Threshold", - Values: []string{"TH_2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmTH.SetFilter(fltrTh2, true) - fltrTh3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Threshold", - Values: []string{"ThresholdPrefix"}, - }, - }, - } - dmTH.SetFilter(fltrTh3, true) - for _, th := range tPrfls { - if err = dmTH.SetThresholdProfile(th, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each threshold profile from cache - for _, th := range tPrfls { - if temptTh, err := dmTH.GetThresholdProfile(th.Tenant, - th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(th, temptTh) { - t.Errorf("Expecting: %+v, received: %+v", th, temptTh) - } - } - for _, th := range ths { - if err = dmTH.SetThreshold(th); err != nil { - t.Errorf("Error: %+v", err) - } - } thIDs := []string{"TH_1"} - if thMatched, err := thServ.processEvent(argsGetThresholds[0].Tenant, argsGetThresholds[0]); err != utils.ErrPartiallyExecuted { - t.Errorf("Error: %+v", err) + if thMatched, err := thServ.processEvent(testThresholdArgs[0].Tenant, testThresholdArgs[0]); err != utils.ErrPartiallyExecuted { + t.Fatal(err) } else if !reflect.DeepEqual(thIDs, thMatched) { t.Errorf("Expecting: %+v, received: %+v", thIDs, thMatched) } thIDs = []string{"TH_2"} - if thMatched, err := thServ.processEvent(argsGetThresholds[1].Tenant, argsGetThresholds[1]); err != utils.ErrPartiallyExecuted { - t.Errorf("Error: %+v", err) + if thMatched, err := thServ.processEvent(testThresholdArgs[1].Tenant, testThresholdArgs[1]); err != utils.ErrPartiallyExecuted { + t.Fatal(err) } else if !reflect.DeepEqual(thIDs, thMatched) { t.Errorf("Expecting: %+v, received: %+v", thIDs, thMatched) } thIDs = []string{"TH_3"} - if thMatched, err := thServ.processEvent(argsGetThresholds[2].Tenant, argsGetThresholds[2]); err != utils.ErrPartiallyExecuted { - t.Errorf("Error: %+v", err) + if thMatched, err := thServ.processEvent(testThresholdArgs[2].Tenant, testThresholdArgs[2]); err != utils.ErrPartiallyExecuted { + t.Fatal(err) } else if !reflect.DeepEqual(thIDs, thMatched) { t.Errorf("Expecting: %+v, received: %+v", thIDs, thMatched) } - thMatched, err := thServ.matchingThresholdsForEvent(argsGetThresholds[0].Tenant, argsGetThresholds[0]) + thMatched, err := thServ.matchingThresholdsForEvent(testThresholdArgs[0].Tenant, testThresholdArgs[0]) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } thMatched.unlock() - if !reflect.DeepEqual(ths[0].Tenant, thMatched[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", ths[0].Tenant, thMatched[0].Tenant) - } else if !reflect.DeepEqual(ths[0].ID, thMatched[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", ths[0].ID, thMatched[0].ID) + if !reflect.DeepEqual(testThresholds[0].Tenant, thMatched[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[0].Tenant, thMatched[0].Tenant) + } else if !reflect.DeepEqual(testThresholds[0].ID, thMatched[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[0].ID, thMatched[0].ID) } else if thMatched[0].Hits != 1 { t.Errorf("Expecting: 1, received: %+v", thMatched[0].Hits) } - thMatched, err = thServ.matchingThresholdsForEvent(argsGetThresholds[1].Tenant, argsGetThresholds[1]) + thMatched, err = thServ.matchingThresholdsForEvent(testThresholdArgs[1].Tenant, testThresholdArgs[1]) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } thMatched.unlock() - if !reflect.DeepEqual(ths[1].Tenant, thMatched[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", ths[1].Tenant, thMatched[0].Tenant) - } else if !reflect.DeepEqual(ths[1].ID, thMatched[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", ths[1].ID, thMatched[0].ID) + if !reflect.DeepEqual(testThresholds[1].Tenant, thMatched[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[1].Tenant, thMatched[0].Tenant) + } else if !reflect.DeepEqual(testThresholds[1].ID, thMatched[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[1].ID, thMatched[0].ID) } else if thMatched[0].Hits != 1 { t.Errorf("Expecting: 1, received: %+v", thMatched[0].Hits) } - thMatched, err = thServ.matchingThresholdsForEvent(argsGetThresholds[2].Tenant, argsGetThresholds[2]) + thMatched, err = thServ.matchingThresholdsForEvent(testThresholdArgs[2].Tenant, testThresholdArgs[2]) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } thMatched.unlock() - if !reflect.DeepEqual(ths[2].Tenant, thMatched[0].Tenant) { - t.Errorf("Expecting: %+v, received: %+v", ths[2].Tenant, thMatched[0].Tenant) - } else if !reflect.DeepEqual(ths[2].ID, thMatched[0].ID) { - t.Errorf("Expecting: %+v, received: %+v", ths[2].ID, thMatched[0].ID) + if !reflect.DeepEqual(testThresholds[2].Tenant, thMatched[0].Tenant) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[2].Tenant, thMatched[0].Tenant) + } else if !reflect.DeepEqual(testThresholds[2].ID, thMatched[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", testThresholds[2].ID, thMatched[0].ID) } else if thMatched[0].Hits != 1 { t.Errorf("Expecting: 1, received: %+v", thMatched[0].Hits) } } func TestThresholdsProcessEvent2(t *testing.T) { - var dmTH *DataManager - var thServ *ThresholdService - tPrfls := []*ThresholdProfile{ - { - Tenant: "cgrates.org", - ID: "TH_1", - FilterIDs: []string{"FLTR_TH_1"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_2", - FilterIDs: []string{"FLTR_TH_2"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - { - Tenant: "cgrates.org", - ID: "TH_3", - FilterIDs: []string{"FLTR_TH_3"}, - ActivationInterval: &utils.ActivationInterval{ - ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), - }, - MaxHits: 12, - MinSleep: 5 * time.Minute, - Blocker: false, - Weight: 20.0, - ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, - }, - } - ths := Thresholds{ - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_1", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_2", - Hits: 0, - }, - &Threshold{ - Tenant: "cgrates.org", - ID: "TH_3", - Hits: 0, - }, - } - argsGetThresholds := []*ThresholdsArgsProcessEvent{ - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "TH_1", - "Weight": "10.0", - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "TH_2", - "Weight": "20.0", - }, - }, - }, - { - CGREvent: &utils.CGREvent{ - Tenant: "cgrates.org", - ID: "Ev1", - Event: map[string]interface{}{ - "Threshold": "ThresholdPrefix123", - }, - }, - }, - } - - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) - dmTH = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ThresholdSCfg().StoreInterval = 0 - defaultCfg.ThresholdSCfg().StringIndexedFields = nil - defaultCfg.ThresholdSCfg().PrefixIndexedFields = nil - thServ = NewThresholdService(dmTH, defaultCfg, &FilterS{dm: dmTH, cfg: defaultCfg}) - if err != nil { - t.Errorf("Error: %+v", err) - } - - fltrTh1 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_1", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Threshold", - Values: []string{"TH_1"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"9.0"}, - }, - }, - } - dmTH.SetFilter(fltrTh1, true) - fltrTh2 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_2", - Rules: []*FilterRule{ - { - Type: utils.MetaString, - Element: "~*req.Threshold", - Values: []string{"TH_2"}, - }, - { - Type: utils.MetaGreaterOrEqual, - Element: utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + utils.Weight, - Values: []string{"15.0"}, - }, - }, - } - dmTH.SetFilter(fltrTh2, true) - fltrTh3 := &Filter{ - Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - ID: "FLTR_TH_3", - Rules: []*FilterRule{ - { - Type: utils.MetaPrefix, - Element: "~*req.Threshold", - Values: []string{"ThresholdPrefix"}, - }, - }, - } - dmTH.SetFilter(fltrTh3, true) - - for _, th := range tPrfls { - if err = dmTH.SetThresholdProfile(th, true); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each threshold profile from cache - for _, th := range tPrfls { - if temptTh, err := dmTH.GetThresholdProfile(th.Tenant, - th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(th, temptTh) { - t.Errorf("Expecting: %+v, received: %+v", th, temptTh) - } - } - for _, th := range ths { - if err = dmTH.SetThreshold(th); err != nil { - t.Errorf("Error: %+v", err) - } - } - //Test each threshold profile from cache - for _, th := range ths { - if temptTh, err := dmTH.GetThreshold(th.Tenant, - th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) - } else if !reflect.DeepEqual(th, temptTh) { - t.Errorf("Expecting: %+v, received: %+v", th, temptTh) - } - } + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + cfg.ThresholdSCfg().StoreInterval = 0 + cfg.ThresholdSCfg().StringIndexedFields = nil + cfg.ThresholdSCfg().PrefixIndexedFields = nil + thServ := NewThresholdService(dmTH, cfg, &FilterS{dm: dmTH, cfg: cfg}) + prepareThresholdData(t, dmTH) thPrf := &ThresholdProfile{ Tenant: "cgrates.org", @@ -1037,42 +405,39 @@ func TestThresholdsProcessEvent2(t *testing.T) { ActivationTime: time.Date(2014, 7, 14, 14, 35, 0, 0, time.UTC), }, MaxHits: 12, - Blocker: false, Weight: 20.0, ActionIDs: []string{"ACT_1", "ACT_2"}, - Async: false, } th := &Threshold{ Tenant: "cgrates.org", ID: "TH_4", - Hits: 0, } ev := &ThresholdsArgsProcessEvent{ ThresholdIDs: []string{"TH_1", "TH_2", "TH_3", "TH_4"}, - CGREvent: argsGetThresholds[0].CGREvent, + CGREvent: testThresholdArgs[0].CGREvent, } if err = dmTH.SetThresholdProfile(thPrf, true); err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if temptTh, err := dmTH.GetThresholdProfile(thPrf.Tenant, thPrf.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } else if !reflect.DeepEqual(thPrf, temptTh) { t.Errorf("Expecting: %+v, received: %+v", th, temptTh) } if err = dmTH.SetThreshold(th); err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } if temptTh, err := dmTH.GetThreshold(th.Tenant, th.ID, true, false, utils.NonTransactional); err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } else if !reflect.DeepEqual(th, temptTh) { t.Errorf("Expecting: %+v, received: %+v", th, temptTh) } thIDs := []string{"TH_1", "TH_4"} thIDsRev := []string{"TH_4", "TH_1"} if thMatched, err := thServ.processEvent(ev.Tenant, ev); err != utils.ErrPartiallyExecuted { - t.Errorf("Error: %+v", err) + t.Fatal(err) } else if !reflect.DeepEqual(thIDs, thMatched) && !reflect.DeepEqual(thIDsRev, thMatched) { t.Errorf("Expecting: %+v, received: %+v", thIDs, thMatched) } @@ -1094,7 +459,7 @@ func TestThresholdsProcessEvent2(t *testing.T) { func TestThresholdsUpdateThreshold(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) thp := &ThresholdProfile{ Tenant: "cgrates.org", ID: "THUP1", @@ -1346,7 +711,7 @@ func TestThresholdsShutdown(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tS := NewThresholdService(dm, cfg, nil) @@ -1369,7 +734,7 @@ func TestThresholdsStoreThresholdsOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tS := NewThresholdService(dm, cfg, nil) @@ -1456,7 +821,7 @@ func TestThresholdsStoreThresholdsCacheGetErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tS := NewThresholdService(dm, cfg, nil) @@ -1483,7 +848,7 @@ func TestThresholdsStoreThresholdsCacheGetErr(t *testing.T) { func TestThresholdsStoreThresholdNilDirtyField(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tS := NewThresholdService(dm, cfg, nil) @@ -1557,7 +922,7 @@ func TestThresholdsRPCClone(t *testing.T) { func TestThresholdsProcessEventOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := NewThresholdService(dm, cfg, filterS) @@ -1616,7 +981,7 @@ func TestThresholdsProcessEventOK(t *testing.T) { func TestThresholdsProcessEventStoreThOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := NewThresholdService(dm, cfg, filterS) @@ -1676,15 +1041,15 @@ func TestThresholdsProcessEventMaxHitsDMErr(t *testing.T) { var buf bytes.Buffer log.SetOutput(&buf) tmp := config.CgrConfig() - tmpC := Cache tmpCMgr := connMgr + Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.RPCConns()["test"] = &config.RPCConn{Conns: []*config.RemoteHost{{}}} cfg.CacheCfg().ReplicationConns = []string{"test"} cfg.CacheCfg().Partitions[utils.CacheThresholds].Replicate = true config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr = NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) dm := NewDataManager(data, cfg.CacheCfg(), connMgr) filterS := NewFilterS(cfg, nil, dm) @@ -1693,7 +1058,6 @@ func TestThresholdsProcessEventMaxHitsDMErr(t *testing.T) { defer func() { connMgr = tmpCMgr - Cache = tmpC config.SetCgrConfig(tmp) log.SetOutput(os.Stderr) }() @@ -1722,6 +1086,8 @@ func TestThresholdsProcessEventMaxHitsDMErr(t *testing.T) { if err := dm.SetThreshold(th); err != nil { t.Error(err) } + Cache.Set(utils.CacheThresholdProfiles, thPrf.TenantID(), thPrf, nil, true, utils.NonTransactional) + Cache.Set(utils.CacheThresholds, thPrf.TenantID(), th, nil, true, utils.NonTransactional) args := &ThresholdsArgsProcessEvent{ ThresholdIDs: []string{"TH3"}, @@ -1754,7 +1120,7 @@ func TestThresholdsProcessEventMaxHitsDMErr(t *testing.T) { func TestThresholdsProcessEventNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := NewThresholdService(dm, cfg, filterS) @@ -1810,7 +1176,7 @@ func TestThresholdsV1ProcessEventOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -1833,10 +1199,8 @@ func TestThresholdsV1ProcessEventOK(t *testing.T) { Tenant: "cgrates.org", ID: "TH2", FilterIDs: []string{"*string:~*req.Account:1001"}, - MinHits: 0, MaxHits: 7, Weight: 20, - Blocker: false, } if err := dm.SetThresholdProfile(thPrf2, true); err != nil { t.Error(err) @@ -1878,7 +1242,7 @@ func TestThresholdsV1ProcessEventPartExecErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -1902,10 +1266,8 @@ func TestThresholdsV1ProcessEventPartExecErr(t *testing.T) { ID: "TH4", FilterIDs: []string{"*string:~*req.Account:1001"}, ActionIDs: []string{"ACT1"}, - MinHits: 0, MaxHits: 7, Weight: 20, - Blocker: false, } if err := dm.SetThresholdProfile(thPrf2, true); err != nil { t.Error(err) @@ -1943,7 +1305,7 @@ func TestThresholdsV1ProcessEventMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -1966,10 +1328,8 @@ func TestThresholdsV1ProcessEventMissingArgs(t *testing.T) { Tenant: "cgrates.org", ID: "TH2", FilterIDs: []string{"*string:~*req.Account:1001"}, - MinHits: 0, MaxHits: 7, Weight: 20, - Blocker: false, } if err := dm.SetThresholdProfile(thPrf2, true); err != nil { t.Error(err) @@ -2027,7 +1387,7 @@ func TestThresholdsV1GetThresholdOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2049,7 +1409,6 @@ func TestThresholdsV1GetThresholdOK(t *testing.T) { expTh := Threshold{ Tenant: "cgrates.org", ID: "TH1", - Hits: 0, } var rplyTh Threshold if err := tS.V1GetThreshold(&utils.TenantID{ @@ -2074,7 +1433,7 @@ func TestThresholdsV1GetThresholdNotFoundErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2106,7 +1465,7 @@ func TestThresholdMatchingThresholdForEventLocks(t *testing.T) { tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -2133,7 +1492,7 @@ func TestThresholdMatchingThresholdForEventLocks(t *testing.T) { CGREvent: new(utils.CGREvent), }) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } defer mth.unlock() for _, rPrf := range prfs { @@ -2160,7 +1519,7 @@ func TestThresholdMatchingThresholdForEventLocks2(t *testing.T) { tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -2222,7 +1581,7 @@ func TestThresholdMatchingThresholdForEventLocksBlocker(t *testing.T) { tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -2249,7 +1608,7 @@ func TestThresholdMatchingThresholdForEventLocksBlocker(t *testing.T) { CGREvent: new(utils.CGREvent), }) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } defer mres.unlock() if len(mres) != 5 { @@ -2282,7 +1641,7 @@ func TestThresholdMatchingThresholdForEventLocksActivationInterval(t *testing.T) tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -2317,7 +1676,7 @@ func TestThresholdMatchingThresholdForEventLocksActivationInterval(t *testing.T) CGREvent: &utils.CGREvent{Time: utils.TimePointer(time.Now())}, }) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } defer mres.unlock() if rPrf.isLocked() { @@ -2386,7 +1745,7 @@ func TestThresholdMatchingThresholdForEventLocks4(t *testing.T) { tmp := Cache defer func() { Cache = tmp }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -2413,7 +1772,7 @@ func TestThresholdMatchingThresholdForEventLocks4(t *testing.T) { CGREvent: new(utils.CGREvent), }) if err != nil { - t.Errorf("Error: %+v", err) + t.Fatal(err) } defer mres.unlock() for _, rPrf := range prfs { @@ -2438,7 +1797,7 @@ func TestThresholdMatchingThresholdForEventLocks5(t *testing.T) { config.SetCgrConfig(tmpC) }() Cache = NewCacheS(cfg, nil, nil) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector))) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -2469,7 +1828,7 @@ func TestThresholdMatchingThresholdForEventLocks5(t *testing.T) { CGREvent: new(utils.CGREvent), }) if err != utils.ErrDisconnected { - t.Errorf("Error: %+v", err) + t.Fatal(err) } for _, rPrf := range prfs { if rPrf.isLocked() { @@ -2489,7 +1848,7 @@ func TestThresholdMatchingThresholdForEventLocks5(t *testing.T) { func TestThresholdsRunBackupStoreIntervalLessThanZero(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := &ThresholdService{ @@ -2511,7 +1870,7 @@ func TestThresholdsRunBackupStoreIntervalLessThanZero(t *testing.T) { func TestThresholdsRunBackupStop(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = 5 * time.Millisecond - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := &ThresholdService{ @@ -2526,7 +1885,6 @@ func TestThresholdsRunBackupStop(t *testing.T) { } value := &Threshold{ - Hits: 0, dirty: utils.BoolPointer(true), Tenant: "cgrates.org", ID: "Th1", @@ -2536,7 +1894,6 @@ func TestThresholdsRunBackupStop(t *testing.T) { utils.NonTransactional) exp := &Threshold{ - Hits: 0, dirty: utils.BoolPointer(false), Tenant: "cgrates.org", ID: "Th1", @@ -2563,7 +1920,7 @@ func TestThresholdsRunBackupStop(t *testing.T) { func TestThresholdsReload(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = 5 * time.Millisecond - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := &ThresholdService{ @@ -2581,7 +1938,7 @@ func TestThresholdsReload(t *testing.T) { func TestThresholdsStartLoop(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := &ThresholdService{ @@ -2609,7 +1966,7 @@ func TestThresholdsV1GetThresholdsForEventOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2640,7 +1997,6 @@ func TestThresholdsV1GetThresholdsForEventOK(t *testing.T) { exp := Thresholds{ { Tenant: "cgrates.org", - Hits: 0, ID: "TH1", tPrfl: thPrf, dirty: utils.BoolPointer(false), @@ -2663,7 +2019,7 @@ func TestThresholdsV1GetThresholdsForEventMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2734,7 +2090,7 @@ func TestThresholdsV1GetThresholdIDsOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2808,7 +2164,7 @@ func TestThresholdsV1ResetThresholdOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2861,7 +2217,7 @@ func TestThresholdsV1ResetThresholdErrNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2906,7 +2262,7 @@ func TestThresholdsV1ResetThresholdNegativeStoreIntervalOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -2955,7 +2311,7 @@ func TestThresholdsV1ResetThresholdNegativeStoreIntervalErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3070,7 +2426,7 @@ func TestThresholdsMatchingThresholdsForEventNotFoundErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) filterS := NewFilterS(cfg, nil, dm) @@ -3127,7 +2483,7 @@ func TestThresholdsStoreThresholdCacheSetErr(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheThresholds].Replicate = true cfg.RPCConns()["test"] = &config.RPCConn{Conns: []*config.RemoteHost{{}}} config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) @@ -3139,7 +2495,8 @@ func TestThresholdsStoreThresholdCacheSetErr(t *testing.T) { ID: "TH1", dirty: utils.BoolPointer(true), } - + Cache.SetWithoutReplicate(utils.CacheThresholds, "cgrates.org:TH1", th, nil, true, + utils.NonTransactional) expLog := `[WARNING] failed caching Threshold with ID: cgrates.org:TH1, error: DISCONNECTED` if err := tS.StoreThreshold(th); err == nil || err.Error() != utils.ErrDisconnected.Error() { diff --git a/engine/tpreader_test.go b/engine/tpreader_test.go index 652d2c984..f9a059830 100644 --- a/engine/tpreader_test.go +++ b/engine/tpreader_test.go @@ -927,8 +927,8 @@ func TestGetLoadedIdsError(t *testing.T) { } func TestReloadCache(t *testing.T) { - data := NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, false, cfg.DataDbCfg().Items) argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: map[string]interface{}{}, Tenant: "cgrates.org", diff --git a/engine/version_test.go b/engine/version_test.go index f62c45863..d0a20eb4c 100644 --- a/engine/version_test.go +++ b/engine/version_test.go @@ -127,7 +127,7 @@ func TestCurrentDBVersions(t *testing.T) { //Compare AllVersions expStr := "cgr-migrator" - if rcv := expVersDataDB.Compare(expVersStorDB, utils.INTERNAL, true); !strings.Contains(rcv, expStr) { + if rcv := expVersDataDB.Compare(expVersStorDB, utils.Internal, true); !strings.Contains(rcv, expStr) { t.Errorf("Expected %+v, received %+v", expStr, rcv) } } diff --git a/engine/z_actions2_it_test.go b/engine/z_actions2_it_test.go index 16eaccc7f..9dd357459 100644 --- a/engine/z_actions2_it_test.go +++ b/engine/z_actions2_it_test.go @@ -87,7 +87,7 @@ func testActionsInitCfg(t *testing.T) { func testActionsInitCdrsStore(t *testing.T) { switch *dbType { case utils.MetaInternal: - actsCdrStore = NewInternalDB(actsCfg.StorDbCfg().StringIndexedFields, actsCfg.StorDbCfg().PrefixIndexedFields, true) + actsCdrStore = NewInternalDB(nil, nil, true, actsCfg.DataDbCfg().Items) case utils.MetaMySQL: if actsCdrStore, err = NewMySQLStorage(actsCfg.StorDbCfg().Host, actsCfg.StorDbCfg().Port, actsCfg.StorDbCfg().Name, diff --git a/engine/z_attributes_test.go b/engine/z_attributes_test.go index a00649e7b..3072c51e1 100644 --- a/engine/z_attributes_test.go +++ b/engine/z_attributes_test.go @@ -149,13 +149,14 @@ var ( ) func TestAttributePopulateAttrService(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - defaultCfg.AttributeSCfg().StringIndexedFields = nil - defaultCfg.AttributeSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + cfg.AttributeSCfg().StringIndexedFields = nil + cfg.AttributeSCfg().PrefixIndexedFields = nil + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) + Cache = NewCacheS(cfg, dmAtr, nil) } func TestAttributeAddFilters(t *testing.T) { @@ -1743,11 +1744,11 @@ func TestAttributeProcessEventValueExponent(t *testing.T) { } func BenchmarkAttributeProcessEventConstant(b *testing.B) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) //refresh the DM if err := dmAtr.DataDB().Flush(""); err != nil { b.Error(err) @@ -1801,11 +1802,11 @@ func BenchmarkAttributeProcessEventConstant(b *testing.B) { } func BenchmarkAttributeProcessEventVariable(b *testing.B) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) //refresh the DM if err := dmAtr.DataDB().Flush(""); err != nil { @@ -1890,11 +1891,11 @@ func TestGetAttributeProfileFromInline(t *testing.T) { } func TestProcessAttributeConstant(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_CONSTANT", @@ -1947,12 +1948,12 @@ func TestProcessAttributeConstant(t *testing.T) { } func TestProcessAttributeVariable(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_VARIABLE", @@ -2008,12 +2009,12 @@ func TestProcessAttributeVariable(t *testing.T) { } func TestProcessAttributeComposed(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_COMPOSED", @@ -2075,12 +2076,12 @@ func TestProcessAttributeComposed(t *testing.T) { } func TestProcessAttributeUsageDifference(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_USAGE_DIFF", @@ -2137,12 +2138,12 @@ func TestProcessAttributeUsageDifference(t *testing.T) { } func TestProcessAttributeSum(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_SUM", @@ -2199,12 +2200,12 @@ func TestProcessAttributeSum(t *testing.T) { } func TestProcessAttributeDiff(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_DIFF", @@ -2261,12 +2262,12 @@ func TestProcessAttributeDiff(t *testing.T) { } func TestProcessAttributeMultiply(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_MULTIPLY", @@ -2323,12 +2324,12 @@ func TestProcessAttributeMultiply(t *testing.T) { } func TestProcessAttributeDivide(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_DIVIDE", @@ -2385,12 +2386,12 @@ func TestProcessAttributeDivide(t *testing.T) { } func TestProcessAttributeValueExponent(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_VAL_EXP", @@ -2447,12 +2448,12 @@ func TestProcessAttributeValueExponent(t *testing.T) { } func TestProcessAttributeUnixTimeStamp(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_UNIX_TIMESTAMP", @@ -2509,12 +2510,12 @@ func TestProcessAttributeUnixTimeStamp(t *testing.T) { } func TestProcessAttributePrefix(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_PREFIX", @@ -2570,12 +2571,12 @@ func TestProcessAttributePrefix(t *testing.T) { } func TestProcessAttributeSuffix(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_SUFFIX", @@ -2632,14 +2633,14 @@ func TestProcessAttributeSuffix(t *testing.T) { func TestAttributeIndexSelectsFalse(t *testing.T) { // change the IndexedSelects to false - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - defaultCfg.AttributeSCfg().StringIndexedFields = nil - defaultCfg.AttributeSCfg().PrefixIndexedFields = nil - defaultCfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + cfg.AttributeSCfg().StringIndexedFields = nil + cfg.AttributeSCfg().PrefixIndexedFields = nil + cfg.AttributeSCfg().IndexedSelects = false + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) //refresh the DM if err := dmAtr.DataDB().Flush(""); err != nil { @@ -2691,12 +2692,12 @@ func TestAttributeIndexSelectsFalse(t *testing.T) { } func TestProcessAttributeWithSameWeight(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().ProcessRuns = 1 - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().ProcessRuns = 1 + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_1", @@ -2765,12 +2766,12 @@ func TestProcessAttributeWithSameWeight(t *testing.T) { } func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().IndexedSelects = false + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf1Exists := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_1_EXISTS", @@ -2859,12 +2860,12 @@ func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { } func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + cfg.AttributeSCfg().IndexedSelects = false + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) - attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: defaultCfg}, defaultCfg) + attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf1NotEmpty := &AttributeProfile{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "ATTR_1_NOTEMPTY", @@ -2955,7 +2956,7 @@ func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { func TestAttributeMetaTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - dm := NewDataManager(NewInternalDB(nil, nil, true), config.CgrConfig().CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dm, &FilterS{dm: dm, cfg: cfg}, cfg) attr1 := &AttributeProfile{ @@ -3009,7 +3010,7 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.AttributeSCfg().IndexedSelects = false - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) fltrS := NewFilterS(cfg, nil, dm) fltr := &Filter{ @@ -3110,7 +3111,7 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { func TestAttributeMultipleProfileRunns(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dm, &FilterS{dm: dm, cfg: cfg}, cfg) attrPrf1Exists := &AttributeProfile{ diff --git a/engine/z_chargers_test.go b/engine/z_chargers_test.go index cf966aed4..b06943875 100644 --- a/engine/z_chargers_test.go +++ b/engine/z_chargers_test.go @@ -28,8 +28,8 @@ import ( func TestChargersmatchingChargerProfilesForEventErrPass(t *testing.T) { Cache.Clear(nil) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().IndexedSelects = false dbm := &DataDBMock{ GetChargerProfileDrvF: func(s1, s2 string) (*ChargerProfile, error) { @@ -47,14 +47,14 @@ func TestChargersmatchingChargerProfilesForEventErrPass(t *testing.T) { return nil, utils.ErrNotImplemented }, } - dmFilter := NewDataManager(dbm, defaultCfg.CacheCfg(), nil) + dmFilter := NewDataManager(dbm, cfg.CacheCfg(), nil) cS := &ChargerService{ dm: dmFilter, filterS: &FilterS{ dm: dmFilter, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, + cfg: cfg, } cgrEvTm := time.Date(2021, 4, 19, 12, 0, 0, 0, time.UTC) cgrEv := &utils.CGREvent{ @@ -86,8 +86,8 @@ func TestChargersmatchingChargerProfilesForEventErrPass(t *testing.T) { func TestChargersmatchingChargerProfilesForEventNotActive(t *testing.T) { Cache.Clear(nil) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().IndexedSelects = false dbm := &DataDBMock{ GetChargerProfileDrvF: func(s1, s2 string) (*ChargerProfile, error) { @@ -108,14 +108,14 @@ func TestChargersmatchingChargerProfilesForEventNotActive(t *testing.T) { return nil, utils.ErrNotImplemented }, } - dmFilter := NewDataManager(dbm, defaultCfg.CacheCfg(), nil) + dmFilter := NewDataManager(dbm, cfg.CacheCfg(), nil) cS := &ChargerService{ dm: dmFilter, filterS: &FilterS{ dm: dmFilter, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, + cfg: cfg, } cgrEvTm := time.Date(2021, 4, 19, 12, 0, 0, 0, time.UTC) cgrEv := &utils.CGREvent{ @@ -147,8 +147,8 @@ func TestChargersmatchingChargerProfilesForEventNotActive(t *testing.T) { func TestChargersprocessEventNoConnIDs(t *testing.T) { Cache.Clear(nil) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().IndexedSelects = false dbm := &DataDBMock{ GetChargerProfileDrvF: func(s1, s2 string) (*ChargerProfile, error) { @@ -169,14 +169,14 @@ func TestChargersprocessEventNoConnIDs(t *testing.T) { }, nil }, } - dmFilter := NewDataManager(dbm, defaultCfg.CacheCfg(), nil) + dmFilter := NewDataManager(dbm, cfg.CacheCfg(), nil) cS := &ChargerService{ dm: dmFilter, filterS: &FilterS{ dm: dmFilter, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, + cfg: cfg, } cgrEvTm := time.Date(2021, 4, 19, 12, 0, 0, 0, time.UTC) cgrEv := &utils.CGREvent{ @@ -222,13 +222,13 @@ func (ccM *ccMock) Call(serviceMethod string, args interface{}, reply interface{ func TestChargersprocessEventCallNilErr(t *testing.T) { Cache.Clear(nil) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().AttributeSConns = []string{ + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - data := NewInternalDB(nil, nil, true) - dm := NewDataManager(data, defaultCfg.CacheCfg(), nil) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := NewDataManager(data, cfg.CacheCfg(), nil) cP := &ChargerProfile{ Tenant: "cgrates.org", ID: "1001", @@ -264,10 +264,10 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { dm: dm, filterS: &FilterS{ dm: dm, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, - connMgr: NewConnManager(defaultCfg, map[string]chan rpcclient.ClientConnector{ + cfg: cfg, + connMgr: NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): rpcInternal, }), } @@ -312,12 +312,12 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { func TestChargersprocessEventCallErr(t *testing.T) { Cache.Clear(nil) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - data := NewInternalDB(nil, nil, true) - dm := NewDataManager(data, defaultCfg.CacheCfg(), nil) + data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := NewDataManager(data, cfg.CacheCfg(), nil) cP := &ChargerProfile{ Tenant: "cgrates.org", ID: "1001", @@ -342,10 +342,10 @@ func TestChargersprocessEventCallErr(t *testing.T) { dm: dm, filterS: &FilterS{ dm: dm, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, - connMgr: NewConnManager(defaultCfg, map[string]chan rpcclient.ClientConnector{ + cfg: cfg, + connMgr: NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): rpcInternal, }), } @@ -393,12 +393,12 @@ func TestChargersprocessEventCallErr(t *testing.T) { func TestChargersV1ProcessEventErrNotFound(t *testing.T) { Cache.Clear(nil) - dataDB := NewInternalDB(nil, nil, true) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().AttributeSConns = []string{ + cfg := config.NewDefaultCGRConfig() + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - dm := NewDataManager(dataDB, defaultCfg.CacheCfg(), nil) + dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) cP := &ChargerProfile{ Tenant: "cgrates.org", @@ -435,10 +435,10 @@ func TestChargersV1ProcessEventErrNotFound(t *testing.T) { dm: dm, filterS: &FilterS{ dm: dm, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, - connMgr: NewConnManager(defaultCfg, map[string]chan rpcclient.ClientConnector{ + cfg: cfg, + connMgr: NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): rpcInternal, }), } @@ -464,12 +464,12 @@ func TestChargersV1ProcessEventErrNotFound(t *testing.T) { func TestChargersV1ProcessEventErrOther(t *testing.T) { Cache.Clear(nil) - dataDB := NewInternalDB(nil, nil, true) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().AttributeSConns = []string{ + cfg := config.NewDefaultCGRConfig() + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - dm := NewDataManager(dataDB, defaultCfg.CacheCfg(), nil) + dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) cP := &ChargerProfile{ Tenant: "cgrates.org", @@ -506,10 +506,10 @@ func TestChargersV1ProcessEventErrOther(t *testing.T) { dm: dm, filterS: &FilterS{ dm: dm, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, - connMgr: NewConnManager(defaultCfg, map[string]chan rpcclient.ClientConnector{ + cfg: cfg, + connMgr: NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): rpcInternal, }), } @@ -541,12 +541,12 @@ func TestChargersV1ProcessEventErrOther(t *testing.T) { func TestChargersV1ProcessEvent(t *testing.T) { Cache.Clear(nil) - dataDB := NewInternalDB(nil, nil, true) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().AttributeSConns = []string{ + cfg := config.NewDefaultCGRConfig() + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - dm := NewDataManager(dataDB, defaultCfg.CacheCfg(), nil) + dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) cP := &ChargerProfile{ Tenant: "cgrates.org", @@ -583,10 +583,10 @@ func TestChargersV1ProcessEvent(t *testing.T) { dm: dm, filterS: &FilterS{ dm: dm, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, - connMgr: NewConnManager(defaultCfg, map[string]chan rpcclient.ClientConnector{ + cfg: cfg, + connMgr: NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): rpcInternal, }), } @@ -629,12 +629,12 @@ func TestChargersV1ProcessEvent(t *testing.T) { func TestChargersV1GetChargersForEventNilErr(t *testing.T) { Cache.Clear(nil) - dataDB := NewInternalDB(nil, nil, true) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false - defaultCfg.ChargerSCfg().AttributeSConns = []string{ + cfg := config.NewDefaultCGRConfig() + dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + cfg.ChargerSCfg().IndexedSelects = false + cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - dm := NewDataManager(dataDB, defaultCfg.CacheCfg(), nil) + dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) cP := &ChargerProfile{ Tenant: "cgrates.org", @@ -650,9 +650,9 @@ func TestChargersV1GetChargersForEventNilErr(t *testing.T) { dm: dm, filterS: &FilterS{ dm: dm, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, + cfg: cfg, } args := &utils.CGREvent{ ID: "cgrEvID", @@ -688,23 +688,23 @@ func TestChargersV1GetChargersForEventNilErr(t *testing.T) { func TestChargersV1GetChargersForEventErr(t *testing.T) { Cache.Clear(nil) - defaultCfg := config.NewDefaultCGRConfig() - defaultCfg.ChargerSCfg().IndexedSelects = false + cfg := config.NewDefaultCGRConfig() + cfg.ChargerSCfg().IndexedSelects = false dbm := &DataDBMock{ GetKeysForPrefixF: func(s string) ([]string, error) { return []string{":"}, nil }, } - dm := NewDataManager(dbm, defaultCfg.CacheCfg(), nil) + dm := NewDataManager(dbm, cfg.CacheCfg(), nil) cS := &ChargerService{ dm: dm, filterS: &FilterS{ dm: dm, - cfg: defaultCfg, + cfg: cfg, }, - cfg: defaultCfg, + cfg: cfg, } args := &utils.CGREvent{ ID: "cgrEvID", diff --git a/engine/z_filterhelpers_test.go b/engine/z_filterhelpers_test.go index cbe846377..9f6cc1282 100644 --- a/engine/z_filterhelpers_test.go +++ b/engine/z_filterhelpers_test.go @@ -35,7 +35,7 @@ func TestFilterMatchingItemIDsForEvent(t *testing.T) { stringFilterID := "stringFilterID" prefixFilterID := "prefixFilterID" suffixFilterID := "suffixFilterID" - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dmMatch = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) context := utils.MetaRating @@ -141,7 +141,7 @@ func TestFilterMatchingItemIDsForEvent2(t *testing.T) { var stringFilter, prefixFilter, defaultFilter []*FilterRule stringFilterID := "stringFilterID" prefixFilterID := "prefixFilterID" - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dmMatch = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) context := utils.MetaRating x, err := NewFilterRule(utils.MetaString, "~*req.CallCost.Account", []string{"1001"}) diff --git a/engine/z_filterindexer_it_test.go b/engine/z_filterindexer_it_test.go index 7d271a0f0..9e9203545 100644 --- a/engine/z_filterindexer_it_test.go +++ b/engine/z_filterindexer_it_test.go @@ -90,12 +90,12 @@ var sTests = []func(t *testing.T){ } func TestFilterIndexerIT(t *testing.T) { + cfg := config.NewDefaultCGRConfig() switch *dbType { case utils.MetaInternal: - dataManager = NewDataManager(NewInternalDB(nil, nil, true), + dataManager = NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) case utils.MetaMySQL: - cfg := config.NewDefaultCGRConfig() redisDB, err := NewRedisStorage( fmt.Sprintf("%s:%s", cfg.DataDbCfg().Host, cfg.DataDbCfg().Port), 4, cfg.DataDbCfg().User, cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, diff --git a/engine/z_filterindexer_test.go b/engine/z_filterindexer_test.go index 3c029bbeb..8f25fd887 100644 --- a/engine/z_filterindexer_test.go +++ b/engine/z_filterindexer_test.go @@ -15,16 +15,17 @@ along with this program. If not, see package engine import ( - "github.com/cgrates/cgrates/config" - "github.com/cgrates/cgrates/utils" "reflect" "testing" + + "github.com/cgrates/cgrates/config" + "github.com/cgrates/cgrates/utils" ) func TestFilterIndexesCheckingDynamicPathToNotIndex(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) //set 4 attr profiles with different filters to index them @@ -133,7 +134,7 @@ func TestFilterIndexesCheckingDynamicPathToNotIndex(t *testing.T) { func TestFilterIndexesCheckingDynamicPathToNotIndexAsm(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // set 1 charger profile with different *asm filter to index @@ -170,7 +171,7 @@ func TestFilterIndexesCheckingDynamicPathToNotIndexAsm(t *testing.T) { func TestFilterIndexesCheckingDynamicPathToNotIndexLibphNmbr(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // set 1 charger profile with different *libphonenumber filter to index diff --git a/engine/z_libindex_health_test.go b/engine/z_libindex_health_test.go index 3683804aa..27c5eb94d 100644 --- a/engine/z_libindex_health_test.go +++ b/engine/z_libindex_health_test.go @@ -32,7 +32,7 @@ import ( func TestHealthAccountAction(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetAccountActionPlans("1001", []string{"AP1", "AP2"}, true); err != nil { @@ -60,7 +60,7 @@ func TestHealthAccountAction(t *testing.T) { func TestHealthAccountAction2(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetAccountActionPlans("1001", []string{"AP1", "AP2"}, true); err != nil { @@ -88,7 +88,7 @@ func TestHealthAccountAction2(t *testing.T) { func TestHealthAccountAction3(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetAccountActionPlans("1002", []string{"AP1"}, true); err != nil { @@ -123,7 +123,7 @@ func TestHealthAccountAction3(t *testing.T) { func TestHealthAccountAction4(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetAccountActionPlans("1002", []string{"AP2", "AP1"}, true); err != nil { @@ -161,7 +161,7 @@ func TestHealthAccountAction4(t *testing.T) { func TestHealthReverseDestination(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetReverseDestination("DST1", []string{"1001", "1002"}, utils.NonTransactional); err != nil { @@ -191,7 +191,7 @@ func TestHealthReverseDestination(t *testing.T) { func TestHealthReverseDestination2(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetReverseDestination("DST1", []string{"1001"}, utils.NonTransactional); err != nil { @@ -221,7 +221,7 @@ func TestHealthReverseDestination2(t *testing.T) { func TestHealthReverseDestination3(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetReverseDestination("DST1", []string{"1002"}, utils.NonTransactional); err != nil { @@ -254,7 +254,7 @@ func TestHealthReverseDestination3(t *testing.T) { func TestHealthReverseDestination4(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetReverseDestination("DST1", []string{"1002"}, utils.NonTransactional); err != nil { @@ -290,7 +290,7 @@ func TestHealthReverseDestination4(t *testing.T) { func TestHealthFilterAttributes(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetAttributeProfile(&AttributeProfile{ @@ -337,7 +337,7 @@ func TestHealthFilterAttributes(t *testing.T) { func TestHealthReverseFilter(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetAttributeProfile(&AttributeProfile{ @@ -393,7 +393,7 @@ func TestHealthReverseFilter(t *testing.T) { func TestHealthIndexThreshold(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this threshold but without indexing @@ -504,7 +504,7 @@ func TestHealthIndexThreshold(t *testing.T) { func TestHealthIndexCharger(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this charger but without indexing @@ -623,7 +623,7 @@ func TestHealthIndexCharger(t *testing.T) { func TestHealthIndexResources(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this resource but without indexing @@ -750,7 +750,7 @@ func TestHealthIndexResources(t *testing.T) { func TestHealthIndexStats(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this statQueue but without indexing @@ -899,7 +899,7 @@ func TestHealthIndexStats(t *testing.T) { func TestHealthIndexRoutes(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this routes but without indexing @@ -1076,7 +1076,7 @@ func TestHealthIndexRoutes(t *testing.T) { func TestHealthIndexDispatchers(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this dispatcherProfile but without indexing @@ -1248,7 +1248,7 @@ func TestHealthIndexDispatchers(t *testing.T) { func TestIndexHealthMultipleProfiles(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this multiple chargers but without indexing(same and different indexes) @@ -1338,7 +1338,7 @@ func TestIndexHealthMultipleProfiles(t *testing.T) { func TestIndexHealthReverseChecking(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this multiple chargers but without indexing(same and different indexes) @@ -1465,7 +1465,7 @@ func TestIndexHealthReverseChecking(t *testing.T) { func TestIndexHealthMissingReverseIndexes(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) filter1 := &Filter{ diff --git a/engine/z_loader_it_test.go b/engine/z_loader_it_test.go index 3cc55de51..bb4e4d8b0 100644 --- a/engine/z_loader_it_test.go +++ b/engine/z_loader_it_test.go @@ -89,12 +89,12 @@ func testLoaderITInitDataDB(t *testing.T) { dbConn, err := NewDataDBConn(lCfg.DataDbCfg().Type, lCfg.DataDbCfg().Host, lCfg.DataDbCfg().Port, lCfg.DataDbCfg().Name, lCfg.DataDbCfg().User, lCfg.DataDbCfg().Password, lCfg.GeneralCfg().DBDataEncoding, - lCfg.DataDbCfg().Opts) + lCfg.DataDbCfg().Opts, lCfg.DataDbCfg().Items) if err != nil { t.Fatal("Error on dataDb connection: ", err.Error()) } dataDbCsv = NewDataManager(dbConn, lCfg.CacheCfg(), nil) - if lCfg.DataDbCfg().Type == utils.INTERNAL { + if lCfg.DataDbCfg().Type == utils.Internal { chIDs := []string{} for dbKey := range utils.CacheInstanceToPrefix { // clear only the DataDB chIDs = append(chIDs, dbKey) @@ -119,7 +119,7 @@ func testLoaderITInitStoreDB(t *testing.T) { lCfg.StorDbCfg().Host, lCfg.StorDbCfg().Port, lCfg.StorDbCfg().Name, lCfg.StorDbCfg().User, lCfg.StorDbCfg().Password, lCfg.GeneralCfg().DBDataEncoding, lCfg.StorDbCfg().StringIndexedFields, lCfg.StorDbCfg().PrefixIndexedFields, - lCfg.StorDbCfg().Opts) + lCfg.StorDbCfg().Opts, lCfg.DataDbCfg().Items) if err != nil { t.Fatal("Error on opening database connection: ", err) } diff --git a/engine/z_onstor_it_test.go b/engine/z_onstor_it_test.go index bfe668284..b2d8dc68f 100644 --- a/engine/z_onstor_it_test.go +++ b/engine/z_onstor_it_test.go @@ -84,12 +84,12 @@ var ( ) func TestOnStorIT(t *testing.T) { + cfg := config.NewDefaultCGRConfig() switch *dbType { case utils.MetaInternal: - onStor = NewDataManager(NewInternalDB(nil, nil, true), + onStor = NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) case utils.MetaMySQL: - cfg := config.NewDefaultCGRConfig() rdsITdb, err = NewRedisStorage( fmt.Sprintf("%s:%s", cfg.DataDbCfg().Host, cfg.DataDbCfg().Port), 4, cfg.DataDbCfg().User, cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, @@ -142,7 +142,7 @@ func testOnStorITIsDBEmpty(t *testing.T) { } func testOnStorITCacheDestinations(t *testing.T) { - if onStor.dataDB.GetStorageType() == utils.INTERNAL { + if onStor.dataDB.GetStorageType() == utils.Internal { t.SkipNow() } @@ -180,14 +180,14 @@ func testOnStorITCacheReverseDestinations(t *testing.T) { } for _, prfx := range dst.Prefixes { if _, hasIt := Cache.Get(utils.CacheReverseDestinations, dst.Id); hasIt && - onStor.dataDB.GetStorageType() != utils.INTERNAL { + onStor.dataDB.GetStorageType() != utils.Internal { t.Errorf("Prefix: %s already in cache", prfx) } } if err := onStor.CacheDataFromDB(utils.ReverseDestinationPrefix, dst.Prefixes, false); err != nil { t.Error(err) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { for _, prfx := range dst.Prefixes { if itm, hasIt := Cache.Get(utils.CacheReverseDestinations, prfx); !hasIt { t.Error("Did not cache") @@ -243,13 +243,13 @@ func testOnStorITCacheActionPlan(t *testing.T) { t.Errorf("Expected : %+v, but received %+v", expectedCAp, itm) } if _, hasIt := Cache.Get(utils.CacheActionPlans, ap.Id); hasIt && - onStor.dataDB.GetStorageType() != utils.INTERNAL { + onStor.dataDB.GetStorageType() != utils.Internal { t.Error("Already in cache") } if err := onStor.CacheDataFromDB(utils.ActionPlanPrefix, []string{ap.Id}, false); err != nil { t.Error(err) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { if itm, hasIt := Cache.Get(utils.CacheActionPlans, ap.Id); !hasIt { t.Error("Did not cache") } else if rcv := itm.(*ActionPlan); !reflect.DeepEqual(ap, rcv) { @@ -271,13 +271,13 @@ func testOnStorITCacheAccountActionPlans(t *testing.T) { t.Error(err) } if _, hasIt := Cache.Get(utils.CacheAccountActionPlans, acntID); hasIt && - onStor.dataDB.GetStorageType() != utils.INTERNAL { + onStor.dataDB.GetStorageType() != utils.Internal { t.Error("Already in cache") } if err := onStor.CacheDataFromDB(utils.AccountActionPlansPrefix, []string{acntID}, false); err != nil { t.Error(err) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { if itm, hasIt := Cache.Get(utils.CacheAccountActionPlans, acntID); !hasIt { t.Error("Did not cache") } else if rcv := itm.([]string); !reflect.DeepEqual(aAPs, rcv) { @@ -310,7 +310,7 @@ func testOnStorITCacheActionTriggers(t *testing.T) { t.Errorf("Expected : %+v, but received %+v", expectedCAt, itm) } if _, hasIt := Cache.Get(utils.CacheActionTriggers, atsID); hasIt && - onStor.dataDB.GetStorageType() != utils.INTERNAL { + onStor.dataDB.GetStorageType() != utils.Internal { t.Error("Already in cache") } if err := onStor.CacheDataFromDB(utils.ActionTriggerPrefix, []string{atsID}, false); err != nil { @@ -450,7 +450,7 @@ func testOnStorITRatingPlan(t *testing.T) { if err := onStor.SetRatingPlan(rp); err != nil { t.Error(err) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if _, err := onStor.GetRatingPlan(rp.Id, false, utils.NonTransactional); err != utils.ErrNotFound { t.Error(err) @@ -462,7 +462,7 @@ func testOnStorITRatingPlan(t *testing.T) { } else if !reflect.DeepEqual(rp, rcv) { t.Errorf("Expecting: %v, received: %v", rp, rcv) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if rcv, err := onStor.GetRatingPlan(rp.Id, false, utils.NonTransactional); err != nil { t.Error(err) @@ -556,7 +556,7 @@ func testOnStorITRatingProfile(t *testing.T) { t.Errorf("Expecting: %v, received: %v", utils.ToJSON(rpf), utils.ToJSON(rcv)) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if rcv, err := onStor.GetRatingProfile(rpf.Id, false, utils.NonTransactional); err != nil { @@ -590,7 +590,7 @@ func testOnStorITRatingProfile(t *testing.T) { } else if !reflect.DeepEqual(rpf, rcv) { t.Errorf("Expecting: %v, received: %v", utils.ToJSON(rpf), utils.ToJSON(rcv)) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if rcv, err := onStor.GetRatingProfile(rpf.Id, false, utils.NonTransactional); err != nil { @@ -772,7 +772,7 @@ func testOnStorITActions(t *testing.T) { } else if !reflect.DeepEqual(acts[0], rcv[0]) { t.Errorf("Expecting: %v, received: %v", utils.ToJSON(acts[0]), utils.ToJSON(rcv[0])) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if rcv, err := onStor.GetActions(acts[0].Id, false, utils.NonTransactional); err != nil { @@ -878,7 +878,7 @@ func testOnStorITActions(t *testing.T) { } else if !reflect.DeepEqual(acts[0], rcv[0]) { t.Errorf("Expecting: %v, received: %v", utils.ToJSON(acts[0]), utils.ToJSON(rcv[0])) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if rcv, err := onStor.GetActions(acts[0].Id, false, utils.NonTransactional); err != nil { @@ -920,7 +920,7 @@ func testOnStorITSharedGroup(t *testing.T) { if err := onStor.SetSharedGroup(sg); err != nil { t.Error(err) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if rcv, err := onStor.GetSharedGroup(sg.Id, false, utils.NonTransactional); err != nil { @@ -950,7 +950,7 @@ func testOnStorITSharedGroup(t *testing.T) { if err := onStor.SetSharedGroup(sg); err != nil { t.Error(err) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if rcv, err := onStor.GetSharedGroup(sg.Id, false, utils.NonTransactional); err != nil { @@ -1364,7 +1364,7 @@ func testOnStorITTiming(t *testing.T) { if err := onStor.SetTiming(tmg); err != nil { t.Error(err) } - if onStor.dataDB.GetStorageType() != utils.INTERNAL { + if onStor.dataDB.GetStorageType() != utils.Internal { //get from cache if rcv, err := onStor.GetTiming(tmg.ID, false, utils.NonTransactional); err != nil { t.Error(err) diff --git a/engine/z_resources_test.go b/engine/z_resources_test.go index 286af03f3..b6c1d36d4 100644 --- a/engine/z_resources_test.go +++ b/engine/z_resources_test.go @@ -916,14 +916,14 @@ func TestRSCacheSetGet(t *testing.T) { } func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) { var dmRES *DataManager - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ResourceSCfg().StoreInterval = 1 - defaultCfg.ResourceSCfg().StringIndexedFields = nil - defaultCfg.ResourceSCfg().PrefixIndexedFields = nil - resService := NewResourceService(dmRES, defaultCfg, - &FilterS{dm: dmRES, cfg: defaultCfg}, nil) + cfg.ResourceSCfg().StoreInterval = 1 + cfg.ResourceSCfg().StringIndexedFields = nil + cfg.ResourceSCfg().PrefixIndexedFields = nil + resService := NewResourceService(dmRES, cfg, + &FilterS{dm: dmRES, cfg: cfg}, nil) if err != nil { t.Errorf("Error: %+v", err) } @@ -954,12 +954,12 @@ func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) { func TestResourceAddResourceProfile(t *testing.T) { var dmRES *DataManager - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ResourceSCfg().StoreInterval = 1 - defaultCfg.ResourceSCfg().StringIndexedFields = nil - defaultCfg.ResourceSCfg().PrefixIndexedFields = nil + cfg.ResourceSCfg().StoreInterval = 1 + cfg.ResourceSCfg().StringIndexedFields = nil + cfg.ResourceSCfg().PrefixIndexedFields = nil fltrRes1 := &Filter{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "FLTR_RES_1", @@ -1109,14 +1109,14 @@ func TestResourceAddResourceProfile(t *testing.T) { func TestResourceMatchingResourcesForEvent(t *testing.T) { var dmRES *DataManager - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ResourceSCfg().StoreInterval = 1 - defaultCfg.ResourceSCfg().StringIndexedFields = nil - defaultCfg.ResourceSCfg().PrefixIndexedFields = nil - resService := NewResourceService(dmRES, defaultCfg, - &FilterS{dm: dmRES, cfg: defaultCfg}, nil) + cfg.ResourceSCfg().StoreInterval = 1 + cfg.ResourceSCfg().StringIndexedFields = nil + cfg.ResourceSCfg().PrefixIndexedFields = nil + resService := NewResourceService(dmRES, cfg, + &FilterS{dm: dmRES, cfg: cfg}, nil) if err != nil { t.Errorf("Error: %+v", err) } @@ -1440,14 +1440,14 @@ func TestResourceUsageTTLCase1(t *testing.T) { timeDurationExample := 10 * time.Second var dmRES *DataManager - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ResourceSCfg().StoreInterval = 1 - defaultCfg.ResourceSCfg().StringIndexedFields = nil - defaultCfg.ResourceSCfg().PrefixIndexedFields = nil - resService := NewResourceService(dmRES, defaultCfg, - &FilterS{dm: dmRES, cfg: defaultCfg}, nil) + cfg.ResourceSCfg().StoreInterval = 1 + cfg.ResourceSCfg().StringIndexedFields = nil + cfg.ResourceSCfg().PrefixIndexedFields = nil + resService := NewResourceService(dmRES, cfg, + &FilterS{dm: dmRES, cfg: cfg}, nil) if err != nil { t.Errorf("Error: %+v", err) } @@ -1646,14 +1646,14 @@ func TestResourceUsageTTLCase2(t *testing.T) { } var dmRES *DataManager - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ResourceSCfg().StoreInterval = 1 - defaultCfg.ResourceSCfg().StringIndexedFields = nil - defaultCfg.ResourceSCfg().PrefixIndexedFields = nil - resService := NewResourceService(dmRES, defaultCfg, - &FilterS{dm: dmRES, cfg: defaultCfg}, nil) + cfg.ResourceSCfg().StoreInterval = 1 + cfg.ResourceSCfg().StringIndexedFields = nil + cfg.ResourceSCfg().PrefixIndexedFields = nil + resService := NewResourceService(dmRES, cfg, + &FilterS{dm: dmRES, cfg: cfg}, nil) if err != nil { t.Errorf("Error: %+v", err) } @@ -1852,14 +1852,14 @@ func TestResourceUsageTTLCase3(t *testing.T) { } var dmRES *DataManager - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ResourceSCfg().StoreInterval = 1 - defaultCfg.ResourceSCfg().StringIndexedFields = nil - defaultCfg.ResourceSCfg().PrefixIndexedFields = nil - resService := NewResourceService(dmRES, defaultCfg, - &FilterS{dm: dmRES, cfg: defaultCfg}, nil) + cfg.ResourceSCfg().StoreInterval = 1 + cfg.ResourceSCfg().StringIndexedFields = nil + cfg.ResourceSCfg().PrefixIndexedFields = nil + resService := NewResourceService(dmRES, cfg, + &FilterS{dm: dmRES, cfg: cfg}, nil) if err != nil { t.Errorf("Error: %+v", err) } @@ -2058,14 +2058,14 @@ func TestResourceUsageTTLCase4(t *testing.T) { } var dmRES *DataManager - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ResourceSCfg().StoreInterval = 1 - defaultCfg.ResourceSCfg().StringIndexedFields = nil - defaultCfg.ResourceSCfg().PrefixIndexedFields = nil - resService := NewResourceService(dmRES, defaultCfg, - &FilterS{dm: dmRES, cfg: defaultCfg}, nil) + cfg.ResourceSCfg().StoreInterval = 1 + cfg.ResourceSCfg().StringIndexedFields = nil + cfg.ResourceSCfg().PrefixIndexedFields = nil + resService := NewResourceService(dmRES, cfg, + &FilterS{dm: dmRES, cfg: cfg}, nil) if err != nil { t.Errorf("Error: %+v", err) } @@ -2239,14 +2239,14 @@ func TestResourceResIDsMp(t *testing.T) { func TestResourceMatchWithIndexFalse(t *testing.T) { var dmRES *DataManager - defaultCfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - defaultCfg.ResourceSCfg().StoreInterval = 1 - defaultCfg.ResourceSCfg().StringIndexedFields = nil - defaultCfg.ResourceSCfg().PrefixIndexedFields = nil - resService := NewResourceService(dmRES, defaultCfg, - &FilterS{dm: dmRES, cfg: defaultCfg}, nil) + cfg.ResourceSCfg().StoreInterval = 1 + cfg.ResourceSCfg().StringIndexedFields = nil + cfg.ResourceSCfg().PrefixIndexedFields = nil + resService := NewResourceService(dmRES, cfg, + &FilterS{dm: dmRES, cfg: cfg}, nil) if err != nil { t.Errorf("Error: %+v", err) } @@ -2473,7 +2473,7 @@ func TestResourceCaching(t *testing.T) { // start fresh with new dataManager cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true), config.CgrConfig().CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -2953,7 +2953,7 @@ func TestResourceAllocateResourceOtherDB(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) fltS := NewFilterS(cfg, nil, dm) rs := NewResourceService(dm, cfg, fltS, nil) if err := dm.SetResourceProfile(rProf, true); err != nil { @@ -3109,7 +3109,7 @@ func TestResourcesStoreResourceNotDirty(t *testing.T) { func TestResourcesStoreResourceOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() rS := &ResourceService{ - dm: NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil), + dm: NewDataManager(NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items), cfg.CacheCfg(), nil), } r := &Resource{ dirty: utils.BoolPointer(true), @@ -3148,7 +3148,7 @@ func TestResourcesStoreResourceErrCache(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheResources].Replicate = true cfg.RPCConns()["test"] = &config.RPCConn{Conns: []*config.RemoteHost{{}}} config.SetCgrConfig(cfg) - dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector))) + dm := NewDataManager(NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items), cfg.CacheCfg(), NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector))) rS := NewResourceService(dm, cfg, nil, nil) Cache = NewCacheS(cfg, dm, nil) r := &Resource{ @@ -3384,7 +3384,7 @@ func TestResourcesProcessThresholdsThdConnMetaNone(t *testing.T) { func TestResourcesUpdateResource(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) Cache.Clear(nil) res := &ResourceProfile{ Tenant: "cgrates.org", @@ -3514,7 +3514,7 @@ func TestResourcesV1ResourcesForEventOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) rsPrf := &ResourceProfile{ @@ -3595,7 +3595,7 @@ func TestResourcesV1ResourcesForEventOK(t *testing.T) { func TestResourcesV1ResourcesForEventNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) rsPrf := &ResourceProfile{ Tenant: "cgrates.org", @@ -3651,7 +3651,7 @@ func TestResourcesV1ResourcesForEventNotFound(t *testing.T) { func TestResourcesV1ResourcesForEventMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) rsPrf := &ResourceProfile{ Tenant: "cgrates.org", @@ -3754,7 +3754,7 @@ func TestResourcesV1ResourcesForEventCacheReplyExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1GetResourcesForEvent, @@ -3849,7 +3849,7 @@ func TestResourcesV1ResourcesForEventCacheReplySet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1GetResourcesForEvent, @@ -3946,7 +3946,7 @@ func TestResourcesV1GetResourceOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4023,7 +4023,7 @@ func TestResourcesV1GetResourceNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4082,7 +4082,7 @@ func TestResourcesV1GetResourceMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4140,7 +4140,7 @@ func TestResourcesV1GetResourceWithConfigOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4220,7 +4220,7 @@ func TestResourcesV1GetResourceWithConfigNilrPrfOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4303,7 +4303,7 @@ func TestResourcesV1GetResourceWithConfigNilrPrfProfileNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4364,7 +4364,7 @@ func TestResourcesV1GetResourceWithConfigResourceNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4421,7 +4421,7 @@ func TestResourcesV1GetResourceWithConfigMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4477,7 +4477,7 @@ func TestResourcesV1AuthorizeResourcesOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4528,7 +4528,7 @@ func TestResourcesV1AuthorizeResourcesNotAuthorized(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4579,7 +4579,7 @@ func TestResourcesV1AuthorizeResourcesNoMatch(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4630,7 +4630,7 @@ func TestResourcesV1AuthorizeResourcesNilCGREvent(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4675,7 +4675,7 @@ func TestResourcesV1AuthorizeResourcesMissingUsageID(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4727,7 +4727,7 @@ func TestResourcesV1AuthorizeResourcesCacheReplyExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1AuthorizeResources, @@ -4808,7 +4808,7 @@ func TestResourcesV1AuthorizeResourcesCacheReplySet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1AuthorizeResources, @@ -4891,7 +4891,7 @@ func TestResourcesV1AllocateResourcesOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4942,7 +4942,7 @@ func TestResourcesV1AllocateResourcesNoMatch(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -4992,7 +4992,7 @@ func TestResourcesV1AllocateResourcesMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -5088,7 +5088,7 @@ func TestResourcesV1AllocateResourcesCacheReplyExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1AllocateResources, @@ -5169,7 +5169,7 @@ func TestResourcesV1AllocateResourcesCacheReplySet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1AllocateResources, @@ -5252,7 +5252,7 @@ func TestResourcesV1AllocateResourcesResAllocErr(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -5303,7 +5303,7 @@ func TestResourcesV1AllocateResourcesProcessThErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ResourceSCfg().StoreInterval = 2 cfg.ResourceSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -5386,7 +5386,7 @@ func TestResourcesV1ReleaseResourcesOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -5442,7 +5442,7 @@ func TestResourcesV1ReleaseResourcesUsageNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -5510,7 +5510,7 @@ func TestResourcesV1ReleaseResourcesNoMatch(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -5560,7 +5560,7 @@ func TestResourcesV1ReleaseResourcesMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) @@ -5656,7 +5656,7 @@ func TestResourcesV1ReleaseResourcesCacheReplyExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1ReleaseResources, @@ -5737,7 +5737,7 @@ func TestResourcesV1ReleaseResourcesCacheReplySet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1ReleaseResources, @@ -5822,7 +5822,7 @@ func TestResourcesV1ReleaseResourcesProcessThErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ResourceSCfg().StoreInterval = 2 cfg.ResourceSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) ccM := &ccMock{ @@ -5918,7 +5918,7 @@ func TestResourcesStoreResourceError(t *testing.T) { config.SetCgrConfig(cfg) defer config.SetCgrConfig(dft) - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector))) rS := NewResourceService(dm, cfg, NewFilterS(cfg, nil, dm), nil) @@ -5972,7 +5972,7 @@ func TestResourcesStoreResourceError(t *testing.T) { func TestResourceMatchingResourcesForEventNotFoundInCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -5990,7 +5990,7 @@ func TestResourceMatchingResourcesForEventNotFoundInCache(t *testing.T) { func TestResourceMatchingResourcesForEventNotFoundInDB(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dmRES := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -6008,7 +6008,7 @@ func TestResourceMatchingResourcesForEventNotFoundInDB(t *testing.T) { func TestResourceMatchingResourcesForEventLocks(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -6057,7 +6057,7 @@ func TestResourceMatchingResourcesForEventLocks(t *testing.T) { func TestResourceMatchingResourcesForEventLocks2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -6121,7 +6121,7 @@ func TestResourceMatchingResourcesForEventLocks2(t *testing.T) { func TestResourceMatchingResourcesForEventLocksBlocker(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -6180,7 +6180,7 @@ func TestResourceMatchingResourcesForEventLocksBlocker(t *testing.T) { func TestResourceMatchingResourcesForEventLocksActivationInterval(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true) + db := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -6301,7 +6301,7 @@ func TestResourceMatchingResourcesForEventLocks3(t *testing.T) { // cfg.CacheCfg().Partitions[utils.CacheEventResources].Replicate = true // cfg.RPCConns()["test"] = &config.RPCConn{Conns: []*config.RemoteHost{{}}} // config.SetCgrConfig(cfg) -// data := NewInternalDB(nil, nil, true) +// data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) // dm := NewDataManager(data, cfg.CacheCfg(), nil) // connMgr = NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) // Cache = NewCacheS(cfg, dm, nil) @@ -6417,7 +6417,7 @@ func TestResourcesLockUnlockResources(t *testing.T) { func TestResourcesRunBackupStoreIntervalLessThanZero(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ResourceSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) rS := &ResourceService{ @@ -6439,7 +6439,7 @@ func TestResourcesRunBackupStoreIntervalLessThanZero(t *testing.T) { func TestResourcesRunBackupStop(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ResourceSCfg().StoreInterval = 5 * time.Millisecond - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) rS := &ResourceService{ @@ -6489,7 +6489,7 @@ func TestResourcesRunBackupStop(t *testing.T) { func TestResourcesReload(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ResourceSCfg().StoreInterval = 5 * time.Millisecond - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) rS := &ResourceService{ @@ -6507,7 +6507,7 @@ func TestResourcesReload(t *testing.T) { func TestResourcesStartLoop(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ResourceSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) rS := &ResourceService{ @@ -6542,7 +6542,7 @@ func TestResourcesMatchingResourcesForEventCacheSetErr(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheEventResources].Replicate = true cfg.RPCConns()["test"] = &config.RPCConn{Conns: []*config.RemoteHost{{}}} config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) @@ -6582,7 +6582,7 @@ func TestResourcesMatchingResourcesForEventFinalCacheSetErr(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheEventResources].Replicate = true cfg.RPCConns()["test"] = &config.RPCConn{Conns: []*config.RemoteHost{{}}} config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true) + data := NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan rpcclient.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) diff --git a/engine/z_storage_cdrs_it_test.go b/engine/z_storage_cdrs_it_test.go index 97ef9bba1..51c2b93a3 100644 --- a/engine/z_storage_cdrs_it_test.go +++ b/engine/z_storage_cdrs_it_test.go @@ -73,7 +73,7 @@ func testSetCDR(cfg *config.CGRConfig) error { cfg.StorDbCfg().Name, cfg.StorDbCfg().User, cfg.StorDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, cfg.StorDbCfg().StringIndexedFields, cfg.StorDbCfg().PrefixIndexedFields, - cfg.StorDbCfg().Opts) + cfg.StorDbCfg().Opts, cfg.StorDbCfg().Items) if err != nil { return err } @@ -179,7 +179,7 @@ func testSMCosts(cfg *config.CGRConfig) error { cfg.StorDbCfg().Name, cfg.StorDbCfg().User, cfg.StorDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, cfg.StorDbCfg().StringIndexedFields, cfg.StorDbCfg().PrefixIndexedFields, - cfg.StorDbCfg().Opts) + cfg.StorDbCfg().Opts, cfg.StorDbCfg().Items) if err != nil { return fmt.Errorf("testSMCosts #2 err: %v", err) } @@ -241,7 +241,7 @@ func testGetCDRs(cfg *config.CGRConfig) error { cfg.StorDbCfg().Name, cfg.StorDbCfg().User, cfg.StorDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, cfg.StorDbCfg().StringIndexedFields, cfg.StorDbCfg().PrefixIndexedFields, - cfg.StorDbCfg().Opts) + cfg.StorDbCfg().Opts, cfg.StorDbCfg().Items) if err != nil { return fmt.Errorf("testGetCDRs #2: %v", err) } diff --git a/engine/z_stordb_it_test.go b/engine/z_stordb_it_test.go index 8c6c6c3a8..42f6d2c5c 100644 --- a/engine/z_stordb_it_test.go +++ b/engine/z_stordb_it_test.go @@ -36,8 +36,9 @@ import ( ) var ( - cfg *config.CGRConfig - storDB StorDB + // storDBCfg *config.CGRConfig + storDBCfg *config.CGRConfig + storDB StorDB ) // subtests to be executed for each confDIR @@ -74,39 +75,39 @@ func TestStorDBit(t *testing.T) { //var stestName string switch *dbType { case utils.MetaInternal: - cfg = config.NewDefaultCGRConfig() - config.SetCgrConfig(cfg) - storDB = NewInternalDB(nil, nil, false) + storDBCfg = config.NewDefaultCGRConfig() + config.SetCgrConfig(storDBCfg) + storDB = NewInternalDB(nil, nil, false, storDBCfg.DataDbCfg().Items) case utils.MetaMySQL: - if cfg, err = config.NewCGRConfigFromPath(path.Join(*dataDir, "conf", "samples", "storage", "mysql")); err != nil { + if storDBCfg, err = config.NewCGRConfigFromPath(path.Join(*dataDir, "conf", "samples", "storage", "mysql")); err != nil { t.Fatal(err) } - if storDB, err = NewMySQLStorage(cfg.StorDbCfg().Host, - cfg.StorDbCfg().Port, cfg.StorDbCfg().Name, - cfg.StorDbCfg().User, cfg.StorDbCfg().Password, + if storDB, err = NewMySQLStorage(storDBCfg.StorDbCfg().Host, + storDBCfg.StorDbCfg().Port, storDBCfg.StorDbCfg().Name, + storDBCfg.StorDbCfg().User, storDBCfg.StorDbCfg().Password, 100, 10, 0, "UTC"); err != nil { t.Fatal(err) } storDB.(*SQLStorage).db.Config.Logger = logger.Default.LogMode(logger.Silent) case utils.MetaMongo: - if cfg, err = config.NewCGRConfigFromPath(path.Join(*dataDir, "conf", "samples", "storage", "mongo")); err != nil { + if storDBCfg, err = config.NewCGRConfigFromPath(path.Join(*dataDir, "conf", "samples", "storage", "mongo")); err != nil { t.Fatal(err) } - if storDB, err = NewMongoStorage(cfg.StorDbCfg().Host, - cfg.StorDbCfg().Port, cfg.StorDbCfg().Name, - cfg.StorDbCfg().User, cfg.StorDbCfg().Password, - cfg.GeneralCfg().DBDataEncoding, - utils.StorDB, cfg.StorDbCfg().StringIndexedFields, 10*time.Second); err != nil { + if storDB, err = NewMongoStorage(storDBCfg.StorDbCfg().Host, + storDBCfg.StorDbCfg().Port, storDBCfg.StorDbCfg().Name, + storDBCfg.StorDbCfg().User, storDBCfg.StorDbCfg().Password, + storDBCfg.GeneralCfg().DBDataEncoding, + utils.StorDB, storDBCfg.StorDbCfg().StringIndexedFields, 10*time.Second); err != nil { t.Fatal(err) } case utils.MetaPostgres: - if cfg, err = config.NewCGRConfigFromPath(path.Join(*dataDir, "conf", "samples", "storage", "postgres")); err != nil { + if storDBCfg, err = config.NewCGRConfigFromPath(path.Join(*dataDir, "conf", "samples", "storage", "postgres")); err != nil { t.Fatal(err) } - if storDB, err = NewPostgresStorage(cfg.StorDbCfg().Host, - cfg.StorDbCfg().Port, cfg.StorDbCfg().Name, - cfg.StorDbCfg().User, cfg.StorDbCfg().Password, - utils.IfaceAsString(cfg.StorDbCfg().Opts[utils.SSLModeCfg]), + if storDB, err = NewPostgresStorage(storDBCfg.StorDbCfg().Host, + storDBCfg.StorDbCfg().Port, storDBCfg.StorDbCfg().Name, + storDBCfg.StorDbCfg().User, storDBCfg.StorDbCfg().Password, + utils.IfaceAsString(storDBCfg.StorDbCfg().Opts[utils.SSLModeCfg]), 100, 10, 0); err != nil { t.Fatal(err) } @@ -2003,7 +2004,7 @@ func testStorDBitCRUDSMCosts2(t *testing.T) { } func testStorDBitFlush(t *testing.T) { - if err := storDB.Flush(path.Join(cfg.DataFolderPath, "storage", cfg.StorDbCfg().Type)); err != nil { + if err := storDB.Flush(path.Join(storDBCfg.DataFolderPath, "storage", storDBCfg.StorDbCfg().Type)); err != nil { t.Error(err) } } diff --git a/engine/z_versions_it_test.go b/engine/z_versions_it_test.go index 0288da5f4..8c27b4bd8 100644 --- a/engine/z_versions_it_test.go +++ b/engine/z_versions_it_test.go @@ -37,6 +37,7 @@ var ( storageDb Storage dm3 *DataManager versionsConfigDIR string + versionCfg *config.CGRConfig sTestsITVersions = []func(t *testing.T){ testInitConfig, @@ -91,28 +92,28 @@ func TestVersionsIT(t *testing.T) { } func testInitConfig(t *testing.T) { - if cfg, err = config.NewCGRConfigFromPath(path.Join(*dataDir, "conf", "samples", versionsConfigDIR)); err != nil { + if versionCfg, err = config.NewCGRConfigFromPath(path.Join(*dataDir, "conf", "samples", versionsConfigDIR)); err != nil { t.Fatal(err) } } func testInitDataDB(t *testing.T) { - dbConn, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts) + dbConn, err := NewDataDBConn(versionCfg.DataDbCfg().Type, + versionCfg.DataDbCfg().Host, versionCfg.DataDbCfg().Port, + versionCfg.DataDbCfg().Name, versionCfg.DataDbCfg().User, + versionCfg.DataDbCfg().Password, versionCfg.GeneralCfg().DBDataEncoding, + versionCfg.DataDbCfg().Opts, versionCfg.DataDbCfg().Items) if err != nil { log.Fatal(err) } - dm3 = NewDataManager(dbConn, cfg.CacheCfg(), nil) + dm3 = NewDataManager(dbConn, versionCfg.CacheCfg(), nil) - storageDb, err = NewStorDBConn(cfg.StorDbCfg().Type, - cfg.StorDbCfg().Host, cfg.StorDbCfg().Port, - cfg.StorDbCfg().Name, cfg.StorDbCfg().User, - cfg.StorDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.StorDbCfg().StringIndexedFields, cfg.StorDbCfg().PrefixIndexedFields, - cfg.StorDbCfg().Opts) + storageDb, err = NewStorDBConn(versionCfg.StorDbCfg().Type, + versionCfg.StorDbCfg().Host, versionCfg.StorDbCfg().Port, + versionCfg.StorDbCfg().Name, versionCfg.StorDbCfg().User, + versionCfg.StorDbCfg().Password, versionCfg.GeneralCfg().DBDataEncoding, + versionCfg.StorDbCfg().StringIndexedFields, versionCfg.StorDbCfg().PrefixIndexedFields, + versionCfg.StorDbCfg().Opts, versionCfg.StorDbCfg().Items) if err != nil { log.Fatal(err) } @@ -123,7 +124,7 @@ func testVersionsFlush(t *testing.T) { if err != nil { t.Error("Error when flushing Mongo ", err.Error()) } - if err := storageDb.Flush(path.Join(cfg.DataFolderPath, "storage", cfg.StorDbCfg().Type)); err != nil { + if err := storageDb.Flush(path.Join(versionCfg.DataFolderPath, "storage", versionCfg.StorDbCfg().Type)); err != nil { t.Error(err) } SetDBVersions(storageDb) @@ -146,7 +147,7 @@ func testVersion(t *testing.T) { storType := dm3.DataDB().GetStorageType() switch storType { - case utils.INTERNAL: + case utils.Internal: currentVersion = allVersions testVersion = allVersions testVersion[utils.Accounts] = 1 @@ -188,7 +189,7 @@ func testVersion(t *testing.T) { } storType = storageDb.GetStorageType() switch storType { - case utils.INTERNAL: + case utils.Internal: currentVersion = allVersions testVersion = allVersions testVersion[utils.Accounts] = 1 diff --git a/ers/amqpv1_test.go b/ers/amqpv1_test.go index 655e983ec..fe650bd62 100644 --- a/ers/amqpv1_test.go +++ b/ers/amqpv1_test.go @@ -98,7 +98,7 @@ func TestAMQPv1ERProcessMessageError1(t *testing.T) { func TestAMQPv1ERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) diff --git a/ers/ers_it_test.go b/ers/ers_it_test.go index cb70e28f2..db08cfde9 100644 --- a/ers/ers_it_test.go +++ b/ers/ers_it_test.go @@ -820,7 +820,7 @@ func TestErsOnEvictedMetaDumpToFileOK(t *testing.T) { field.ComputePath() } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -881,7 +881,7 @@ func TestErsOnEvictedMetaDumpToFileCSVWriteErr(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -937,7 +937,7 @@ func TestErsOnEvictedMetaDumpToFileCreateErr(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ diff --git a/ers/ers_test.go b/ers/ers_test.go index 836a16f4f..4ec176d2f 100644 --- a/ers/ers_test.go +++ b/ers/ers_test.go @@ -164,7 +164,7 @@ func TestErsOnEvictedMetaPostCDRMergeErr(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -218,7 +218,7 @@ func TestErsOnEvictedMetaDumpToFileSetFieldsErr(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -280,7 +280,7 @@ func TestErsOnEvictedMetaDumpToFileMergeErr(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -321,7 +321,7 @@ func TestErsOnEvictedMetaDumpToFileEmptyPath(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ diff --git a/ers/filecsv_it_test.go b/ers/filecsv_it_test.go index b1be573a6..e91dd398e 100644 --- a/ers/filecsv_it_test.go +++ b/ers/filecsv_it_test.go @@ -587,7 +587,7 @@ func TestFileCSVProcessEventError2(t *testing.T) { func TestFileCSVProcessEventError3(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ERsCfg().Readers[0].Fields = []*config.FCTemplate{} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) diff --git a/ers/filefwv_it_test.go b/ers/filefwv_it_test.go index 48fdcf24d..d5893fc1e 100644 --- a/ers/filefwv_it_test.go +++ b/ers/filefwv_it_test.go @@ -433,7 +433,7 @@ func TestFileFWVExit(t *testing.T) { func TestFileFWVProcessTrailer(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) @@ -493,7 +493,7 @@ func TestFileFWVProcessTrailer(t *testing.T) { func TestFileFWVProcessTrailerError1(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) @@ -530,7 +530,7 @@ func TestFileFWVProcessTrailerError1(t *testing.T) { func TestFileFWVProcessTrailerError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) eR := &FWVFileER{ @@ -577,7 +577,7 @@ func TestFileFWVProcessTrailerError2(t *testing.T) { func TestFileFWVProcessTrailerError3(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) eR := &FWVFileER{ @@ -608,7 +608,7 @@ func TestFileFWVProcessTrailerError3(t *testing.T) { func TestFileFWVCreateHeaderMap(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) eR := &FWVFileER{ @@ -657,7 +657,7 @@ func TestFileFWVCreateHeaderMap(t *testing.T) { func TestFileFWVCreateHeaderMapError1(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) eR := &FWVFileER{ @@ -683,7 +683,7 @@ func TestFileFWVCreateHeaderMapError1(t *testing.T) { func TestFileFWVCreateHeaderMapError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) eR := &FWVFileER{ diff --git a/ers/filejson_it_test.go b/ers/filejson_it_test.go index f23b849f2..fa34db424 100644 --- a/ers/filejson_it_test.go +++ b/ers/filejson_it_test.go @@ -463,7 +463,7 @@ func TestFileJSONProcessEventError2(t *testing.T) { func TestFileJSONProcessEventError3(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ERsCfg().Readers[0].Fields = []*config.FCTemplate{} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) diff --git a/ers/filexml_it_test.go b/ers/filexml_it_test.go index 5434f14b6..4bdc64cb4 100644 --- a/ers/filexml_it_test.go +++ b/ers/filexml_it_test.go @@ -422,7 +422,7 @@ func TestFileXMLProcessEventError1(t *testing.T) { func TestFileXMLProcessEVentError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ERsCfg().Readers[0].Fields = []*config.FCTemplate{} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) filePath := "/tmp/TestFileXMLProcessEvent/" diff --git a/ers/kafka_test.go b/ers/kafka_test.go index 1b74191cc..48b7126a8 100644 --- a/ers/kafka_test.go +++ b/ers/kafka_test.go @@ -223,7 +223,7 @@ func TestKafkaERProcessMessageError1(t *testing.T) { func TestKafkaERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) rdr := &KafkaER{ diff --git a/ers/nats_test.go b/ers/nats_test.go index 4d77feae8..3699d8bd0 100644 --- a/ers/nats_test.go +++ b/ers/nats_test.go @@ -122,7 +122,7 @@ func TestNatsERProcessMessageError1(t *testing.T) { func TestNatsERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) rdr := &NatsER{ diff --git a/ers/s3_test.go b/ers/s3_test.go index 33c2e1706..832837220 100644 --- a/ers/s3_test.go +++ b/ers/s3_test.go @@ -148,7 +148,7 @@ func TestS3ERProcessMessageError1(t *testing.T) { func TestS3ERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) diff --git a/ers/sqs_test.go b/ers/sqs_test.go index 8d98d8bdc..60bf3fe15 100644 --- a/ers/sqs_test.go +++ b/ers/sqs_test.go @@ -198,7 +198,7 @@ func TestSQSERProcessMessageError1(t *testing.T) { func TestSQSERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) diff --git a/general_tests/acntacts_test.go b/general_tests/acntacts_test.go index b5b3ffa34..31bbdd7bf 100644 --- a/general_tests/acntacts_test.go +++ b/general_tests/acntacts_test.go @@ -29,7 +29,7 @@ import ( var dbAcntActs *engine.DataManager func TestAcntActsSetStorage(t *testing.T) { - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dbAcntActs = engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dbAcntActs) } diff --git a/general_tests/auth_test.go b/general_tests/auth_test.go index 1e808517f..3cbb621f8 100644 --- a/general_tests/auth_test.go +++ b/general_tests/auth_test.go @@ -31,7 +31,7 @@ var rsponder *engine.Responder func TestAuthSetStorage(t *testing.T) { config.CgrConfig().CacheCfg().Partitions[utils.CacheRatingPlans].Precache = true // precache rating plan - dataDB := engine.NewInternalDB(nil, nil, true) + dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dbAuth = engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dbAuth) rsponder = &engine.Responder{ diff --git a/general_tests/costs1_test.go b/general_tests/costs1_test.go index c6c26604d..ef926b2bb 100644 --- a/general_tests/costs1_test.go +++ b/general_tests/costs1_test.go @@ -27,7 +27,7 @@ import ( func TestCosts1SetStorage(t *testing.T) { config.CgrConfig().CacheCfg().Partitions[utils.CacheRatingPlans].Precache = true // precache rating plan - dataDBInt := engine.NewInternalDB(nil, nil, true) + dataDBInt := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dataDB = engine.NewDataManager(dataDBInt, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dataDB) engine.Cache.Clear(nil) diff --git a/general_tests/datachrg1_test.go b/general_tests/datachrg1_test.go index 38797f440..755228841 100644 --- a/general_tests/datachrg1_test.go +++ b/general_tests/datachrg1_test.go @@ -27,7 +27,7 @@ import ( ) func TestSetStorageDtChrg1(t *testing.T) { - dataDBInt := engine.NewInternalDB(nil, nil, true) + dataDBInt := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dataDB = engine.NewDataManager(dataDBInt, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dataDB) engine.Cache.Clear(nil) diff --git a/general_tests/ddazmbl1_test.go b/general_tests/ddazmbl1_test.go index 12157df44..c8e8669a7 100644 --- a/general_tests/ddazmbl1_test.go +++ b/general_tests/ddazmbl1_test.go @@ -30,7 +30,7 @@ import ( var dataDB *engine.DataManager func TestDZ1SetStorage(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dataDB = engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dataDB) engine.Cache.Clear(nil) diff --git a/general_tests/ddazmbl2_test.go b/general_tests/ddazmbl2_test.go index cb0cb0ceb..c6a62aa6b 100644 --- a/general_tests/ddazmbl2_test.go +++ b/general_tests/ddazmbl2_test.go @@ -30,7 +30,7 @@ import ( var dataDB2 *engine.DataManager func TestSetStorage2(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dataDB2 = engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dataDB2) engine.Cache.Clear(nil) diff --git a/general_tests/ddazmbl3_test.go b/general_tests/ddazmbl3_test.go index 38701b754..80f21e5c3 100644 --- a/general_tests/ddazmbl3_test.go +++ b/general_tests/ddazmbl3_test.go @@ -30,7 +30,7 @@ import ( var dataDB3 *engine.DataManager func TestSetStorage3(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dataDB3 = engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dataDB3) engine.Cache.Clear(nil) diff --git a/general_tests/filters_test.go b/general_tests/filters_test.go index 24beb29d2..60e992d01 100644 --- a/general_tests/filters_test.go +++ b/general_tests/filters_test.go @@ -39,7 +39,7 @@ func TestFilterPassDestinations(t *testing.T) { connMgr := engine.NewConnManager(config.CgrConfig(), map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier): internalAPIerSv1Chan, }) - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), connMgr) internalAPIerSv1Chan <- &v1.APIerSv1{DataManager: dm} engine.SetConnManager(connMgr) @@ -90,7 +90,7 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier): internalAPIerSv1Chan, }) - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dmFilterPass := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) filterS := engine.NewFilterS(cfg, connMgr, dmFilterPass) if err := engine.Cache.Set(utils.CacheReverseDestinations, "+49", diff --git a/general_tests/sessions_race_test.go b/general_tests/sessions_race_test.go index bb8a54af3..9b5f1bfae 100644 --- a/general_tests/sessions_race_test.go +++ b/general_tests/sessions_race_test.go @@ -88,7 +88,7 @@ func TestSessionSRace(t *testing.T) { }) // dataManager - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMgr) engine.SetDataStorage(dm) diff --git a/general_tests/smschrg1_test.go b/general_tests/smschrg1_test.go index 6621ff895..ae59cd04a 100644 --- a/general_tests/smschrg1_test.go +++ b/general_tests/smschrg1_test.go @@ -27,10 +27,10 @@ import ( ) func TestSMSSetStorageSmsChrg1(t *testing.T) { - dflt := config.NewDefaultCGRConfig() - config.SetCgrConfig(dflt) + cfg := config.NewDefaultCGRConfig() + config.SetCgrConfig(cfg) config.CgrConfig().CacheCfg().Partitions[utils.CacheRatingPlans].Precache = true // precache rating plan - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dataDB = engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dataDB) engine.Cache.Clear(nil) diff --git a/loaders/lib_test.go b/loaders/lib_test.go index 0a60ec5f1..7e84c15d1 100644 --- a/loaders/lib_test.go +++ b/loaders/lib_test.go @@ -95,7 +95,7 @@ func TestProcessContentCallsRemoveItems(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan rpcclient.ClientConnector, 1) internalCacheSChan <- sMock @@ -199,7 +199,7 @@ func TestProcessContentCallsClear(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan rpcclient.ClientConnector, 1) internalCacheSChan <- sMock @@ -310,7 +310,7 @@ func TestRemoveContentCallsReload(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan rpcclient.ClientConnector, 1) internalCacheSChan <- sMock @@ -416,7 +416,7 @@ func TestRemoveContentCallsLoad(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan rpcclient.ClientConnector, 1) internalCacheSChan <- sMock @@ -522,7 +522,7 @@ func TestRemoveContentCallsRemove(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan rpcclient.ClientConnector, 1) internalCacheSChan <- sMock @@ -639,7 +639,7 @@ func TestRemoveContentCallsClear(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan rpcclient.ClientConnector, 1) internalCacheSChan <- sMock diff --git a/loaders/libloader_test.go b/loaders/libloader_test.go index 9896ba820..35c7116a3 100644 --- a/loaders/libloader_test.go +++ b/loaders/libloader_test.go @@ -313,10 +313,10 @@ func TestUpdateFromCsvWithFiltersError(t *testing.T) { } lData := make(LoaderData) - dftCfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - filterS := engine.NewFilterS(dftCfg, nil, dm) + filterS := engine.NewFilterS(cfg, nil, dm) for fName, record := range loadRunStr { expected := "Ignoring record: [\"cgrates.org\" \"TEST_1\"] with error : strconv.Atoi: parsing \"Account\": invalid syntax" @@ -347,10 +347,10 @@ func TestUpdateFromCsvWithFiltersContinue(t *testing.T) { } lData := make(LoaderData) - dftCfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + cfg := config.NewDefaultCGRConfig() + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) - filterS := engine.NewFilterS(dftCfg, nil, dm) + filterS := engine.NewFilterS(cfg, nil, dm) for fName, record := range loadRunStr { if err := lData.UpdateFromCSV(fName, record, attrSFlds, diff --git a/loaders/loader_it_test.go b/loaders/loader_it_test.go index 305b41a00..2b4851c3d 100644 --- a/loaders/loader_it_test.go +++ b/loaders/loader_it_test.go @@ -427,7 +427,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, loaderCfg.DataDbCfg().Items) ldr := &Loader{ ldrID: "testProcessFile", dm: engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil), @@ -535,7 +535,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, loaderCfg.DataDbCfg().Items) ldr := &Loader{ ldrID: "testProcessFile", dm: engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil), @@ -668,7 +668,7 @@ func testProcessFileRenameError(t *testing.T) { if err := os.MkdirAll(flPath1, 0777); err != nil { t.Error(err) } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, loaderCfg.DataDbCfg().Items) ldr := &Loader{ ldrID: "testProcessFileRenameError", dm: engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil), diff --git a/loaders/loader_test.go b/loaders/loader_test.go index 8ebb96233..134d10875 100644 --- a/loaders/loader_test.go +++ b/loaders/loader_test.go @@ -34,8 +34,9 @@ import ( "github.com/cgrates/cgrates/utils" ) +var data = engine.NewInternalDB(nil, nil, false, config.CgrConfig().DataDbCfg().Items) + func TestLoaderProcessContentSingleFile(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", dm: engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil), @@ -44,50 +45,39 @@ func TestLoaderProcessContentSingleFile(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaAttributes: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, - {Tag: "Contexts", - Path: "Contexts", + {Path: "Contexts", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep)}, - {Tag: "FilterIDs", - Path: "FilterIDs", + {Path: "FilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep)}, - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep)}, - {Tag: "AttributeFilterIDs", - Path: "AttributeFilterIDs", + {Path: "AttributeFilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep)}, - {Tag: "Path", - Path: "Path", + {Path: "Path", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep)}, - {Tag: "Type", - Path: "Type", + {Path: "Type", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep)}, - {Tag: "Value", - Path: "Value", + {Path: "Value", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep)}, - {Tag: "Blocker", - Path: "Blocker", + {Path: "Blocker", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep)}, - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep)}, }, @@ -175,7 +165,6 @@ func TestLoaderProcessContentSingleFile(t *testing.T) { func TestLoaderProcessContentMultiFiles(t *testing.T) { file1CSV := `ignored,ignored,ignored,ignored,ignored,,*req.Subject,1001,ignored,ignored` file2CSV := `ignored,TestLoader2` - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContentMultiFiles", bufLoaderData: make(map[string][]LoaderData), @@ -184,30 +173,24 @@ func TestLoaderProcessContentMultiFiles(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaAttributes: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaString, Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*file(File2.csv).1", utils.InfieldSep), Mandatory: true}, - {Tag: "Contexts", - Path: "Contexts", + {Path: "Contexts", Type: utils.MetaString, Value: config.NewRSRParsersMustCompile("*any", utils.InfieldSep)}, - {Tag: "Path", - Path: "Path", + {Path: "Path", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*file(File1.csv).6", utils.InfieldSep)}, - {Tag: "Value", - Path: "Value", + {Path: "Value", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*file(File1.csv).7", utils.InfieldSep)}, - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaString, Value: config.NewRSRParsersMustCompile("10", utils.InfieldSep)}, }, @@ -254,7 +237,6 @@ func TestLoaderProcessContentMultiFiles(t *testing.T) { } func TestLoaderProcessResource(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessResources", bufLoaderData: make(map[string][]LoaderData), @@ -263,50 +245,39 @@ func TestLoaderProcessResource(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaResources: { - {Tag: "Tenant", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, - {Tag: "FilterIDs", - Path: "FilterIDs", + {Path: "FilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep)}, - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep)}, - {Tag: "TTL", - Path: "UsageTTL", + {Path: "UsageTTL", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep)}, - {Tag: "Limit", - Path: "Limit", + {Path: "Limit", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep)}, - {Tag: "AllocationMessage", - Path: "AllocationMessage", + {Path: "AllocationMessage", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep)}, - {Tag: "Blocker", - Path: "Blocker", + {Path: "Blocker", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep)}, - {Tag: "Stored", - Path: "Stored", + {Path: "Stored", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep)}, - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep)}, - {Tag: "Thresholds", - Path: "Thresholds", + {Path: "Thresholds", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep)}, }, @@ -372,7 +343,6 @@ func TestLoaderProcessResource(t *testing.T) { } func TestLoaderProcessFilters(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessFilters", bufLoaderData: make(map[string][]LoaderData), @@ -381,30 +351,24 @@ func TestLoaderProcessFilters(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaFilters: { - {Tag: "Tenant", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, - {Tag: "Type", - Path: "Type", + {Path: "Type", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep)}, - {Tag: "Element", - Path: "Element", + {Path: "Element", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep)}, - {Tag: "Values", - Path: "Values", + {Path: "Values", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep)}, - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep)}, }, @@ -515,7 +479,6 @@ func TestLoaderProcessFilters(t *testing.T) { } func TestLoaderProcessThresholds(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", bufLoaderData: make(map[string][]LoaderData), @@ -524,50 +487,39 @@ func TestLoaderProcessThresholds(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaThresholds: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, - {Tag: "FilterIDs", - Path: "FilterIDs", + {Path: "FilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep)}, - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep)}, - {Tag: "MaxHits", - Path: "MaxHits", + {Path: "MaxHits", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep)}, - {Tag: "MinHits", - Path: "MinHits", + {Path: "MinHits", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep)}, - {Tag: "MinSleep", - Path: "MinSleep", + {Path: "MinSleep", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep)}, - {Tag: "Blocker", - Path: "Blocker", + {Path: "Blocker", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep)}, - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep)}, - {Tag: "ActionIDs", - Path: "ActionIDs", + {Path: "ActionIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep)}, - {Tag: "Async", - Path: "Async", + {Path: "Async", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep)}, }, @@ -627,7 +579,6 @@ func TestLoaderProcessThresholds(t *testing.T) { } func TestLoaderProcessStats(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", bufLoaderData: make(map[string][]LoaderData), @@ -636,59 +587,46 @@ func TestLoaderProcessStats(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaStats: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, - {Tag: "FilterIDs", - Path: "FilterIDs", + {Path: "FilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep)}, - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep)}, - {Tag: "QueueLength", - Path: "QueueLength", + {Path: "QueueLength", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep)}, - {Tag: "TTL", - Path: "TTL", + {Path: "TTL", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep)}, - {Tag: "MinItems", - Path: "MinItems", + {Path: "MinItems", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep)}, - {Tag: "MetricIDs", - Path: "MetricIDs", + {Path: "MetricIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep)}, - {Tag: "MetricFilterIDs", - Path: "MetricFilterIDs", + {Path: "MetricFilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep)}, - {Tag: "Blocker", - Path: "Blocker", + {Path: "Blocker", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep)}, - {Tag: "Stored", - Path: "Stored", + {Path: "Stored", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep)}, - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep)}, - {Tag: "ThresholdIDs", - Path: "ThresholdIDs", + {Path: "ThresholdIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep)}, }, @@ -697,9 +635,7 @@ func TestLoaderProcessStats(t *testing.T) { csvRdr := csv.NewReader(rdr) csvRdr.Comment = '#' ldr.rdrs = map[string]map[string]*openedCSVFile{ - utils.MetaStats: { - utils.StatsCsv: &openedCSVFile{fileName: utils.StatsCsv, - rdr: rdr, csvRdr: csvRdr}}, + utils.MetaStats: {utils.StatsCsv: &openedCSVFile{rdr: rdr, csvRdr: csvRdr}}, } if err := ldr.processContent(utils.MetaStats, utils.EmptyString); err != nil { t.Error(err) @@ -717,15 +653,9 @@ func TestLoaderProcessStats(t *testing.T) { QueueLength: 100, TTL: time.Second, Metrics: []*engine.MetricWithFilters{ - { - MetricID: "*sum#~*req.Value", - }, - { - MetricID: "*average#~*req.Value", - }, - { - MetricID: "*sum#~*req.Usage", - }, + {MetricID: "*sum#~*req.Value"}, + {MetricID: "*average#~*req.Value"}, + {MetricID: "*sum#~*req.Usage"}, }, ThresholdIDs: []string{"Th1", "Th2"}, Blocker: true, @@ -753,9 +683,7 @@ func TestLoaderProcessStats(t *testing.T) { csvRdr = csv.NewReader(rdr) csvRdr.Comment = '#' ldr.rdrs = map[string]map[string]*openedCSVFile{ - utils.MetaStats: { - "Stats.csv": &openedCSVFile{fileName: "Stats.csv", - rdr: rdr, csvRdr: csvRdr}}, + utils.MetaStats: {utils.StatsCsv: &openedCSVFile{rdr: rdr, csvRdr: csvRdr}}, } if err := ldr.processContent(utils.MetaStats, utils.EmptyString); err != nil { t.Error(err) @@ -763,7 +691,6 @@ func TestLoaderProcessStats(t *testing.T) { } func TestLoaderProcessStatsWrongMetrics(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessStatsWrongMetrics", bufLoaderData: make(map[string][]LoaderData), @@ -771,12 +698,10 @@ func TestLoaderProcessStatsWrongMetrics(t *testing.T) { timezone: "UTC", dataTpls: map[string][]*config.FCTemplate{ utils.MetaStats: { - {Tag: "MetricIDs", - Path: "MetricIDs", + {Path: "MetricIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, - {Tag: "Stored", - Path: "Stored", + {Path: "Stored", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep)}, }, @@ -818,7 +743,6 @@ not_a_valid_metric_type,true,`)) } func TestLoaderProcessRoutes(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", bufLoaderData: make(map[string][]LoaderData), @@ -827,70 +751,54 @@ func TestLoaderProcessRoutes(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaRoutes: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, - {Tag: "FilterIDs", - Path: "FilterIDs", + {Path: "FilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep)}, - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep)}, - {Tag: "Sorting", - Path: "Sorting", + {Path: "Sorting", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep)}, - {Tag: "SortingParameters", - Path: "SortingParameters", + {Path: "SortingParameters", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep)}, - {Tag: "RouteID", - Path: "RouteID", + {Path: "RouteID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep)}, - {Tag: "RouteFilterIDs", - Path: "RouteFilterIDs", + {Path: "RouteFilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep)}, - {Tag: "RouteAccountIDs", - Path: "RouteAccountIDs", + {Path: "RouteAccountIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep)}, - {Tag: "RouteRatingPlanIDs", - Path: "RouteRatingplanIDs", + {Path: "RouteRatingplanIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep)}, - {Tag: "RouteResourceIDs", - Path: "RouteResourceIDs", + {Path: "RouteResourceIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep)}, - {Tag: "RouteStatIDs", - Path: "RouteStatIDs", + {Path: "RouteStatIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep)}, - {Tag: "RouteWeight", - Path: "RouteWeight", + {Path: "RouteWeight", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep)}, - {Tag: "RouteBlocker", - Path: "RouteBlocker", + {Path: "RouteBlocker", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep)}, - {Tag: "RouteParameters", - Path: "RouteParameters", + {Path: "RouteParameters", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep)}, - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.15", utils.InfieldSep)}, }, @@ -989,7 +897,6 @@ func TestLoaderProcessRoutes(t *testing.T) { } func TestLoaderProcessChargers(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", bufLoaderData: make(map[string][]LoaderData), @@ -998,34 +905,27 @@ func TestLoaderProcessChargers(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaChargers: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, - {Tag: "FilterIDs", - Path: "FilterIDs", + {Path: "FilterIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep)}, - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep)}, - {Tag: "RunID", - Path: "RunID", + {Path: "RunID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep)}, - {Tag: "AttributeIDs", - Path: "AttributeIDs", + {Path: "AttributeIDs", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep)}, - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep)}, }, @@ -1080,7 +980,6 @@ func TestLoaderProcessChargers(t *testing.T) { } func TestLoaderProcessDispatches(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", bufLoaderData: make(map[string][]LoaderData), @@ -1249,7 +1148,6 @@ func TestLoaderProcessDispatches(t *testing.T) { } func TestLoaderProcessDispatcheHosts(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", bufLoaderData: make(map[string][]LoaderData), @@ -1403,7 +1301,6 @@ func TestLoaderProcessDispatcheHosts(t *testing.T) { } func TestLoaderRemoveContentSingleFile(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", bufLoaderData: make(map[string][]LoaderData), @@ -1412,13 +1309,11 @@ func TestLoaderRemoveContentSingleFile(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaAttributes: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -1505,34 +1400,27 @@ func TestLoaderRemoveContentSingleFile(t *testing.T) { } } func TestNewLoaderWithMultiFiles(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldrCfg := config.CgrConfig().LoaderCfg()[0].Clone() ldrCfg.Data[0].Fields = []*config.FCTemplate{ - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaString, Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*file(File2.csv).1", utils.InfieldSep), Mandatory: true}, - {Tag: "Contexts", - Path: "Contexts", + {Path: "Contexts", Type: utils.MetaString, Value: config.NewRSRParsersMustCompile("*any", utils.InfieldSep)}, - {Tag: "Path", - Path: "Path", + {Path: "Path", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*file(File1.csv).6", utils.InfieldSep)}, - {Tag: "Value", - Path: "Value", + {Path: "Value", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*file(File1.csv).7", utils.InfieldSep)}, - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaString, Value: config.NewRSRParsersMustCompile("10", utils.InfieldSep)}, } @@ -1563,7 +1451,6 @@ func TestNewLoaderWithMultiFiles(t *testing.T) { } func TestLoaderAttributesAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderAttributesAsStructErrType", bufLoaderData: map[string][]LoaderData{}, @@ -1572,8 +1459,7 @@ func TestLoaderAttributesAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaAttributes: { - {Tag: "Weight", - Path: "Weight", + {Path: "Weight", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1597,7 +1483,6 @@ true } func TestLoaderAttributesAsStructErrConversion(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderAttributesAsStructErrConversion", bufLoaderData: map[string][]LoaderData{}, @@ -1606,8 +1491,7 @@ func TestLoaderAttributesAsStructErrConversion(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaAttributes: { - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1631,7 +1515,6 @@ func TestLoaderAttributesAsStructErrConversion(t *testing.T) { } func TestLoadResourcesAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadResourcesAsStructErr", bufLoaderData: make(map[string][]LoaderData), @@ -1640,8 +1523,7 @@ func TestLoadResourcesAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaResources: { - {Tag: "Blocker", - Path: "Blocker", + {Path: "Blocker", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1665,7 +1547,6 @@ NOT_A_BOOLEAN } func TestLoadResourcesAsStructErrConversion(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadResourcesAsStructErrConversion", bufLoaderData: make(map[string][]LoaderData), @@ -1674,8 +1555,7 @@ func TestLoadResourcesAsStructErrConversion(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaResources: { - {Tag: "UsageTTL", - Path: "UsageTTL", + {Path: "UsageTTL", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1699,7 +1579,6 @@ func TestLoadResourcesAsStructErrConversion(t *testing.T) { } func TestLoadFiltersAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadFiltersAsStructErrType", bufLoaderData: make(map[string][]LoaderData), @@ -1708,8 +1587,7 @@ func TestLoadFiltersAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaFilters: { - {Tag: "PK", - Path: "PK", + {Path: "PK", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1737,7 +1615,6 @@ NOT_UINT } func TestLoadFiltersAsStructErrConversion(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadFiltersAsStructErrConversion", bufLoaderData: make(map[string][]LoaderData), @@ -1746,8 +1623,7 @@ func TestLoadFiltersAsStructErrConversion(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaFilters: { - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1775,7 +1651,6 @@ func TestLoadFiltersAsStructErrConversion(t *testing.T) { } func TestLoadStatsAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadStatsAsStructErrType", bufLoaderData: make(map[string][]LoaderData), @@ -1784,8 +1659,7 @@ func TestLoadStatsAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaStats: { - {Tag: "PK", - Path: "PK", + {Path: "PK", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1813,7 +1687,6 @@ NOT_UINT } func TestLoadStatsAsStructErrConversion(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadStatsAsStructErrType", bufLoaderData: make(map[string][]LoaderData), @@ -1822,8 +1695,7 @@ func TestLoadStatsAsStructErrConversion(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaStats: { - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1851,7 +1723,6 @@ func TestLoadStatsAsStructErrConversion(t *testing.T) { } func TestLoadThresholdsAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadThresholdsAsStructErrType", bufLoaderData: make(map[string][]LoaderData), @@ -1860,8 +1731,7 @@ func TestLoadThresholdsAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaThresholds: { - {Tag: "PK", - Path: "PK", + {Path: "PK", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1889,7 +1759,6 @@ NOT_UINT } func TestLoadThresholdsAsStructErrConversion(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadThresholdsAsStructErrConversion", bufLoaderData: make(map[string][]LoaderData), @@ -1898,8 +1767,7 @@ func TestLoadThresholdsAsStructErrConversion(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaThresholds: { - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1927,7 +1795,6 @@ func TestLoadThresholdsAsStructErrConversion(t *testing.T) { } func TestLoadRoutesAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadRoutesAsStructErrType", bufLoaderData: make(map[string][]LoaderData), @@ -1936,8 +1803,7 @@ func TestLoadRoutesAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaRoutes: { - {Tag: "PK", - Path: "PK", + {Path: "PK", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -1965,7 +1831,6 @@ NOT_UINT } func TestLoadRoutesAsStructErrConversion(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadRoutesAsStructErrConversion", bufLoaderData: make(map[string][]LoaderData), @@ -1974,8 +1839,7 @@ func TestLoadRoutesAsStructErrConversion(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaRoutes: { - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -2003,7 +1867,6 @@ func TestLoadRoutesAsStructErrConversion(t *testing.T) { } func TestLoadChargersAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadChargersAsStructErrType", bufLoaderData: make(map[string][]LoaderData), @@ -2012,8 +1875,7 @@ func TestLoadChargersAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaChargers: { - {Tag: "PK", - Path: "PK", + {Path: "PK", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -2041,7 +1903,6 @@ NOT_UINT } func TestLoadChargersAsStructErrConversion(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadChargersAsStructErrConversion", bufLoaderData: make(map[string][]LoaderData), @@ -2050,8 +1911,7 @@ func TestLoadChargersAsStructErrConversion(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaChargers: { - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -2079,7 +1939,6 @@ func TestLoadChargersAsStructErrConversion(t *testing.T) { } func TestLoadDispatchersAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadDispatchersAsStructErrType", bufLoaderData: make(map[string][]LoaderData), @@ -2088,8 +1947,7 @@ func TestLoadDispatchersAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaDispatchers: { - {Tag: "PK", - Path: "PK", + {Path: "PK", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -2117,7 +1975,6 @@ NOT_UINT } func TestLoadDispatcherAsStructErrConversion(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadDispatcherHostsAsStructErrConversion", bufLoaderData: make(map[string][]LoaderData), @@ -2126,8 +1983,7 @@ func TestLoadDispatcherAsStructErrConversion(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaDispatchers: { - {Tag: "ActivationInterval", - Path: "ActivationInterval", + {Path: "ActivationInterval", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -2155,7 +2011,6 @@ func TestLoadDispatcherAsStructErrConversion(t *testing.T) { } func TestLoadDispatcherHostsAsStructErrType(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadDispatcherHostsAsStructErrType", bufLoaderData: make(map[string][]LoaderData), @@ -2164,8 +2019,7 @@ func TestLoadDispatcherHostsAsStructErrType(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaDispatcherHosts: { - {Tag: "PK", - Path: "PK", + {Path: "PK", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep)}, }, @@ -2193,7 +2047,6 @@ NOT_UINT } func TestLoadAndRemoveResources(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadAndRemoveResources", bufLoaderData: make(map[string][]LoaderData), @@ -2203,13 +2056,11 @@ func TestLoadAndRemoveResources(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaResources: { - {Tag: "Tenant", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -2327,7 +2178,6 @@ cgrates.org,NewRes1 } func TestRemoveFilterContent(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestRemoveFilterContents", bufLoaderData: make(map[string][]LoaderData), @@ -2336,13 +2186,11 @@ func TestRemoveFilterContent(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaFilters: { - {Tag: "Tenant", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -2420,7 +2268,6 @@ cgrates.org,FILTERS_REM_1 } func TestRemoveStatsContent(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoaderProcessContent", bufLoaderData: make(map[string][]LoaderData), @@ -2429,13 +2276,11 @@ func TestRemoveStatsContent(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaStats: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -2513,7 +2358,6 @@ cgrates.org,REM_STATS_1 } func TestRemoveThresholdsContent(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestRemoveThresholdsContent", bufLoaderData: make(map[string][]LoaderData), @@ -2522,13 +2366,11 @@ func TestRemoveThresholdsContent(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaThresholds: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -2606,7 +2448,6 @@ cgrates.org,REM_THRESHOLDS_1, } func TestRemoveRoutesContent(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestRemoveRoutesContent", bufLoaderData: make(map[string][]LoaderData), @@ -2615,13 +2456,11 @@ func TestRemoveRoutesContent(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaRoutes: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -2699,7 +2538,6 @@ cgrates.org,ROUTES_REM_1 } func TestRemoveChargersContent(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestRemoveChargersContent", bufLoaderData: make(map[string][]LoaderData), @@ -2708,13 +2546,11 @@ func TestRemoveChargersContent(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaChargers: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -2792,7 +2628,6 @@ cgrates.org,REM_ROUTES_1 } func TestRemoveDispatchersContent(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestRemoveDispatchersContent", bufLoaderData: make(map[string][]LoaderData), @@ -2801,13 +2636,11 @@ func TestRemoveDispatchersContent(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaDispatchers: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -2884,7 +2717,6 @@ cgrates.org,REM_DISPATCHERS_1 } func TestRemoveDispatcherHostsContent(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestRemoveDispatcherHostsContent", bufLoaderData: make(map[string][]LoaderData), @@ -2893,13 +2725,11 @@ func TestRemoveDispatcherHostsContent(t *testing.T) { } ldr.dataTpls = map[string][]*config.FCTemplate{ utils.MetaDispatcherHosts: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -3042,7 +2872,6 @@ func TestLoaderListenAndServe(t *testing.T) { } func TestRemoveThresholdsMockError(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestRemoveThresholdsMockError", bufLoaderData: make(map[string][]LoaderData), @@ -3050,13 +2879,11 @@ func TestRemoveThresholdsMockError(t *testing.T) { timezone: "UTC", dataTpls: map[string][]*config.FCTemplate{ utils.MetaThresholds: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -3096,7 +2923,6 @@ func TestRemoveThresholdsMockError(t *testing.T) { } func TestRemoveStatQueueMockError(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestRemoveStatQueueError", bufLoaderData: make(map[string][]LoaderData), @@ -3104,13 +2930,11 @@ func TestRemoveStatQueueMockError(t *testing.T) { timezone: "UTC", dataTpls: map[string][]*config.FCTemplate{ utils.MetaStats: { - {Tag: "TenantID", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ProfileID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -3146,7 +2970,6 @@ cgrates.org,REM_STATS_1`)) } func TestRemoveResourcesMockError(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true) ldr := &Loader{ ldrID: "TestLoadAndRemoveResources", bufLoaderData: make(map[string][]LoaderData), @@ -3154,13 +2977,11 @@ func TestRemoveResourcesMockError(t *testing.T) { timezone: "UTC", dataTpls: map[string][]*config.FCTemplate{ utils.MetaResources: { - {Tag: "Tenant", - Path: "Tenant", + {Path: "Tenant", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true}, - {Tag: "ID", - Path: "ID", + {Path: "ID", Type: utils.MetaComposed, Value: config.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true}, @@ -3223,7 +3044,6 @@ func (ccM *ccMock) Call(serviceMethod string, args interface{}, reply interface{ func TestStoreLoadedDataAttributes(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ @@ -3273,7 +3093,6 @@ func TestStoreLoadedDataAttributes(t *testing.T) { func TestStoreLoadedDataResources(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: nil, @@ -3323,7 +3142,6 @@ func TestStoreLoadedDataResources(t *testing.T) { func TestStoreLoadedDataFilters(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: nil, @@ -3372,7 +3190,6 @@ func TestStoreLoadedDataFilters(t *testing.T) { func TestStoreLoadedDataStats(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: nil, @@ -3422,7 +3239,6 @@ func TestStoreLoadedDataStats(t *testing.T) { func TestStoreLoadedDataThresholds(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: nil, @@ -3472,7 +3288,6 @@ func TestStoreLoadedDataThresholds(t *testing.T) { func TestStoreLoadedDataRoutes(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: nil, @@ -3521,7 +3336,6 @@ func TestStoreLoadedDataRoutes(t *testing.T) { func TestStoreLoadedDataChargers(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: nil, @@ -3570,7 +3384,6 @@ func TestStoreLoadedDataChargers(t *testing.T) { func TestStoreLoadedDataDispatchers(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: nil, @@ -3619,7 +3432,6 @@ func TestStoreLoadedDataDispatchers(t *testing.T) { func TestStoreLoadedDataDispatcherHosts(t *testing.T) { engine.Cache.Clear(nil) - data := engine.NewInternalDB(nil, nil, false) cfg := config.NewDefaultCGRConfig() argExpect := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: nil, diff --git a/loaders/loaders_it_test.go b/loaders/loaders_it_test.go index a8510ce52..02d56723a 100644 --- a/loaders/loaders_it_test.go +++ b/loaders/loaders_it_test.go @@ -85,7 +85,7 @@ cgrates.org,NewRes1 } file.Close() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -178,7 +178,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -215,7 +215,7 @@ func testV1LoadUnableToDeleteFile(t *testing.T) { t.Error(err) } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -258,7 +258,7 @@ NOT_UINT `)) file.Close() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -327,7 +327,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -424,7 +424,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -462,7 +462,7 @@ func testV1RemoveUnableToDeleteFile(t *testing.T) { t.Error(err) } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -500,7 +500,7 @@ func testV1LoadAndRemoveProcessRemoveFolderError(t *testing.T) { t.Error(err) } defer file.Close() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -558,7 +558,7 @@ func testV1RemoveProcessFolderError(t *testing.T) { t.Error(err) } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -622,7 +622,7 @@ func testLoaderServiceListenAndServe(t *testing.T) { func testLoaderServiceReload(t *testing.T) { flPath := "/tmp/testLoaderServiceReload" - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ diff --git a/migrator/accounts2_it_test.go b/migrator/accounts2_it_test.go index cee33f0f0..0f7b861db 100644 --- a/migrator/accounts2_it_test.go +++ b/migrator/accounts2_it_test.go @@ -70,7 +70,7 @@ func testAcc2ITConnect(t *testing.T) { acc2CfgIn.DataDbCfg().Host, acc2CfgIn.DataDbCfg().Port, acc2CfgIn.DataDbCfg().Name, acc2CfgIn.DataDbCfg().User, acc2CfgIn.DataDbCfg().Password, acc2CfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), acc2CfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), acc2CfgIn.DataDbCfg().Opts, acc2CfgIn.DataDbCfg().Items) if err != nil { t.Error(err) } @@ -78,7 +78,7 @@ func testAcc2ITConnect(t *testing.T) { acc2CfgOut.DataDbCfg().Host, acc2CfgOut.DataDbCfg().Port, acc2CfgOut.DataDbCfg().Name, acc2CfgOut.DataDbCfg().User, acc2CfgOut.DataDbCfg().Password, acc2CfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), acc2CfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), acc2CfgOut.DataDbCfg().Opts, acc2CfgOut.DataDbCfg().Items) if err != nil { t.Error(err) } @@ -88,7 +88,7 @@ func testAcc2ITConnect(t *testing.T) { acc2CfgIn.StorDbCfg().Name, acc2CfgIn.StorDbCfg().User, acc2CfgIn.StorDbCfg().Password, acc2CfgIn.GeneralCfg().DBDataEncoding, acc2CfgIn.StorDbCfg().StringIndexedFields, acc2CfgIn.StorDbCfg().PrefixIndexedFields, - acc2CfgIn.StorDbCfg().Opts) + acc2CfgIn.StorDbCfg().Opts, acc2CfgIn.StorDbCfg().Items) if err != nil { t.Error(err) } @@ -97,7 +97,7 @@ func testAcc2ITConnect(t *testing.T) { acc2CfgOut.StorDbCfg().Name, acc2CfgOut.StorDbCfg().User, acc2CfgOut.StorDbCfg().Password, acc2CfgIn.GeneralCfg().DBDataEncoding, acc2CfgOut.StorDbCfg().StringIndexedFields, acc2CfgOut.StorDbCfg().PrefixIndexedFields, - acc2CfgOut.StorDbCfg().Opts) + acc2CfgOut.StorDbCfg().Opts, acc2CfgOut.StorDbCfg().Items) if err != nil { t.Error(err) } @@ -127,10 +127,10 @@ func testAcc2ITFlush(t *testing.T) { if acc2Migrator.dmOut.DataManager().DataDB().GetStorageType() != utils.Redis { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.dmOut.DataManager().DataDB().GetStorageType()) } - if acc2Migrator.storDBIn.StorDB().GetStorageType() != utils.INTERNAL { + if acc2Migrator.storDBIn.StorDB().GetStorageType() != utils.Internal { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.storDBIn.StorDB().GetStorageType()) } - if acc2Migrator.storDBOut.StorDB().GetStorageType() != utils.INTERNAL { + if acc2Migrator.storDBOut.StorDB().GetStorageType() != utils.Internal { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.storDBOut.StorDB().GetStorageType()) } } diff --git a/migrator/accounts_it_test.go b/migrator/accounts_it_test.go index c143530b8..efe737cc3 100644 --- a/migrator/accounts_it_test.go +++ b/migrator/accounts_it_test.go @@ -168,7 +168,7 @@ func testAccITConnect(t *testing.T) { accCfgIn.DataDbCfg().Host, accCfgIn.DataDbCfg().Port, accCfgIn.DataDbCfg().Name, accCfgIn.DataDbCfg().User, accCfgIn.DataDbCfg().Password, accCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), accCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), accCfgIn.DataDbCfg().Opts, accCfgIn.DataDbCfg().Items) if err != nil { log.Fatal(err) } @@ -176,7 +176,7 @@ func testAccITConnect(t *testing.T) { accCfgOut.DataDbCfg().Host, accCfgOut.DataDbCfg().Port, accCfgOut.DataDbCfg().Name, accCfgOut.DataDbCfg().User, accCfgOut.DataDbCfg().Password, accCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), accCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), accCfgOut.DataDbCfg().Opts, accCfgOut.DataDbCfg().Items) if err != nil { log.Fatal(err) } diff --git a/migrator/action_it_test.go b/migrator/action_it_test.go index 8d3b24b20..e6c02ec00 100644 --- a/migrator/action_it_test.go +++ b/migrator/action_it_test.go @@ -166,7 +166,7 @@ func testActITConnect(t *testing.T) { actCfgIn.DataDbCfg().Host, actCfgIn.DataDbCfg().Port, actCfgIn.DataDbCfg().Name, actCfgIn.DataDbCfg().User, actCfgIn.DataDbCfg().Password, actCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), actCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), actCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -174,7 +174,7 @@ func testActITConnect(t *testing.T) { actCfgOut.DataDbCfg().Host, actCfgOut.DataDbCfg().Port, actCfgOut.DataDbCfg().Name, actCfgOut.DataDbCfg().User, actCfgOut.DataDbCfg().Password, actCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), actCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), actCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/action_plan_it_test.go b/migrator/action_plan_it_test.go index 1dc1e3a80..e05d3e53e 100644 --- a/migrator/action_plan_it_test.go +++ b/migrator/action_plan_it_test.go @@ -166,7 +166,7 @@ func testActPlnITConnect(t *testing.T) { actPlnCfgIn.DataDbCfg().Host, actPlnCfgIn.DataDbCfg().Port, actPlnCfgIn.DataDbCfg().Name, actPlnCfgIn.DataDbCfg().User, actPlnCfgIn.DataDbCfg().Password, actPlnCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), actPlnCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), actPlnCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -174,7 +174,7 @@ func testActPlnITConnect(t *testing.T) { actPlnCfgOut.DataDbCfg().Host, actPlnCfgOut.DataDbCfg().Port, actPlnCfgOut.DataDbCfg().Name, actPlnCfgOut.DataDbCfg().User, actPlnCfgOut.DataDbCfg().Password, actPlnCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), actPlnCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), actPlnCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/action_trigger_it_test.go b/migrator/action_trigger_it_test.go index be1536952..f638ff602 100644 --- a/migrator/action_trigger_it_test.go +++ b/migrator/action_trigger_it_test.go @@ -148,7 +148,7 @@ func testActTrgITConnect(t *testing.T) { actTrgCfgIn.DataDbCfg().Host, actTrgCfgIn.DataDbCfg().Port, actTrgCfgIn.DataDbCfg().Name, actTrgCfgIn.DataDbCfg().User, actTrgCfgIn.DataDbCfg().Password, actTrgCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), actTrgCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), actTrgCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -156,7 +156,7 @@ func testActTrgITConnect(t *testing.T) { actTrgCfgOut.DataDbCfg().Host, actTrgCfgOut.DataDbCfg().Port, actTrgCfgOut.DataDbCfg().Name, actTrgCfgOut.DataDbCfg().User, actTrgCfgOut.DataDbCfg().Password, actTrgCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), actTrgCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), actTrgCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/alias_it_test.go b/migrator/alias_it_test.go index d53763e0c..29755cca0 100644 --- a/migrator/alias_it_test.go +++ b/migrator/alias_it_test.go @@ -84,7 +84,7 @@ func testAlsITConnect(t *testing.T) { alsCfgIn.DataDbCfg().Host, alsCfgIn.DataDbCfg().Port, alsCfgIn.DataDbCfg().Name, alsCfgIn.DataDbCfg().User, alsCfgIn.DataDbCfg().Password, alsCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), alsCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), alsCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -92,7 +92,7 @@ func testAlsITConnect(t *testing.T) { alsCfgOut.DataDbCfg().Host, alsCfgOut.DataDbCfg().Port, alsCfgOut.DataDbCfg().Name, alsCfgOut.DataDbCfg().User, alsCfgOut.DataDbCfg().Password, alsCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), alsCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), alsCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/attributes_it_test.go b/migrator/attributes_it_test.go index 7148c63e8..c07f6171a 100644 --- a/migrator/attributes_it_test.go +++ b/migrator/attributes_it_test.go @@ -204,7 +204,7 @@ func testAttrITConnect(t *testing.T) { attrCfgIn.DataDbCfg().Host, attrCfgIn.DataDbCfg().Port, attrCfgIn.DataDbCfg().Name, attrCfgIn.DataDbCfg().User, attrCfgIn.DataDbCfg().Password, attrCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), attrCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), attrCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -212,7 +212,7 @@ func testAttrITConnect(t *testing.T) { attrCfgOut.DataDbCfg().Host, attrCfgOut.DataDbCfg().Port, attrCfgOut.DataDbCfg().Name, attrCfgOut.DataDbCfg().User, attrCfgOut.DataDbCfg().Password, attrCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), attrCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), attrCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/cdrs_it_test.go b/migrator/cdrs_it_test.go index 126c5ee9c..5da618dc3 100644 --- a/migrator/cdrs_it_test.go +++ b/migrator/cdrs_it_test.go @@ -78,7 +78,7 @@ func testCdrITConnect(t *testing.T) { cdrCfgIn.StorDbCfg().Name, cdrCfgIn.StorDbCfg().User, cdrCfgIn.StorDbCfg().Password, cdrCfgIn.GeneralCfg().DBDataEncoding, cdrCfgIn.StorDbCfg().StringIndexedFields, cdrCfgIn.StorDbCfg().PrefixIndexedFields, - cdrCfgIn.StorDbCfg().Opts) + cdrCfgIn.StorDbCfg().Opts, nil) if err != nil { t.Error(err) } @@ -87,7 +87,7 @@ func testCdrITConnect(t *testing.T) { cdrCfgIn.StorDbCfg().Name, cdrCfgIn.StorDbCfg().User, cdrCfgIn.StorDbCfg().Password, cdrCfgIn.GeneralCfg().DBDataEncoding, cdrCfgIn.StorDbCfg().StringIndexedFields, cdrCfgIn.StorDbCfg().PrefixIndexedFields, - cdrCfgIn.StorDbCfg().Opts) + cdrCfgIn.StorDbCfg().Opts, nil) if err != nil { t.Error(err) } diff --git a/migrator/chargers_it_test.go b/migrator/chargers_it_test.go index b83af1eb0..89c2ce9b9 100644 --- a/migrator/chargers_it_test.go +++ b/migrator/chargers_it_test.go @@ -129,7 +129,7 @@ func testChrgITConnect(t *testing.T) { chrgCfgIn.DataDbCfg().Host, chrgCfgIn.DataDbCfg().Port, chrgCfgIn.DataDbCfg().Name, chrgCfgIn.DataDbCfg().User, chrgCfgIn.DataDbCfg().Password, chrgCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), chrgCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), chrgCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -137,7 +137,7 @@ func testChrgITConnect(t *testing.T) { chrgCfgOut.DataDbCfg().Host, chrgCfgOut.DataDbCfg().Port, chrgCfgOut.DataDbCfg().Name, chrgCfgOut.DataDbCfg().User, chrgCfgOut.DataDbCfg().Password, chrgCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), chrgCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), chrgCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/derived_chargers_it_test.go b/migrator/derived_chargers_it_test.go index be5d41982..09574a2d9 100644 --- a/migrator/derived_chargers_it_test.go +++ b/migrator/derived_chargers_it_test.go @@ -83,7 +83,7 @@ func testDCITConnect(t *testing.T) { dcCfgIn.DataDbCfg().Host, dcCfgIn.DataDbCfg().Port, dcCfgIn.DataDbCfg().Name, dcCfgIn.DataDbCfg().User, dcCfgIn.DataDbCfg().Password, dcCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), dcCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), dcCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -91,7 +91,7 @@ func testDCITConnect(t *testing.T) { dcCfgOut.DataDbCfg().Host, dcCfgOut.DataDbCfg().Port, dcCfgOut.DataDbCfg().Name, dcCfgOut.DataDbCfg().User, dcCfgOut.DataDbCfg().Password, dcCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), dcCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), dcCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/dispatchers_it_test.go b/migrator/dispatchers_it_test.go index 3dcbe9e48..9a2fe8d4d 100644 --- a/migrator/dispatchers_it_test.go +++ b/migrator/dispatchers_it_test.go @@ -129,7 +129,7 @@ func testDspITConnect(t *testing.T) { dspCfgIn.DataDbCfg().Host, dspCfgIn.DataDbCfg().Port, dspCfgIn.DataDbCfg().Name, dspCfgIn.DataDbCfg().User, dspCfgIn.DataDbCfg().Password, dspCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), dspCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), dspCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -137,7 +137,7 @@ func testDspITConnect(t *testing.T) { dspCfgOut.DataDbCfg().Host, dspCfgOut.DataDbCfg().Port, dspCfgOut.DataDbCfg().Name, dspCfgOut.DataDbCfg().User, dspCfgOut.DataDbCfg().Password, dspCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), dspCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), dspCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/filters_it_test.go b/migrator/filters_it_test.go index d6f26dbe8..f0a536bdf 100644 --- a/migrator/filters_it_test.go +++ b/migrator/filters_it_test.go @@ -105,7 +105,7 @@ func testFltrITConnect(t *testing.T) { fltrCfgIn.DataDbCfg().Host, fltrCfgIn.DataDbCfg().Port, fltrCfgIn.DataDbCfg().Name, fltrCfgIn.DataDbCfg().User, fltrCfgIn.DataDbCfg().Password, fltrCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), fltrCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), fltrCfgIn.DataDbCfg().Opts,nil) if err != nil { log.Fatal(err) } @@ -113,7 +113,7 @@ func testFltrITConnect(t *testing.T) { fltrCfgOut.DataDbCfg().Host, fltrCfgOut.DataDbCfg().Port, fltrCfgOut.DataDbCfg().Name, fltrCfgOut.DataDbCfg().User, fltrCfgOut.DataDbCfg().Password, fltrCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), fltrCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), fltrCfgOut.DataDbCfg().Opts,nil) if err != nil { log.Fatal(err) } diff --git a/migrator/load_ids_it_test.go b/migrator/load_ids_it_test.go index 0b6af2abc..0186f5c9a 100644 --- a/migrator/load_ids_it_test.go +++ b/migrator/load_ids_it_test.go @@ -79,7 +79,7 @@ func testLoadIdsITConnect(t *testing.T) { loadCfgIn.DataDbCfg().Host, loadCfgIn.DataDbCfg().Port, loadCfgIn.DataDbCfg().Name, loadCfgIn.DataDbCfg().User, loadCfgIn.DataDbCfg().Password, loadCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), loadCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), loadCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -87,7 +87,7 @@ func testLoadIdsITConnect(t *testing.T) { loadCfgOut.DataDbCfg().Host, loadCfgOut.DataDbCfg().Port, loadCfgOut.DataDbCfg().Name, loadCfgOut.DataDbCfg().User, loadCfgOut.DataDbCfg().Password, loadCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), loadCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), loadCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/rating_plan_it_test.go b/migrator/rating_plan_it_test.go index 6ad32c653..146988166 100644 --- a/migrator/rating_plan_it_test.go +++ b/migrator/rating_plan_it_test.go @@ -128,7 +128,7 @@ func testRtPlITConnect(t *testing.T) { rtplCfgIn.DataDbCfg().Host, rtplCfgIn.DataDbCfg().Port, rtplCfgIn.DataDbCfg().Name, rtplCfgIn.DataDbCfg().User, rtplCfgIn.DataDbCfg().Password, rtplCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), rtplCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), rtplCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -136,7 +136,7 @@ func testRtPlITConnect(t *testing.T) { rtplCfgOut.DataDbCfg().Host, rtplCfgOut.DataDbCfg().Port, rtplCfgOut.DataDbCfg().Name, rtplCfgOut.DataDbCfg().User, rtplCfgOut.DataDbCfg().Password, rtplCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), rtplCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), rtplCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/rating_profile_it_test.go b/migrator/rating_profile_it_test.go index 4a436ce10..38e045c3f 100644 --- a/migrator/rating_profile_it_test.go +++ b/migrator/rating_profile_it_test.go @@ -129,7 +129,7 @@ func testRtPrfITConnect(t *testing.T) { rtprflCfgIn.DataDbCfg().Host, rtprflCfgIn.DataDbCfg().Port, rtprflCfgIn.DataDbCfg().Name, rtprflCfgIn.DataDbCfg().User, rtprflCfgIn.DataDbCfg().Password, rtprflCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), rtprflCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), rtprflCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -137,7 +137,7 @@ func testRtPrfITConnect(t *testing.T) { rtprflCfgOut.DataDbCfg().Host, rtprflCfgOut.DataDbCfg().Port, rtprflCfgOut.DataDbCfg().Name, rtprflCfgOut.DataDbCfg().User, rtprflCfgOut.DataDbCfg().Password, rtprflCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), rtplCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), rtplCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/resource_it_test.go b/migrator/resource_it_test.go index 0421a5870..eb28882bf 100644 --- a/migrator/resource_it_test.go +++ b/migrator/resource_it_test.go @@ -129,7 +129,7 @@ func testResITConnect(t *testing.T) { resCfgIn.DataDbCfg().Host, resCfgIn.DataDbCfg().Port, resCfgIn.DataDbCfg().Name, resCfgIn.DataDbCfg().User, resCfgIn.DataDbCfg().Password, resCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), resCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), resCfgIn.DataDbCfg().Opts,nil) if err != nil { log.Fatal(err) } @@ -137,7 +137,7 @@ func testResITConnect(t *testing.T) { resCfgOut.DataDbCfg().Host, resCfgOut.DataDbCfg().Port, resCfgOut.DataDbCfg().Name, resCfgOut.DataDbCfg().User, resCfgOut.DataDbCfg().Password, resCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), resCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), resCfgOut.DataDbCfg().Opts,nil) if err != nil { log.Fatal(err) } diff --git a/migrator/routes_it_test.go b/migrator/routes_it_test.go index cb0935eea..1021df40a 100644 --- a/migrator/routes_it_test.go +++ b/migrator/routes_it_test.go @@ -128,7 +128,7 @@ func testSupITConnect(t *testing.T) { supCfgIn.DataDbCfg().Host, supCfgIn.DataDbCfg().Port, supCfgIn.DataDbCfg().Name, supCfgIn.DataDbCfg().User, supCfgIn.DataDbCfg().Password, supCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), supCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), supCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -136,7 +136,7 @@ func testSupITConnect(t *testing.T) { supCfgOut.DataDbCfg().Host, supCfgOut.DataDbCfg().Port, supCfgOut.DataDbCfg().Name, supCfgOut.DataDbCfg().User, supCfgOut.DataDbCfg().Password, supCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), supCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), supCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/session_costs_it_test.go b/migrator/session_costs_it_test.go index b87c89f3d..f83893e9e 100644 --- a/migrator/session_costs_it_test.go +++ b/migrator/session_costs_it_test.go @@ -89,7 +89,7 @@ func testSessionCostITConnect(t *testing.T) { sCostCfgIn.StorDbCfg().Name, sCostCfgIn.StorDbCfg().User, sCostCfgIn.StorDbCfg().Password, sCostCfgIn.GeneralCfg().DBDataEncoding, sCostCfgIn.StorDbCfg().StringIndexedFields, sCostCfgIn.StorDbCfg().PrefixIndexedFields, - sCostCfgIn.StorDbCfg().Opts) + sCostCfgIn.StorDbCfg().Opts, nil) if err != nil { t.Error(err) } @@ -98,7 +98,7 @@ func testSessionCostITConnect(t *testing.T) { sCostCfgOut.StorDbCfg().Name, sCostCfgOut.StorDbCfg().User, sCostCfgOut.StorDbCfg().Password, sCostCfgOut.GeneralCfg().DBDataEncoding, sCostCfgIn.StorDbCfg().StringIndexedFields, sCostCfgIn.StorDbCfg().PrefixIndexedFields, - sCostCfgOut.StorDbCfg().Opts) + sCostCfgOut.StorDbCfg().Opts, nil) if err != nil { t.Error(err) } diff --git a/migrator/sharedgroup_it_test.go b/migrator/sharedgroup_it_test.go index 1048e5525..bb011dbdc 100644 --- a/migrator/sharedgroup_it_test.go +++ b/migrator/sharedgroup_it_test.go @@ -147,7 +147,7 @@ func testShrGrpITConnect(t *testing.T) { shrGrpCfgIn.DataDbCfg().Host, shrGrpCfgIn.DataDbCfg().Port, shrGrpCfgIn.DataDbCfg().Name, shrGrpCfgIn.DataDbCfg().User, shrGrpCfgIn.DataDbCfg().Password, shrGrpCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), shrGrpCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), shrGrpCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -155,7 +155,7 @@ func testShrGrpITConnect(t *testing.T) { shrGrpCfgOut.DataDbCfg().Host, shrGrpCfgOut.DataDbCfg().Port, shrGrpCfgOut.DataDbCfg().Name, shrGrpCfgOut.DataDbCfg().User, shrGrpCfgOut.DataDbCfg().Password, shrGrpCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), shrGrpCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), shrGrpCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/stats_it_test.go b/migrator/stats_it_test.go index 5cfaaf6f7..3eea263f9 100644 --- a/migrator/stats_it_test.go +++ b/migrator/stats_it_test.go @@ -111,7 +111,7 @@ func testStsITConnect(t *testing.T) { stsCfgIn.DataDbCfg().Host, stsCfgIn.DataDbCfg().Port, stsCfgIn.DataDbCfg().Name, stsCfgIn.DataDbCfg().User, stsCfgIn.DataDbCfg().Password, stsCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), stsCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), stsCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -119,7 +119,7 @@ func testStsITConnect(t *testing.T) { stsCfgOut.DataDbCfg().Host, stsCfgOut.DataDbCfg().Port, stsCfgOut.DataDbCfg().Name, stsCfgOut.DataDbCfg().User, stsCfgOut.DataDbCfg().Password, stsCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), stsCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), stsCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/thresholds_it_test.go b/migrator/thresholds_it_test.go index 8130b6ae4..dccc03116 100644 --- a/migrator/thresholds_it_test.go +++ b/migrator/thresholds_it_test.go @@ -148,7 +148,7 @@ func testTrsITConnect(t *testing.T) { trsCfgIn.DataDbCfg().Host, trsCfgIn.DataDbCfg().Port, trsCfgIn.DataDbCfg().Name, trsCfgIn.DataDbCfg().User, trsCfgIn.DataDbCfg().Password, trsCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), trsCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), trsCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -156,7 +156,7 @@ func testTrsITConnect(t *testing.T) { trsCfgOut.DataDbCfg().Host, trsCfgOut.DataDbCfg().Port, trsCfgOut.DataDbCfg().Name, trsCfgOut.DataDbCfg().User, trsCfgOut.DataDbCfg().Password, trsCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), trsCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), trsCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_account_actions_it_test.go b/migrator/tp_account_actions_it_test.go index 84750ce63..b14d91e5b 100644 --- a/migrator/tp_account_actions_it_test.go +++ b/migrator/tp_account_actions_it_test.go @@ -73,7 +73,7 @@ func testTpAccActITConnect(t *testing.T) { tpAccActCfgIn.StorDbCfg().Name, tpAccActCfgIn.StorDbCfg().User, tpAccActCfgIn.StorDbCfg().Password, tpAccActCfgIn.GeneralCfg().DBDataEncoding, tpAccActCfgIn.StorDbCfg().StringIndexedFields, tpAccActCfgIn.StorDbCfg().PrefixIndexedFields, - tpAccActCfgIn.StorDbCfg().Opts) + tpAccActCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpAccActITConnect(t *testing.T) { tpAccActCfgOut.StorDbCfg().Name, tpAccActCfgOut.StorDbCfg().User, tpAccActCfgOut.StorDbCfg().Password, tpAccActCfgOut.GeneralCfg().DBDataEncoding, tpAccActCfgIn.StorDbCfg().StringIndexedFields, tpAccActCfgIn.StorDbCfg().PrefixIndexedFields, - tpAccActCfgOut.StorDbCfg().Opts) + tpAccActCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_action_plans_it_test.go b/migrator/tp_action_plans_it_test.go index 573d2ff55..18aba92ad 100644 --- a/migrator/tp_action_plans_it_test.go +++ b/migrator/tp_action_plans_it_test.go @@ -73,7 +73,7 @@ func testTpActPlnITConnect(t *testing.T) { tpActPlnCfgIn.StorDbCfg().Name, tpActPlnCfgIn.StorDbCfg().User, tpActPlnCfgIn.StorDbCfg().Password, tpActPlnCfgIn.GeneralCfg().DBDataEncoding, tpActPlnCfgIn.StorDbCfg().StringIndexedFields, tpActPlnCfgIn.StorDbCfg().PrefixIndexedFields, - tpActPlnCfgIn.StorDbCfg().Opts) + tpActPlnCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpActPlnITConnect(t *testing.T) { tpActPlnCfgOut.StorDbCfg().Name, tpActPlnCfgOut.StorDbCfg().User, tpActPlnCfgOut.StorDbCfg().Password, tpActPlnCfgOut.GeneralCfg().DBDataEncoding, tpActPlnCfgIn.StorDbCfg().StringIndexedFields, tpActPlnCfgIn.StorDbCfg().PrefixIndexedFields, - tpActPlnCfgOut.StorDbCfg().Opts) + tpActPlnCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_action_triggers_it_test.go b/migrator/tp_action_triggers_it_test.go index 3b6c6e8d7..a4c0a77a3 100644 --- a/migrator/tp_action_triggers_it_test.go +++ b/migrator/tp_action_triggers_it_test.go @@ -73,7 +73,7 @@ func testTpActTrgITConnect(t *testing.T) { tpActTrgCfgIn.StorDbCfg().Name, tpActTrgCfgIn.StorDbCfg().User, tpActTrgCfgIn.StorDbCfg().Password, tpActTrgCfgIn.GeneralCfg().DBDataEncoding, tpActTrgCfgIn.StorDbCfg().StringIndexedFields, tpActTrgCfgIn.StorDbCfg().PrefixIndexedFields, - tpActTrgCfgIn.StorDbCfg().Opts) + tpActTrgCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpActTrgITConnect(t *testing.T) { tpActTrgCfgOut.StorDbCfg().Name, tpActTrgCfgOut.StorDbCfg().User, tpActTrgCfgOut.StorDbCfg().Password, tpActTrgCfgOut.GeneralCfg().DBDataEncoding, tpActTrgCfgIn.StorDbCfg().StringIndexedFields, tpActTrgCfgIn.StorDbCfg().PrefixIndexedFields, - tpActTrgCfgOut.StorDbCfg().Opts) + tpActTrgCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_actions_it_test.go b/migrator/tp_actions_it_test.go index 036fda38c..d2588fa0c 100644 --- a/migrator/tp_actions_it_test.go +++ b/migrator/tp_actions_it_test.go @@ -73,7 +73,7 @@ func testTpActITConnect(t *testing.T) { tpActCfgIn.StorDbCfg().Name, tpActCfgIn.StorDbCfg().User, tpActCfgIn.StorDbCfg().Password, tpActCfgIn.GeneralCfg().DBDataEncoding, tpActCfgIn.StorDbCfg().StringIndexedFields, tpActCfgIn.StorDbCfg().PrefixIndexedFields, - tpActCfgIn.StorDbCfg().Opts) + tpActCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpActITConnect(t *testing.T) { tpActCfgOut.StorDbCfg().Name, tpActCfgOut.StorDbCfg().User, tpActCfgOut.StorDbCfg().Password, tpActCfgOut.GeneralCfg().DBDataEncoding, tpActCfgIn.StorDbCfg().StringIndexedFields, tpActCfgIn.StorDbCfg().PrefixIndexedFields, - tpActCfgOut.StorDbCfg().Opts) + tpActCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_destination_rates_it_test.go b/migrator/tp_destination_rates_it_test.go index a69e8000c..683629990 100644 --- a/migrator/tp_destination_rates_it_test.go +++ b/migrator/tp_destination_rates_it_test.go @@ -73,7 +73,7 @@ func testTpDstRtITConnect(t *testing.T) { tpDstRtCfgIn.StorDbCfg().Name, tpDstRtCfgIn.StorDbCfg().User, tpDstRtCfgIn.StorDbCfg().Password, tpDstRtCfgIn.GeneralCfg().DBDataEncoding, tpDstRtCfgIn.StorDbCfg().StringIndexedFields, tpDstRtCfgIn.StorDbCfg().PrefixIndexedFields, - tpDstRtCfgIn.StorDbCfg().Opts) + tpDstRtCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpDstRtITConnect(t *testing.T) { tpDstRtCfgOut.StorDbCfg().Name, tpDstRtCfgOut.StorDbCfg().User, tpDstRtCfgOut.StorDbCfg().Password, tpDstRtCfgOut.GeneralCfg().DBDataEncoding, tpDstRtCfgIn.StorDbCfg().StringIndexedFields, tpDstRtCfgIn.StorDbCfg().PrefixIndexedFields, - tpDstRtCfgOut.StorDbCfg().Opts) + tpDstRtCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_destinations_it_test.go b/migrator/tp_destinations_it_test.go index 004625ece..81c368c09 100644 --- a/migrator/tp_destinations_it_test.go +++ b/migrator/tp_destinations_it_test.go @@ -73,7 +73,7 @@ func testTpDstITConnect(t *testing.T) { tpDstCfgIn.StorDbCfg().Name, tpDstCfgIn.StorDbCfg().User, tpDstCfgIn.StorDbCfg().Password, tpDstCfgIn.GeneralCfg().DBDataEncoding, tpDstCfgIn.StorDbCfg().StringIndexedFields, tpDstCfgIn.StorDbCfg().PrefixIndexedFields, - tpDstCfgIn.StorDbCfg().Opts) + tpDstCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpDstITConnect(t *testing.T) { tpDstCfgOut.StorDbCfg().Name, tpDstCfgOut.StorDbCfg().User, tpDstCfgOut.StorDbCfg().Password, tpDstCfgOut.GeneralCfg().DBDataEncoding, tpDstCfgIn.StorDbCfg().StringIndexedFields, tpDstCfgIn.StorDbCfg().PrefixIndexedFields, - tpDstCfgOut.StorDbCfg().Opts) + tpDstCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_dispatchers_it_test.go b/migrator/tp_dispatchers_it_test.go index f453c08ab..0b5652e42 100644 --- a/migrator/tp_dispatchers_it_test.go +++ b/migrator/tp_dispatchers_it_test.go @@ -73,7 +73,7 @@ func testTpDispITConnect(t *testing.T) { tpDispCfgIn.StorDbCfg().Name, tpDispCfgIn.StorDbCfg().User, tpDispCfgIn.StorDbCfg().Password, tpDispCfgIn.GeneralCfg().DBDataEncoding, tpDispCfgIn.StorDbCfg().StringIndexedFields, tpDispCfgIn.StorDbCfg().PrefixIndexedFields, - tpDispCfgIn.StorDbCfg().Opts) + tpDispCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpDispITConnect(t *testing.T) { tpDispCfgOut.StorDbCfg().Name, tpDispCfgOut.StorDbCfg().User, tpDispCfgOut.StorDbCfg().Password, tpDispCfgOut.GeneralCfg().DBDataEncoding, tpDispCfgIn.StorDbCfg().StringIndexedFields, tpDispCfgIn.StorDbCfg().PrefixIndexedFields, - tpDispCfgOut.StorDbCfg().Opts) + tpDispCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_filters_it_test.go b/migrator/tp_filters_it_test.go index 0f27ae8da..5acda4bd1 100644 --- a/migrator/tp_filters_it_test.go +++ b/migrator/tp_filters_it_test.go @@ -73,7 +73,7 @@ func testTpFltrITConnect(t *testing.T) { tpFltrCfgIn.StorDbCfg().Name, tpFltrCfgIn.StorDbCfg().User, tpFltrCfgIn.StorDbCfg().Password, tpFltrCfgIn.GeneralCfg().DBDataEncoding, tpFltrCfgOut.StorDbCfg().StringIndexedFields, tpFltrCfgOut.StorDbCfg().PrefixIndexedFields, - tpFltrCfgIn.StorDbCfg().Opts) + tpFltrCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpFltrITConnect(t *testing.T) { tpFltrCfgOut.StorDbCfg().Name, tpFltrCfgOut.StorDbCfg().User, tpFltrCfgOut.StorDbCfg().Password, tpFltrCfgOut.GeneralCfg().DBDataEncoding, tpFltrCfgOut.StorDbCfg().StringIndexedFields, tpFltrCfgOut.StorDbCfg().PrefixIndexedFields, - tpFltrCfgOut.StorDbCfg().Opts) + tpFltrCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_rates_it_test.go b/migrator/tp_rates_it_test.go index 0089e52be..32fc5c5ef 100644 --- a/migrator/tp_rates_it_test.go +++ b/migrator/tp_rates_it_test.go @@ -73,7 +73,7 @@ func testTpRatesITConnect(t *testing.T) { tpRatesCfgIn.StorDbCfg().Name, tpRatesCfgIn.StorDbCfg().User, tpRatesCfgIn.StorDbCfg().Password, tpRatesCfgIn.GeneralCfg().DBDataEncoding, tpRatesCfgIn.StorDbCfg().StringIndexedFields, tpRatesCfgIn.StorDbCfg().PrefixIndexedFields, - tpRatesCfgIn.StorDbCfg().Opts) + tpRatesCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpRatesITConnect(t *testing.T) { tpRatesCfgOut.StorDbCfg().Name, tpRatesCfgOut.StorDbCfg().User, tpRatesCfgOut.StorDbCfg().Password, tpRatesCfgOut.GeneralCfg().DBDataEncoding, tpRatesCfgIn.StorDbCfg().StringIndexedFields, tpRatesCfgIn.StorDbCfg().PrefixIndexedFields, - tpRatesCfgOut.StorDbCfg().Opts) + tpRatesCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_rating_plans_it_test.go b/migrator/tp_rating_plans_it_test.go index 418849867..6c2921fbf 100644 --- a/migrator/tp_rating_plans_it_test.go +++ b/migrator/tp_rating_plans_it_test.go @@ -73,7 +73,7 @@ func testTpRatPlnITConnect(t *testing.T) { tpRatPlnCfgIn.StorDbCfg().Name, tpRatPlnCfgIn.StorDbCfg().User, tpRatPlnCfgIn.StorDbCfg().Password, tpRatPlnCfgIn.GeneralCfg().DBDataEncoding, tpRatPlnCfgIn.StorDbCfg().StringIndexedFields, tpRatPlnCfgIn.StorDbCfg().PrefixIndexedFields, - tpRatPlnCfgIn.StorDbCfg().Opts) + tpRatPlnCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpRatPlnITConnect(t *testing.T) { tpRatPlnCfgOut.StorDbCfg().Name, tpRatPlnCfgOut.StorDbCfg().User, tpRatPlnCfgOut.StorDbCfg().Password, tpRatPlnCfgOut.GeneralCfg().DBDataEncoding, tpRatPlnCfgIn.StorDbCfg().StringIndexedFields, tpRatPlnCfgIn.StorDbCfg().PrefixIndexedFields, - tpRatPlnCfgOut.StorDbCfg().Opts) + tpRatPlnCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_rating_profiles_it_test.go b/migrator/tp_rating_profiles_it_test.go index e3d09a85c..7b112eaa3 100644 --- a/migrator/tp_rating_profiles_it_test.go +++ b/migrator/tp_rating_profiles_it_test.go @@ -73,7 +73,7 @@ func testTpRatPrfITConnect(t *testing.T) { tpRatPrfCfgIn.StorDbCfg().Name, tpRatPrfCfgIn.StorDbCfg().User, tpRatPrfCfgIn.StorDbCfg().Password, tpRatPrfCfgIn.GeneralCfg().DBDataEncoding, tpRatPrfCfgIn.StorDbCfg().StringIndexedFields, tpRatPrfCfgIn.StorDbCfg().PrefixIndexedFields, - tpRatPrfCfgIn.StorDbCfg().Opts) + tpRatPrfCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpRatPrfITConnect(t *testing.T) { tpRatPrfCfgOut.StorDbCfg().Name, tpRatPrfCfgOut.StorDbCfg().User, tpRatPrfCfgOut.StorDbCfg().Password, tpRatPrfCfgOut.GeneralCfg().DBDataEncoding, tpRatPrfCfgIn.StorDbCfg().StringIndexedFields, tpRatPrfCfgIn.StorDbCfg().PrefixIndexedFields, - tpRatPrfCfgOut.StorDbCfg().Opts) + tpRatPrfCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_resources_it_test.go b/migrator/tp_resources_it_test.go index 96268cbb4..c1e798cde 100644 --- a/migrator/tp_resources_it_test.go +++ b/migrator/tp_resources_it_test.go @@ -74,7 +74,7 @@ func testTpResITConnect(t *testing.T) { tpResCfgIn.StorDbCfg().Name, tpResCfgIn.StorDbCfg().User, tpResCfgIn.StorDbCfg().Password, tpResCfgIn.GeneralCfg().DBDataEncoding, tpResCfgIn.StorDbCfg().StringIndexedFields, tpResCfgIn.StorDbCfg().PrefixIndexedFields, - tpResCfgIn.StorDbCfg().Opts) + tpResCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -83,7 +83,7 @@ func testTpResITConnect(t *testing.T) { tpResCfgOut.StorDbCfg().Name, tpResCfgOut.StorDbCfg().User, tpResCfgOut.StorDbCfg().Password, tpResCfgOut.GeneralCfg().DBDataEncoding, tpResCfgIn.StorDbCfg().StringIndexedFields, tpResCfgIn.StorDbCfg().PrefixIndexedFields, - tpResCfgOut.StorDbCfg().Opts) + tpResCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_routes_it_test.go b/migrator/tp_routes_it_test.go index e329ef78e..42a47f26d 100644 --- a/migrator/tp_routes_it_test.go +++ b/migrator/tp_routes_it_test.go @@ -74,7 +74,7 @@ func testTpSplITConnect(t *testing.T) { tpSplCfgIn.StorDbCfg().Name, tpSplCfgIn.StorDbCfg().User, tpSplCfgIn.StorDbCfg().Password, tpSplCfgIn.GeneralCfg().DBDataEncoding, tpSplCfgIn.StorDbCfg().StringIndexedFields, tpSplCfgIn.StorDbCfg().PrefixIndexedFields, - tpSplCfgIn.StorDbCfg().Opts) + tpSplCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -83,7 +83,7 @@ func testTpSplITConnect(t *testing.T) { tpSplCfgOut.StorDbCfg().Name, tpSplCfgOut.StorDbCfg().User, tpSplCfgOut.StorDbCfg().Password, tpSplCfgOut.GeneralCfg().DBDataEncoding, tpSplCfgIn.StorDbCfg().StringIndexedFields, tpSplCfgIn.StorDbCfg().PrefixIndexedFields, - tpSplCfgOut.StorDbCfg().Opts) + tpSplCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_shared_groups_it_test.go b/migrator/tp_shared_groups_it_test.go index 9140da34c..c04136cdf 100644 --- a/migrator/tp_shared_groups_it_test.go +++ b/migrator/tp_shared_groups_it_test.go @@ -73,7 +73,7 @@ func testTpShrGrITConnect(t *testing.T) { tpShrGrCfgIn.StorDbCfg().Name, tpShrGrCfgIn.StorDbCfg().User, tpShrGrCfgIn.StorDbCfg().Password, tpShrGrCfgIn.GeneralCfg().DBDataEncoding, tpShrGrCfgIn.StorDbCfg().StringIndexedFields, tpShrGrCfgIn.StorDbCfg().PrefixIndexedFields, - tpShrGrCfgIn.StorDbCfg().Opts) + tpShrGrCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpShrGrITConnect(t *testing.T) { tpShrGrCfgOut.StorDbCfg().Name, tpShrGrCfgOut.StorDbCfg().User, tpShrGrCfgOut.StorDbCfg().Password, tpShrGrCfgOut.GeneralCfg().DBDataEncoding, tpShrGrCfgIn.StorDbCfg().StringIndexedFields, tpShrGrCfgIn.StorDbCfg().PrefixIndexedFields, - tpShrGrCfgOut.StorDbCfg().Opts) + tpShrGrCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_stats_it_test.go b/migrator/tp_stats_it_test.go index d5e691c6a..52c9bab63 100644 --- a/migrator/tp_stats_it_test.go +++ b/migrator/tp_stats_it_test.go @@ -73,7 +73,7 @@ func testTpStatsITConnect(t *testing.T) { tpStatsCfgIn.StorDbCfg().Name, tpStatsCfgIn.StorDbCfg().User, tpStatsCfgIn.StorDbCfg().Password, tpStatsCfgIn.GeneralCfg().DBDataEncoding, tpStatsCfgIn.StorDbCfg().StringIndexedFields, tpStatsCfgIn.StorDbCfg().PrefixIndexedFields, - tpStatsCfgIn.StorDbCfg().Opts) + tpStatsCfgIn.StorDbCfg().Opts,nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpStatsITConnect(t *testing.T) { tpStatsCfgOut.StorDbCfg().Name, tpStatsCfgOut.StorDbCfg().User, tpStatsCfgOut.StorDbCfg().Password, tpStatsCfgOut.GeneralCfg().DBDataEncoding, tpStatsCfgIn.StorDbCfg().StringIndexedFields, tpStatsCfgIn.StorDbCfg().PrefixIndexedFields, - tpStatsCfgOut.StorDbCfg().Opts) + tpStatsCfgOut.StorDbCfg().Opts,nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_thresholds_it_test.go b/migrator/tp_thresholds_it_test.go index 290cdfd6f..7413c1c11 100644 --- a/migrator/tp_thresholds_it_test.go +++ b/migrator/tp_thresholds_it_test.go @@ -74,7 +74,7 @@ func testTpTresITConnect(t *testing.T) { tpTresCfgIn.StorDbCfg().Name, tpTresCfgIn.StorDbCfg().User, tpTresCfgIn.StorDbCfg().Password, tpTresCfgIn.GeneralCfg().DBDataEncoding, tpTresCfgIn.StorDbCfg().StringIndexedFields, tpTresCfgIn.StorDbCfg().PrefixIndexedFields, - tpTresCfgIn.StorDbCfg().Opts) + tpTresCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -83,7 +83,7 @@ func testTpTresITConnect(t *testing.T) { tpTresCfgOut.StorDbCfg().Name, tpTresCfgOut.StorDbCfg().User, tpTresCfgOut.StorDbCfg().Password, tpTresCfgOut.GeneralCfg().DBDataEncoding, tpTresCfgIn.StorDbCfg().StringIndexedFields, tpTresCfgIn.StorDbCfg().PrefixIndexedFields, - tpTresCfgOut.StorDbCfg().Opts) + tpTresCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/tp_timings_it_test.go b/migrator/tp_timings_it_test.go index 3e14a0a2a..22ad584bc 100644 --- a/migrator/tp_timings_it_test.go +++ b/migrator/tp_timings_it_test.go @@ -73,7 +73,7 @@ func testTpTimITConnect(t *testing.T) { tpTimCfgIn.StorDbCfg().Name, tpTimCfgIn.StorDbCfg().User, tpTimCfgIn.StorDbCfg().Password, tpTimCfgIn.GeneralCfg().DBDataEncoding, tpTimCfgIn.StorDbCfg().StringIndexedFields, tpTimCfgIn.StorDbCfg().PrefixIndexedFields, - tpTimCfgIn.StorDbCfg().Opts) + tpTimCfgIn.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -82,7 +82,7 @@ func testTpTimITConnect(t *testing.T) { tpTimCfgOut.StorDbCfg().Name, tpTimCfgOut.StorDbCfg().User, tpTimCfgOut.StorDbCfg().Password, tpTimCfgOut.GeneralCfg().DBDataEncoding, tpTimCfgIn.StorDbCfg().StringIndexedFields, tpTimCfgIn.StorDbCfg().PrefixIndexedFields, - tpTimCfgOut.StorDbCfg().Opts) + tpTimCfgOut.StorDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/user_it_test.go b/migrator/user_it_test.go index 7de66b962..e6f9a01e0 100644 --- a/migrator/user_it_test.go +++ b/migrator/user_it_test.go @@ -81,7 +81,7 @@ func testUsrITConnect(t *testing.T) { usrCfgIn.DataDbCfg().Host, usrCfgIn.DataDbCfg().Port, usrCfgIn.DataDbCfg().Name, usrCfgIn.DataDbCfg().User, usrCfgIn.DataDbCfg().Password, usrCfgIn.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), usrCfgIn.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), usrCfgIn.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } @@ -89,7 +89,7 @@ func testUsrITConnect(t *testing.T) { usrCfgOut.DataDbCfg().Host, usrCfgOut.DataDbCfg().Port, usrCfgOut.DataDbCfg().Name, usrCfgOut.DataDbCfg().User, usrCfgOut.DataDbCfg().Password, usrCfgOut.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), usrCfgOut.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), usrCfgOut.DataDbCfg().Opts, nil) if err != nil { log.Fatal(err) } diff --git a/migrator/versions_it_test.go b/migrator/versions_it_test.go index 0f3be793d..d7834c84a 100644 --- a/migrator/versions_it_test.go +++ b/migrator/versions_it_test.go @@ -78,7 +78,7 @@ func testVrsITConnect(t *testing.T) { vrsCfg.DataDbCfg().Host, vrsCfg.DataDbCfg().Port, vrsCfg.DataDbCfg().Name, vrsCfg.DataDbCfg().User, vrsCfg.DataDbCfg().Password, vrsCfg.GeneralCfg().DBDataEncoding, - config.CgrConfig().CacheCfg(), vrsCfg.DataDbCfg().Opts) + config.CgrConfig().CacheCfg(), vrsCfg.DataDbCfg().Opts, nil) if err != nil { t.Fatal(err) } @@ -88,7 +88,7 @@ func testVrsITConnect(t *testing.T) { vrsCfg.StorDbCfg().Name, vrsCfg.StorDbCfg().User, vrsCfg.StorDbCfg().Password, vrsCfg.GeneralCfg().DBDataEncoding, vrsCfg.StorDbCfg().StringIndexedFields, vrsCfg.StorDbCfg().PrefixIndexedFields, - vrsCfg.StorDbCfg().Opts) + vrsCfg.StorDbCfg().Opts, nil) if err != nil { t.Error(err) } diff --git a/services/apiers_it_test.go b/services/apiers_it_test.go index ed814fe3d..b85b9538f 100644 --- a/services/apiers_it_test.go +++ b/services/apiers_it_test.go @@ -58,7 +58,7 @@ func TestApiersReload(t *testing.T) { srvMngr := servmanager.NewServiceManager(cfg, shdChan, shdWg, nil) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal stordb := NewStorDBService(cfg, srvDep) anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) schS := NewSchedulerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep) diff --git a/services/apiers_test.go b/services/apiers_test.go index 5b9faba55..626946cc3 100644 --- a/services/apiers_test.go +++ b/services/apiers_test.go @@ -45,7 +45,7 @@ func TestApiersCoverage(t *testing.T) { server := cores.NewServer(nil) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal stordb := NewStorDBService(cfg, srvDep) anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) schS := NewSchedulerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep) diff --git a/services/cdrs_it_test.go b/services/cdrs_it_test.go index 8c319dd55..4cb1cf51e 100644 --- a/services/cdrs_it_test.go +++ b/services/cdrs_it_test.go @@ -64,7 +64,7 @@ func TestCdrsReload(t *testing.T) { srvMngr := servmanager.NewServiceManager(cfg, shdChan, shdWg, nil) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal stordb := NewStorDBService(cfg, srvDep) anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) chrS := NewChargerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep) diff --git a/services/cdrs_test.go b/services/cdrs_test.go index 717198a38..5fbbfdf9b 100644 --- a/services/cdrs_test.go +++ b/services/cdrs_test.go @@ -41,7 +41,7 @@ func TestCdrsCoverage(t *testing.T) { server := cores.NewServer(nil) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal stordb := NewStorDBService(cfg, srvDep) anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) cdrsRPC := make(chan rpcclient.ClientConnector, 1) diff --git a/services/datadb_it_test.go b/services/datadb_it_test.go index 71c76d1c8..63ee1a13e 100644 --- a/services/datadb_it_test.go +++ b/services/datadb_it_test.go @@ -206,7 +206,7 @@ func TestDataDBReloadBadType(t *testing.T) { cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, cfg.DataDbCfg().Name, cfg.DataDbCfg().User, cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts) + cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) if err != nil { t.Fatal(err) } @@ -487,7 +487,7 @@ func TestDataDBStartVersion(t *testing.T) { cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, cfg.DataDbCfg().Name, cfg.DataDbCfg().User, cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts) + cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) if err != nil { t.Fatal(err) } @@ -547,7 +547,7 @@ func TestDataDBReloadCastError(t *testing.T) { cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, cfg.DataDbCfg().Name, cfg.DataDbCfg().User, cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts) + cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) if err != nil { t.Fatal(err) } @@ -707,7 +707,7 @@ func TestDataDBReloadIfaceAsDurationError(t *testing.T) { cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, cfg.DataDbCfg().Name, cfg.DataDbCfg().User, cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts) + cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) if err != nil { t.Fatal(err) } @@ -989,7 +989,7 @@ func TestDataDBReloadError(t *testing.T) { Remote: false}, }, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) db.dm = engine.NewDataManager(data, nil, nil) err := db.Reload() if err != nil { diff --git a/services/rals_it_test.go b/services/rals_it_test.go index 01faf7ac9..53f45f882 100644 --- a/services/rals_it_test.go +++ b/services/rals_it_test.go @@ -64,7 +64,7 @@ func TestRalsReload(t *testing.T) { srvMngr := servmanager.NewServiceManager(cfg, shdChan, shdWg, nil) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) stordb := NewStorDBService(cfg, srvDep) schS := NewSchedulerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep) @@ -157,7 +157,7 @@ func TestRalsReload2(t *testing.T) { cfg.ThresholdSCfg().Enabled = true server := cores.NewServer(nil) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) ralS := NewRalService(cfg, chS, server, make(chan rpcclient.ClientConnector, 1), diff --git a/services/rals_test.go b/services/rals_test.go index e0b870af6..a17a16d10 100644 --- a/services/rals_test.go +++ b/services/rals_test.go @@ -40,12 +40,12 @@ func TestRalsCoverage(t *testing.T) { cfg.ThresholdSCfg().Enabled = true server := cores.NewServer(nil) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) ralS := NewRalService(cfg, chS, server, make(chan rpcclient.ClientConnector, 1), make(chan rpcclient.ClientConnector, 1), - shdChan, nil, anz, srvDep,filterSChan) + shdChan, nil, anz, srvDep, filterSChan) if ralS.IsRunning() { t.Errorf("Expected service to be down") } diff --git a/services/sessions_it_test.go b/services/sessions_it_test.go index 2b2fffa9b..c9cb626f6 100644 --- a/services/sessions_it_test.go +++ b/services/sessions_it_test.go @@ -171,7 +171,7 @@ func TestSessionSReload2(t *testing.T) { srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) srv := NewSessionService(cfg, db, server, make(chan rpcclient.ClientConnector, 1), shdChan, nil, anz, srvDep) engine.NewConnManager(cfg, nil) @@ -233,7 +233,7 @@ func TestSessionSReload3(t *testing.T) { srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) srv := NewSessionService(cfg, db, server, make(chan rpcclient.ClientConnector, 1), shdChan, nil, anz, srvDep) engine.NewConnManager(cfg, nil) diff --git a/services/sessions_test.go b/services/sessions_test.go index c4b6d869f..9fb7e8850 100644 --- a/services/sessions_test.go +++ b/services/sessions_test.go @@ -48,7 +48,7 @@ func TestSessionSCoverage(t *testing.T) { server := cores.NewServer(nil) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) srv := NewSessionService(cfg, db, server, make(chan rpcclient.ClientConnector, 1), shdChan, nil, anz, srvDep) engine.NewConnManager(cfg, nil) diff --git a/services/stordb_it_test.go b/services/stordb_it_test.go index 4707d2e70..b42333d9e 100644 --- a/services/stordb_it_test.go +++ b/services/stordb_it_test.go @@ -119,7 +119,7 @@ func TestStorDBReload(t *testing.T) { if err := stordb.Reload(); err != nil { t.Fatalf("\nExpecting ,\n Received <%+v>", err) } - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.Internal if err := stordb.Reload(); err != nil { t.Errorf("\nExpecting ,\n Received <%+v>", err) } @@ -162,7 +162,7 @@ func TestStorDBReloadVersion1(t *testing.T) { cfg.StorDbCfg().Name, cfg.StorDbCfg().User, cfg.StorDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, cfg.StorDbCfg().StringIndexedFields, cfg.StorDbCfg().PrefixIndexedFields, - cfg.StorDbCfg().Opts) + cfg.StorDbCfg().Opts, cfg.StorDbCfg().Items) if err != nil { t.Fatal(err) } @@ -240,7 +240,7 @@ func TestStorDBReloadVersion2(t *testing.T) { cfg.StorDbCfg().Name, cfg.StorDbCfg().User, cfg.StorDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, cfg.StorDbCfg().StringIndexedFields, cfg.StorDbCfg().PrefixIndexedFields, - cfg.StorDbCfg().Opts) + cfg.StorDbCfg().Opts, cfg.StorDbCfg().Items) if err != nil { t.Fatal(err) } @@ -317,7 +317,7 @@ func TestStorDBReloadVersion3(t *testing.T) { cfg.StorDbCfg().Name, cfg.StorDbCfg().User, cfg.StorDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, cfg.StorDbCfg().StringIndexedFields, cfg.StorDbCfg().PrefixIndexedFields, - cfg.StorDbCfg().Opts) + cfg.StorDbCfg().Opts, cfg.StorDbCfg().Items) if err != nil { t.Fatal(err) } @@ -394,7 +394,7 @@ func TestStorDBReloadNewStorDBConnError(t *testing.T) { cfg.StorDbCfg().Password = "CGRateS.org" stordb := NewStorDBService(cfg, srvDep) stordb.oldDBCfg = &config.StorDbCfg{ - Type: utils.INTERNAL, + Type: utils.Internal, Host: "test_host", Port: "test_port", Name: "test_name", diff --git a/services/stordb_test.go b/services/stordb_test.go index 477ab9768..2aee00509 100644 --- a/services/stordb_test.go +++ b/services/stordb_test.go @@ -36,13 +36,13 @@ func TestStorDBServiceCoverage(t *testing.T) { if err == true { t.Errorf("Expected service to be down") } - srv.db = engine.NewInternalDB([]string{"test"}, []string{"test2"}, true) + srv.db = engine.NewInternalDB([]string{"test"}, []string{"test2"}, true, cfg.DataDbCfg().Items) err = srv.IsRunning() if err == false { t.Errorf("Expected service to be running") } srv.oldDBCfg = &config.StorDbCfg{ - Type: utils.INTERNAL, + Type: utils.Internal, Host: "test_host", Port: "test_port", Name: "test_name", diff --git a/sessions/sessions_test.go b/sessions/sessions_test.go index 932f6b834..a1e9a57e3 100644 --- a/sessions/sessions_test.go +++ b/sessions/sessions_test.go @@ -89,7 +89,7 @@ func TestIsIndexed(t *testing.T) { func TestOnBiJSONConnectDisconnect(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -119,7 +119,7 @@ func TestOnBiJSONConnectDisconnect(t *testing.T) { func TestBiRPCv1RegisterInternalBiJSONConn(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -134,14 +134,14 @@ func TestBiRPCv1RegisterInternalBiJSONConn(t *testing.T) { } func TestSessionSIndexAndUnindexSessions(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg := config.NewDefaultCGRConfig() + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "Tenant": {}, "Account": {}, "Extra3": {}, "Extra4": {}, } - sS := NewSessionS(sSCfg, nil, nil) + sS := NewSessionS(cfg, nil, nil) sEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -460,8 +460,8 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { } func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sS := NewSessionS(sSCfg, nil, nil) + cfg := config.NewDefaultCGRConfig() + sS := NewSessionS(cfg, nil, nil) sSEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -678,8 +678,8 @@ func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { } func TestSessionSRegisterAndUnregisterPSessions(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sS := NewSessionS(sSCfg, nil, nil) + cfg := config.NewDefaultCGRConfig() + sS := NewSessionS(cfg, nil, nil) sSEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -1585,8 +1585,8 @@ func TestV1ProcessEventReplyAsNavigableMap(t *testing.T) { } func TestSessionStransitSState(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sS := NewSessionS(sSCfg, nil, nil) + cfg := config.NewDefaultCGRConfig() + sS := NewSessionS(cfg, nil, nil) sSEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -1631,8 +1631,8 @@ func TestSessionStransitSState(t *testing.T) { } func TestSessionSrelocateSessionS(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sS := NewSessionS(sSCfg, nil, nil) + cfg := config.NewDefaultCGRConfig() + sS := NewSessionS(cfg, nil, nil) sSEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -1771,9 +1771,9 @@ func TestSessionSNewV1AuthorizeArgsWithOpts2(t *testing.T) { } func TestSessionSGetIndexedFilters(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - mpStr := engine.NewInternalDB(nil, nil, true) - sS := NewSessionS(sSCfg, engine.NewDataManager(mpStr, config.CgrConfig().CacheCfg(), nil), nil) + cfg := config.NewDefaultCGRConfig() + mpStr := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + sS := NewSessionS(cfg, engine.NewDataManager(mpStr, config.CgrConfig().CacheCfg(), nil), nil) expIndx := map[string][]string{} expUindx := []*engine.FilterRule{ { @@ -1791,10 +1791,10 @@ func TestSessionSGetIndexedFilters(t *testing.T) { } else if !reflect.DeepEqual(expUindx, rplyUnindx) { t.Errorf("Expected %s , received: %s", utils.ToJSON(expUindx), utils.ToJSON(rplyUnindx)) } - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, } - sS = NewSessionS(sSCfg, engine.NewDataManager(mpStr, config.CgrConfig().CacheCfg(), nil), nil) + sS = NewSessionS(cfg, engine.NewDataManager(mpStr, config.CgrConfig().CacheCfg(), nil), nil) expIndx = map[string][]string{(utils.ToR): {utils.MetaVoice}} expUindx = nil if rplyindx, rplyUnindx := sS.getIndexedFilters("", fltrs); !reflect.DeepEqual(expIndx, rplyindx) { @@ -1811,7 +1811,7 @@ func TestSessionSGetIndexedFilters(t *testing.T) { ExpiryTime: time.Now().Add(-time.Hour), }, }) - sS = NewSessionS(sSCfg, engine.NewDataManager(mpStr, config.CgrConfig().CacheCfg(), nil), nil) + sS = NewSessionS(cfg, engine.NewDataManager(mpStr, config.CgrConfig().CacheCfg(), nil), nil) expIndx = map[string][]string{} expUindx = nil fltrs = []string{"FLTR1", "FLTR2"} @@ -1824,11 +1824,11 @@ func TestSessionSGetIndexedFilters(t *testing.T) { } func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg := config.NewDefaultCGRConfig() + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, } - sS := NewSessionS(sSCfg, nil, nil) + sS := NewSessionS(cfg, nil, nil) sEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -1876,11 +1876,11 @@ func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { } else if !reflect.DeepEqual(expmatchingSRuns, matchingSRuns) { t.Errorf("Expected %s , received: %s", utils.ToJSON(expmatchingSRuns), utils.ToJSON(matchingSRuns)) } - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, "Extra3": {}, } - sS = NewSessionS(sSCfg, nil, nil) + sS = NewSessionS(cfg, nil, nil) sS.indexSession(session, false) indx = map[string][]string{ "ToR": {utils.MetaVoice, utils.MetaData}, @@ -1910,11 +1910,11 @@ func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { }, }, } - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, "Extra2": {}, } - sS = NewSessionS(sSCfg, nil, nil) + sS = NewSessionS(cfg, nil, nil) sS.indexSession(session, true) indx = map[string][]string{ "ToR": {utils.MetaVoice, utils.MetaData}, @@ -2134,8 +2134,8 @@ func TestV1ProcessMessageArgsParseFlags(t *testing.T) { } func TestSessionSgetSession(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sS := NewSessionS(sSCfg, nil, nil) + cfg := config.NewDefaultCGRConfig() + sS := NewSessionS(cfg, nil, nil) sSEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -2178,11 +2178,11 @@ func TestSessionSgetSession(t *testing.T) { } func TestSessionSfilterSessions(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg := config.NewDefaultCGRConfig() + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, } - sS := NewSessionS(sSCfg, nil, nil) + sS := NewSessionS(cfg, nil, nil) sEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -2260,7 +2260,7 @@ func TestSessionSfilterSessions(t *testing.T) { "PDD": "300ms", utils.Route: "supplier1", }, - NodeID: sSCfg.GeneralCfg().NodeID, + NodeID: cfg.GeneralCfg().NodeID, } eses2 := &ExternalSession{ CGRID: "cade401f46f046311ed7f62df3dfbb84adb98aad", @@ -2285,7 +2285,7 @@ func TestSessionSfilterSessions(t *testing.T) { "PDD": "300ms", utils.Route: "supplier1", }, - NodeID: sSCfg.GeneralCfg().NodeID, + NodeID: cfg.GeneralCfg().NodeID, } expSess := []*ExternalSession{ eses1, @@ -2309,11 +2309,11 @@ func TestSessionSfilterSessions(t *testing.T) { if sess := sS.filterSessions(fltrs, false); !reflect.DeepEqual(expSess, sess) { t.Errorf("Expected %s , received: %s", utils.ToJSON(expSess), utils.ToJSON(sess)) } - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, "Extra3": {}, } - sS = NewSessionS(sSCfg, nil, nil) + sS = NewSessionS(cfg, nil, nil) sS.registerSession(session, false) fltrs = &utils.SessionFilter{Filters: []string{"*string:~*req.ToR:*voice", "*string:~*req.Subject:subject1"}} if sess := sS.filterSessions(fltrs, false); !reflect.DeepEqual(expSess, sess) { @@ -2354,11 +2354,11 @@ func TestSessionSfilterSessions(t *testing.T) { } func TestSessionSfilterSessionsCount(t *testing.T) { - sSCfg := config.NewDefaultCGRConfig() - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg := config.NewDefaultCGRConfig() + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, } - sS := NewSessionS(sSCfg, nil, nil) + sS := NewSessionS(cfg, nil, nil) sEv := engine.NewMapEvent(map[string]interface{}{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", @@ -2421,11 +2421,11 @@ func TestSessionSfilterSessionsCount(t *testing.T) { if noSess := sS.filterSessionsCount(fltrs, false); noSess != 1 { t.Errorf("Expected %v , received: %s", 1, utils.ToJSON(noSess)) } - sSCfg.SessionSCfg().SessionIndexes = utils.StringSet{ + cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, "Extra3": {}, } - sS = NewSessionS(sSCfg, nil, nil) + sS = NewSessionS(cfg, nil, nil) sS.registerSession(session, false) fltrs = &utils.SessionFilter{Filters: []string{"*string:~*req.ToR:*voice", "*string:~*req.Subject:subject1"}} if noSess := sS.filterSessionsCount(fltrs, false); noSess != 1 { @@ -2443,7 +2443,7 @@ func TestSessionSfilterSessionsCount(t *testing.T) { if noSess := sS.filterSessionsCount(fltrs, false); noSess != 2 { t.Errorf("Expected %v , received: %s", 2, utils.ToJSON(noSess)) } - sS = NewSessionS(sSCfg, nil, nil) + sS = NewSessionS(cfg, nil, nil) sS.registerSession(session, true) fltrs = &utils.SessionFilter{Filters: []string{fmt.Sprintf("*string:~*req.ToR:%s|%s", utils.MetaVoice, utils.MetaData)}} if noSess := sS.filterSessionsCount(fltrs, true); noSess != 2 { @@ -2574,7 +2574,7 @@ func (mk *mockConnWarnDisconnect2) Call(method string, args interface{}, rply in func TestWarnSession(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().NodeID = "ClientConnIdtest" - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2673,7 +2673,7 @@ func TestSessionSAsBiRPC(t *testing.T) { func TestBiJClntID(t *testing.T) { client := &mockConnWarnDisconnect1{} cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) sessions.biJClnts = map[rpcclient.ClientConnector]string{ @@ -2725,7 +2725,7 @@ func TestBiRPCv1AuthorizeEventNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -2795,7 +2795,7 @@ func TestBiRPCv1AuthorizeEventWithDigestNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -2863,7 +2863,7 @@ func TestBiRPCv1InitiateSessionNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -2930,7 +2930,7 @@ func TestBiRPCv1InitiateSessionWithDigestNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -2995,7 +2995,7 @@ func TestBiRPCv1UpdateSessionNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -3045,7 +3045,7 @@ func TestBiRPCv1TerminateSessionNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -3111,7 +3111,7 @@ func TestBiRPCv1ProcessMessageNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -3179,7 +3179,7 @@ func TestBiRPCv1ProcessEventNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true) + db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) diff --git a/sessions/sessionscover_test.go b/sessions/sessionscover_test.go index 052c04a8c..a04200009 100644 --- a/sessions/sessionscover_test.go +++ b/sessions/sessionscover_test.go @@ -39,7 +39,7 @@ func TestSetSTerminator(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().SessionTTL = time.Second - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -108,7 +108,7 @@ func TestSetSTerminatorError(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().SessionTTL = time.Second - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -207,7 +207,7 @@ func TestSetSTerminatorAutomaticTermination(t *testing.T) { ss := &Session{} cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -229,7 +229,7 @@ func TestSetSTerminatorManualTermination(t *testing.T) { ss := &Session{} cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -264,7 +264,7 @@ func TestForceSTerminatorManualTermination(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -278,7 +278,7 @@ func TestForceSTerminatorPostCDRs(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().CDRsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs): nil, @@ -315,7 +315,7 @@ func TestForceSTerminatorReleaseSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().ResSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): nil, @@ -363,7 +363,7 @@ func TestForceSTerminatorClientCall(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().NodeID = "ClientConnID" - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): nil, @@ -403,7 +403,7 @@ func TestForceSTerminatorClientCall(t *testing.T) { func TestDebitSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -485,7 +485,7 @@ func TestDebitSessionResponderMaxDebit(t *testing.T) { sMock <- testMock1 cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -554,7 +554,7 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} cfg.SessionSCfg().SchedulerConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaScheduler)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): internalRpcChan, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaScheduler): internalRpcChan}) @@ -611,7 +611,7 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { func TestInitSessionDebitLoops(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -658,7 +658,7 @@ func TestDebitLoopSessionErrorDebiting(t *testing.T) { cfg.SessionSCfg().TerminateAttempts = 1 cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} cfg.SessionSCfg().SchedulerConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaScheduler)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -741,7 +741,7 @@ func TestDebitLoopSession(t *testing.T) { sMock <- testMock1 cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -804,7 +804,7 @@ func TestDebitLoopSessionFrcDiscLowerDbtInterval(t *testing.T) { sMock <- testMock1 cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -858,7 +858,7 @@ func TestDebitLoopSessionLowBalance(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} cfg.SessionSCfg().MinDurLowBalance = 1 * time.Second - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true,cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -921,7 +921,7 @@ func TestDebitLoopSessionWarningSessions(t *testing.T) { cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} cfg.SessionSCfg().ResSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} cfg.SessionSCfg().MinDurLowBalance = 1 * time.Second - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -978,7 +978,7 @@ func TestDebitLoopSessionDisconnectSession(t *testing.T) { cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} cfg.SessionSCfg().ResSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} cfg.SessionSCfg().MinDurLowBalance = 1 * time.Second - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -1042,7 +1042,7 @@ func TestStoreSCost(t *testing.T) { sMock <- testMock1 cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().CDRsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs): sMock}) @@ -1097,7 +1097,7 @@ func TestRefundSession(t *testing.T) { sMock <- testMock1 cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock}) @@ -1202,7 +1202,7 @@ func TestRoundCost(t *testing.T) { sMock <- testMock1 cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock}) @@ -1264,7 +1264,7 @@ func TestRoundCost(t *testing.T) { func TestDisconnectSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1314,7 +1314,7 @@ func TestReplicateSessions(t *testing.T) { sMock <- testMock1 cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().ReplicationConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): sMock}) @@ -1352,7 +1352,7 @@ func TestNewSession(t *testing.T) { sMock := make(chan rpcclient.ClientConnector, 1) sMock <- testMock1 cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): sMock}) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) @@ -1434,7 +1434,7 @@ func TestProcessChargerS(t *testing.T) { sMock := make(chan rpcclient.ClientConnector, 1) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): sMock}) - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true), cfg.CacheCfg(), connMgr) + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), connMgr) engine.Cache = engine.NewCacheS(cfg, dm, nil) engine.Cache.Clear(nil) testMock1 := &testMockClients{ @@ -1489,7 +1489,7 @@ func TestProcessChargerS(t *testing.T) { func TestTransitSState(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1517,7 +1517,7 @@ func TestTransitSState(t *testing.T) { func TestRelocateSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1572,7 +1572,7 @@ func TestRelocateSession(t *testing.T) { func TestGetRelocateSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1689,7 +1689,7 @@ func TestSyncSessions(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheClosedSessions] = &config.CacheParamCfg{ Replicate: true, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal}) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) @@ -1759,7 +1759,7 @@ func TestAuthEvent(t *testing.T) { chanInternal <- sTestMock cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal}) @@ -1835,7 +1835,7 @@ func TestAuthEventMockCall(t *testing.T) { connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal}) - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) sessions := NewSessionS(cfg, dm, connMgr) @@ -1913,7 +1913,7 @@ func TestChargeEvent(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, }) - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) sessions := NewSessionS(cfg, dm, connMgr) @@ -1966,7 +1966,7 @@ func TestChargeEvent(t *testing.T) { func TestUpdateSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2028,7 +2028,7 @@ func TestEndSession(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs): chanInternal, }) - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) sessions := NewSessionS(cfg, dm, connMgr) @@ -2111,7 +2111,7 @@ func TestEndSession(t *testing.T) { func TestCallBiRPC(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2145,7 +2145,7 @@ func TestBiRPCv1GetActivePassiveSessions(t *testing.T) { cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, } - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2302,7 +2302,7 @@ func TestBiRPCv1SetPassiveSession(t *testing.T) { clnt := &testMockClients{} cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2358,7 +2358,7 @@ func TestBiRPCv1ReplicateSessions(t *testing.T) { chanInternal := make(chan rpcclient.ClientConnector, 1) chanInternal <- clnt cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ "conn1": chanInternal, }) @@ -2405,7 +2405,7 @@ func TestBiRPCv1AuthorizeEvent(t *testing.T) { chanInternal := make(chan rpcclient.ClientConnector, 1) chanInternal <- clnt cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, }) @@ -2522,7 +2522,7 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { chanInternal <- clnt cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 0 - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -2677,7 +2677,7 @@ func TestBiRPCv1AuthorizeEventWithDigest(t *testing.T) { cfg.SessionSCfg().ThreshSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} cfg.SessionSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 0 - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -2770,7 +2770,7 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} cfg.SessionSCfg().ResSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -2911,7 +2911,7 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.SessionSCfg().ThreshSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} cfg.SessionSCfg().ResSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -3050,7 +3050,7 @@ func TestBiRPCv1InitiateSessionWithDigest(t *testing.T) { cfg.SessionSCfg().ThreshSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} cfg.SessionSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 0 - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -3115,7 +3115,7 @@ func TestBiRPCv1UpdateSession1(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, }) @@ -3202,7 +3202,7 @@ func TestBiRPCv1UpdateSession2(t *testing.T) { chanInternal := make(chan rpcclient.ClientConnector, 1) chanInternal <- clnt cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, }) @@ -3282,7 +3282,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, }) @@ -3416,7 +3416,7 @@ func TestBiRPCv1TerminateSession2(t *testing.T) { chanInternal <- clnt cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().ResSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, }) @@ -3466,7 +3466,7 @@ func TestBiRPCv1ProcessCDR(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -3519,7 +3519,7 @@ func TestBiRPCv1ProcessMessage1(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.SessionSCfg().AttrSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, }) @@ -3622,7 +3622,7 @@ func TestBiRPCv1ProcessMessage2(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.SessionSCfg().ResSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRoutes): chanInternal, @@ -3742,7 +3742,7 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { chanInternal <- clnt cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, @@ -3855,7 +3855,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, @@ -3925,7 +3925,7 @@ func TestBiRPCv1ProcessEventResources(t *testing.T) { chanInternal <- clnt cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, @@ -4044,7 +4044,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheEventCharges].Limit = -1 cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, @@ -4156,7 +4156,7 @@ func TestBiRPCv1ProcessEventRals2(t *testing.T) { cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} cfg.SessionSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} cfg.SessionSCfg().ReplicationConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, @@ -4290,7 +4290,7 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} cfg.SessionSCfg().CDRsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs)} - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs): chanInternal, @@ -4400,7 +4400,7 @@ func TestBiRPCv1GetCost(t *testing.T) { chanInternal <- clnt cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - data := engine.NewInternalDB(nil, nil, true) + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal,